Function at 0x4937b0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
push edi
push esi
push ebx
xor ebx, ebx
sub esp, 0xac
mov edi, dword [0x57f198]
mov eax, dword [esp + 0xc0]
mov ebp, dword [esp + 0xc4]
lea ecx, [esp + 0x68]
mov esi, dword [esp + 0xcc]
mov dword [esp], eax
call edi
sub esp, 4
mov eax, dword [esp + 0xc8]
mov eax, dword [eax]
mov edx, dword [eax + 4]
test edx, edx
jne 0x493a30
mov eax, esi
test al, al
je 0x4938c0
cmp word [ebp], 0x400c
je 0x493a91
cmp ebx, 0x400
jne 0x493bae
mov eax, dword [esp + 0xc8]
mov dword [esp + 4], 0x564ea7
mov dword [esp], eax
call dword [0x57ef1c]
test eax, eax
je 0x493e30
lea ecx, [esp + 0x68]
call dword [0x57f400]
cmp eax, 0x10
ja 0x493940
cmp eax, 0xe
jae 0x4946d0
cmp eax, 5
je 0x494740
ja 0x493be0
cmp eax, 2
je 0x494824
ja 0x4938f6
test eax, eax
jne 0x493eb8
cmp word [ebp], 0x400a
je 0x495417
mov edx, 0xa
mov dword [ebp + 8], 0x80020004
mov ebx, 1
mov word [ebp], dx
mov dword [esp], 4
call fcn.00499b08
mov edx, dword [ebp + 8]
or word [ebp], 0x4000
mov dword [ebp + 8], eax
mov dword [eax], edx
jmp 0x493eec
lea ecx, [esp + 0x68]
call dword [0x57f400]
cmp eax, 0x10
ja 0x493940
cmp eax, 0xe
jae 0x4946d0
cmp eax, 5
je 0x494740
ja 0x493ad0
cmp eax, 2
je 0x494824
jbe 0x493eb0
cmp eax, 3
je 0x494124
cmp eax, 4
jne 0x4945e0
mov eax, esi
test al, al
jne 0x494974
mov eax, 0x14
lea ecx, [esp + 0x68]
mov ebx, 1
mov word [ebp], ax
mov dword [esp], 0
call dword [0x57f3f0]
sub esp, 4
mov dword [ebp + 8], eax
mov dword [ebp + 0xc], edx
jmp 0x493eec
cmp eax, 0x26
je 0x494675
jbe 0x493c41
cmp eax, 0x43
je 0x494330
ja 0x493cb0
cmp eax, 0x40
je 0x494171
cmp eax, 0x41
jne 0x4945e0
mov eax, esi
test al, al
je 0x493982
cmp word [ebp], 0x4009
je 0x495171
mov eax, 9
lea ecx, [esp + 0x68]
mov word [ebp], ax
call dword [0x57f438]
cmp eax, 0x41
je 0x49510a
lea ebx, [esp + 0x88]
mov edi, dword [0x57f544]
mov ecx, ebx
call edi
mov dword [esp + 4], ebx
mov dword [esp], 0x41
lea ecx, [esp + 0x68]
call dword [0x57f424]
sub esp, 8
test al, al
lea eax, [esp + 0x78]
mov dword [esp + 0x10], eax
je 0x4950e4
mov dword [esp], ebx
mov ecx, eax
call dword [0x57f540]
sub esp, 4
mov ecx, ebx
mov ebx, dword [0x57f548]
call ebx
mov edi, dword [esp + 0x10]
mov eax, edi
call fcn.00490840
mov dword [ebp + 8], eax
mov ecx, edi
call ebx
mov eax, esi
test al, al
je 0x493ee7
mov dword [esp], 4
call fcn.00499b08
mov edx, dword [ebp + 8]
mov dword [eax], edx
or word [ebp], 0x4000
mov dword [ebp + 8], eax
mov ebx, esi
jmp 0x493eec
add eax, dword [eax + 0xc]
mov dword [esp], eax
call dword [0x57f170]
test eax, 0xfffffbff
mov ebx, eax
je 0x4937f7
cmp eax, 0x29
je 0x4937f7
lea ecx, [esp + 0x68]
call dword [0x57f400]
cmp eax, ebx
je 0x4937f7
mov dword [esp], ebx
lea ecx, [esp + 0x68]
call dword [0x57f3e8]
sub esp, 4
test al, al
je 0x493d70
mov dword [esp], ebx
lea ecx, [esp + 0x68]
call dword [0x57f178]
sub esp, 4
jmp 0x4937f7
mov eax, dword [ebp + 8]
test eax, eax
je 0x49380d
mov edx, dword [esp + 0xc8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xc0]
mov dword [esp + 0xc], 0
mov dword [esp + 8], edx
mov dword [esp], eax
call fcn.004937b0
mov ebx, eax
jmp 0x493eec
cmp eax, 0xa
je 0x494780
jbe 0x493f03
cmp eax, 0xb
je 0x494000
cmp eax, 0xc
jne 0x4945e0
lea eax, [esp + 0x68]
lea ecx, [esp + 0x78]
mov dword [esp], eax
call dword [0x57f3f4]
sub esp, 4
mov eax, dword [esp + 0x78]
mov ebx, dword [eax + 4]
mov dword [esp + 4], 0
mov dword [esp], 0x11
mov dword [esp + 8], ebx
call dword [0x57fc44]
sub esp, 0xc
test ebx, ebx
mov edi, eax
jne 0x494d50
mov eax, esi
test al, al
je 0x494935
cmp word [ebp], 0x6011
je 0x4953c1
mov ebx, 0x2011
mov dword [ebp + 8], edi
mov word [ebp], bx
mov dword [esp], 4
call fcn.00499b08
mov edx, dword [ebp + 8]
or word [ebp], 0x4000
mov dword [ebp + 8], eax
mov dword [eax], edx
mov eax, dword [esp + 0x78]
mov edx, dword [eax]
test edx, edx
je 0x493b90
cmp edx, 0xffffffff
je 0x493ee7
lock sub dword [eax], 1
mov eax, dword [esp + 0x78]
jne 0x493ee7
nop
mov dword [esp + 8], 4
mov dword [esp + 4], 1
mov dword [esp], eax
call dword [0x57ef28]
jmp 0x493ee7
lea ecx, [esp + 0x68]
call dword [0x57f400]
cmp eax, 0x10
ja 0x493940
cmp eax, 0xe
jae 0x4946d0
cmp eax, 5
je 0x494740
jbe 0x4938e7
lea esi, [esi]
cmp eax, 0xa
je 0x494780
ja 0x493adf
cmp eax, 6
jne 0x493f0c
cmp word [ebp], 0x4005
je 0x4958fb
mov eax, 0x4005
lea ecx, [esp + 0x68]
mov ebx, esi
mov word [ebp], ax
mov dword [esp], 0
call dword [0x57f42c]
sub esp, 4
fstp qword [esp + 0x10]
mov dword [esp], 8
call fcn.00499b08
fld qword [esp + 0x10]
fstp qword [eax]
mov dword [ebp + 8], eax
jmp 0x493eec
cmp eax, 0x22
je 0x494640
jbe 0x4945f0
cmp eax, 0x24
je 0x494200
cmp eax, 0x25
jne 0x4945e0
mov eax, esi
test al, al
je 0x494bd0
cmp word [ebp], 0x4011
je 0x4958db
mov eax, 0x4011
lea ecx, [esp + 0x68]
mov word [ebp], ax
mov dword [esp], 0
call dword [0x57f420]
sub esp, 4
mov ebx, eax
mov dword [esp], 1
call fcn.00499b08
mov byte [eax], bl
mov dword [ebp + 8], eax
mov ebx, esi
jmp 0x493eec
cmp eax, 0x4a
je 0x494280
cmp eax, 0x400
jne 0x4945e0
mov edi, dword [0x57f434]
lea ecx, [esp + 0x68]
mov dword [esp + 0x20], edi
call edi
mov dword [esp], eax
mov eax, dword [0x57ef80]
lea ecx, [esp + 0x58]
mov dword [esp + 4], 0xffffffff
mov dword [esp + 0x28], eax
call eax
sub esp, 8
lea ecx, [esp + 0x68]
call edi
mov dword [esp + 4], str.IDispatch
mov dword [esp], eax
mov ebx, dword [0x57ef18]
call ebx
test eax, eax
jne 0x494d00
mov eax, esi
test al, al
jne 0x494480
mov esi, 9
mov word [ebp], si
lea ecx, [esp + 0x68]
call dword [0x57f174]
mov eax, dword [eax]
test eax, eax
mov dword [ebp + 8], eax
je 0x493d43
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 4]
sub esp, 4
mov eax, dword [esp + 0x58]
mov edx, dword [eax]
test edx, edx
je 0x493b90
cmp edx, 0xffffffff
je 0x493ee7
lock sub dword [eax], 1
mov eax, dword [esp + 0x58]
jne 0x493ee7
jmp 0x493b90
lea eax, [esp + 0x78]
mov dword [esp], ebx
mov ecx, eax
mov dword [esp + 0x10], eax
call dword [0x57f17c]
sub esp, 4
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0x70]
mov dword [esp + 0x18], eax
mov dword [esp + 0x88], eax
and edx, 0x3fffffff
mov eax, dword [esp + 0x6c]
mov ecx, edx
movzx edx, byte [esp + 0x73]
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x90]
and eax, 0xc0000000
or eax, ecx
mov ecx, edx
and edx, 0xffffff80
mov dword [esp + 0x90], eax
shr eax, 0x18
and ecx, 0x40
and eax, 0x3f
or eax, ecx
mov ecx, dword [esp + 0x10]
or edx, eax
mov eax, dword [esp + 0x8c]
mov byte [esp + 0x93], dl
mov edx, dword [esp + 0x18]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0x78], edx
mov dword [esp + 0x80], eax
call dword [0x57f1c0]
jmp 0x4937f7
mov dword [esp], 0x10
call fcn.00499b08
mov ebx, eax
mov eax, dword [0x57ef2c]
mov dword [esp + 0xc], 0
mov dword [esp + 4], ebx
mov dword [esp + 0x88], eax
lea eax, [esp + 0x88]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
call fcn.004937b0
mov eax, dword [esp + 0x88]
mov edx, dword [eax]
test edx, edx
je 0x494431
cmp edx, 0xffffffff
je 0x493e97
lock sub dword [eax], 1
mov eax, dword [esp + 0x88]
je 0x494431
mov edi, 0x400c
mov dword [ebp + 8], ebx
mov ebx, esi
mov word [ebp], di
jmp 0x493eec
test eax, eax
je 0x4948c0
cmp eax, 1
jne 0x4945e0
mov eax, esi
test al, al
jne 0x4948e0
mov ebx, 0xb
lea ecx, [esp + 0x68]
mov word [ebp], bx
call dword [0x57f408]
movzx eax, al
neg eax
mov word [ebp + 8], ax
mov ebx, 1
lea ecx, [esp + 0x68]
call dword [0x57f1c0]
add esp, 0xac
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
ret
cmp eax, 6
je 0x494ba0
cmp eax, 9
jne 0x4945e0
lea eax, [esp + 0x68]
lea ecx, [esp + 0x50]
mov dword [esp], eax
mov eax, dword [0x57f410]
mov dword [esp + 0x20], eax
call eax
sub esp, 4
mov eax, dword [esp + 0x50]
mov edx, dword [eax + 0xc]
sub edx, dword [eax + 8]
mov eax, dword [esp + 0xc8]
mov eax, dword [eax]
mov dword [esp + 0x18], edx
mov eax, dword [eax + 4]
test eax, eax
jne 0x494da0
lea eax, [esp + 0x78]
mov dword [esp + 0x30], 0x29
mov dword [esp + 0x24], eax
mov eax, 0xc
mov word [esp + 0x1c], ax
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x494ed0
movzx eax, word [esp + 0x1c]
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call dword [0x57fc44]
sub esp, 0xc
mov dword [esp + 0x10], eax
mov eax, esi
test al, al
movzx eax, word [esp + 0x1c]
je 0x494950
or ah, 0x60
cmp word [ebp], ax
je 0x49537b
movzx eax, word [esp + 0x1c]
or ah, 0x20
mov word [ebp], ax
mov eax, dword [esp + 0x10]
mov dword [ebp + 8], eax
mov dword [esp], 4
call fcn.00499b08
mov edx, dword [ebp + 8]
or word [ebp], 0x4000
mov dword [ebp + 8], eax
mov dword [eax], edx
lea ecx, [esp + 0x50]
mov ebx, 1
call fcn.004ccb8c
jmp 0x493eec
lea eax, [esp + 0x78]
lea edx, [esp + 0x68]
mov ecx, eax
mov dword [esp + 0x10], eax
mov dword [esp], edx
call dword [0x57f3fc]
sub esp, 4
mov eax, dword [esp + 0x78]
mov edi, dword [eax + 0xc]
sub edi, dword [eax + 8]
mov dword [esp + 4], 0
mov dword [esp], 8
mov dword [esp + 0x1c], edi
mov dword [esp + 8], edi
call dword [0x57fc44]
sub esp, 0xc
test edi, edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x88], 0
jle 0x49486b
xor eax, eax
lea ebx, [esp + 0x88]
mov edi, dword [0x57fc60]
mov dword [esp + 0xc4], ebp
mov dword [esp + 0x20], esi
jmp 0x4940a7
cmp eax, 0xffffffff
je 0x49408c
lock sub dword [ebp], 1
je 0x494106
mov eax, dword [esp + 0x88]
add eax, 1
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x88], eax
jge 0x494860
mov edx, dword [esp + 0x78]
add eax, dword [edx + 8]
mov ebp, dword [edx + eax*4 + 0x10]
mov eax, dword [ebp]
add eax, 1
cmp eax, 1
ja 0x494470
mov eax, dword [ebp + 4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
add eax, ebp
mov dword [esp], eax
call dword [0x57fc68]
sub esp, 8
mov esi, eax
mov dword [esp + 8], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 4], ebx
mov dword [esp], eax
call edi
sub esp, 0xc
mov dword [esp], esi
call dword [0x57fc6c]
mov eax, dword [ebp]
sub esp, 4
test eax, eax
jne 0x494080
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], ebp
call dword [0x57ef28]
jmp 0x49408c
mov eax, esi
test al, al
je 0x494a60
cmp word [ebp], 0x4013
je 0x495761
mov eax, 0x4013
lea ecx, [esp + 0x68]
mov word [ebp], ax
mov dword [esp], 0
call dword [0x57f420]
sub esp, 4
mov ebx, eax
mov dword [esp], 4
call fcn.00499b08
mov dword [eax], ebx
mov dword [ebp + 8], eax
mov ebx, esi
jmp 0x493eec
mov eax, esi
test al, al
je 0x494183
cmp word [ebp], 0x4009
je 0x495204
mov eax, 9
lea ecx, [esp + 0x68]
mov word [ebp], ax
call dword [0x57f438]
cmp eax, 0x40
je 0x495135
lea ebx, [esp + 0x88]
mov edi, dword [0x57f4f8]
mov ecx, ebx
call edi
mov dword [esp + 4], ebx
mov dword [esp], 0x40
lea ecx, [esp + 0x68]
call dword [0x57f424]
sub esp, 8
test al, al
lea eax, [esp + 0x78]
mov dword [esp + 0x10], eax
je 0x4950f0
mov dword [esp], ebx
mov ecx, eax
call dword [0x57f4f4]
sub esp, 4
mov ecx, ebx
mov ebx, dword [0x57f4fc]
call ebx
mov edi, dword [esp + 0x10]
mov eax, edi
call fcn.00490be0
jmp 0x4939fa
mov eax, esi
test al, al
je 0x494a10
cmp word [ebp], 0x4012
je 0x49591b
mov edi, 0x4012
lea ecx, [esp + 0x68]
mov word [ebp], di
call dword [0x57f438]
cmp eax, 0x24
je 0x4950c0
lea eax, [esp + 0x88]
mov dword [esp], 0x24
mov dword [esp + 4], eax
lea ecx, [esp + 0x68]
mov ebx, 0
call dword [0x57f424]
sub esp, 8
test al, al
cmovne bx, word [esp + 0x88]
mov dword [esp], 2
call fcn.00499b08
mov word [eax], bx
mov dword [ebp + 8], eax
mov ebx, esi
jmp 0x493eec
lea ecx, [esp + 0x68]
call dword [0x57f438]
cmp eax, 0x4a
je 0x495090
lea ebx, [esp + 0x88]
mov edi, dword [0x57f534]
mov ecx, ebx
call edi
mov dword [esp + 4], ebx
mov dword [esp], 0x4a
lea ecx, [esp + 0x68]
call dword [0x57f424]
sub esp, 8
test al, al
je 0x495160
mov eax, dword [esp + 0x88]
mov dword [esp + 0x88], 0
mov dword [esp + 0x78], eax
lea eax, [esp + 0x78]
mov dword [esp + 0x10], eax
mov ecx, ebx
mov ebx, dword [0x57f538]
call ebx
mov ecx, dword [esp + 0x10]
call dword [0x57f5d4]
mov ecx, dword [esp + 0x10]
mov edi, eax
call ebx
mov eax, esi
test al, al
je 0x494963
movzx eax, word [ebp]
test ah, 0x40
je 0x4950f9
and eax, 0xbfff
cmp eax, 0x17
ja case.0x494323.0
jmp dword [eax*4 + 0x564f48]
mov eax, esi
test al, al
je 0x494c00
cmp word [ebp], 0x4003
je 0x495781
mov eax, 0x4003
lea ecx, [esp + 0x68]
mov word [ebp], ax
call dword [0x57f438]
cmp eax, 0x43
je 0x49549c
xor eax, eax
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0xffff
mov word [esp + 0x94], ax
lea eax, [esp + 0x88]
mov dword [esp + 0x90], 0
mov dword [esp], 0x43
lea ecx, [esp + 0x68]
mov dword [esp + 4], eax
call dword [0x57f424]
sub esp, 8
test al, al
jne 0x49542a
xor edi, edi
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0xffff
mov dword [esp + 0x80], 0
mov word [esp + 0x84], di
lea ecx, [esp + 0x78]
call dword [0x57f5c4]
lea ecx, [esp + 0x78]
mov dword [esp + 0x10], eax
call dword [0x57f5cc]
lea ecx, [esp + 0x78]
mov edi, eax
call dword [0x57f5c8]
mov dword [esp], 4
mov ebx, eax
call fcn.00499b08
mov edx, edi
movzx edi, byte [esp + 0x10]
shl ebx, 0x10
shl edx, 8
and ebx, 0xff0000
movzx edx, dx
or ebx, edx
or edi, ebx
mov ebx, esi
mov dword [eax], edi
mov dword [ebp + 8], eax
jmp 0x493eec
mov dword [esp + 8], 4
mov dword [esp + 4], 1
mov dword [esp], eax
call dword [0x57ef28]
jmp 0x493e97
mov eax, dword [ebp + 8]
mov ebx, esi
mov dword [eax], edi
jmp 0x493eec
mov eax, dword [ebp + 8]
mov ebx, esi
mov word [eax], di
jmp 0x493eec
lock add dword [ebp], 1
jmp 0x4940c1
lea eax, [esp + 0x5c]
mov dword [esp + 0x88], 2
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
mov ecx, eax
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x88]
mov dword [esp + 0x98], 0x564f37
mov dword [esp], eax
call dword [0x57f324]
sub esp, 4
mov eax, dword [esp + 0x5c]
cmp dword [eax + 0x18], 1
jle 0x4944e2
or dword [eax + 0x2c], 1
lea ecx, [esp + 0x68]
mov eax, dword [esp + 0x20]
call eax
lea ecx, [esp + 0x60]
mov dword [esp], eax
mov dword [esp + 4], 0xffffffff
mov eax, dword [esp + 0x28]
call eax
sub esp, 8
lea edx, [esp + 0x60]
lea eax, [esp + 0x78]
call fcn.00490d00
mov eax, dword [esp + 0x78]
mov dword [esp + 8], 0
mov ecx, dword [esp + 0x2c]
mov edx, dword [eax + 4]
mov dword [esp + 4], edx
add eax, dword [eax + 0xc]
mov dword [esp], eax
call dword [0x57f078]
sub esp, 0xc
mov ecx, dword [esp + 0x5c]
cmp byte [ecx + 0x14], 0
je 0x494551
mov dword [esp], 0x20
call dword [0x57efd0]
sub esp, 4
mov eax, dword [esp + 0x78]
mov edx, dword [eax]
test edx, edx
je 0x49533a
cmp edx, 0xffffffff
je 0x494572
lock sub dword [eax], 1
mov eax, dword [esp + 0x78]
je 0x49533a
mov eax, dword [esp + 0x60]
mov edx, dword [eax]
test edx, edx
je 0x49531c
cmp edx, 0xffffffff
je 0x494593
lock sub dword [eax], 1
mov eax, dword [esp + 0x60]
je 0x49531c
mov ecx, dword [esp + 0x2c]
call dword [0x57f080]
xor eax, eax
mov dword [ebp + 8], 0
mov word [ebp], ax
mov eax, dword [esp + 0x58]
mov edx, dword [eax]
test edx, edx
je 0x4945c3
cmp edx, 0xffffffff
je 0x4945e0
lock sub dword [eax], 1
mov eax, dword [esp + 0x58]
jne 0x4945e0
mov dword [esp + 8], 4
mov dword [esp + 4], 1
mov dword [esp], eax
call dword [0x57ef28]
lea esi, [esi]
xor ebx, ebx
jmp 0x493eec
cmp eax, 0x21
jne 0x4945e0
mov eax, esi
test al, al
je 0x494b10
cmp word [ebp], 0x4002
je 0x49588c
mov eax, 0x4002
lea ecx, [esp + 0x68]
mov word [ebp], ax
call dword [0x57f438]
cmp eax, 0x21
je 0x4950c0
lea eax, [esp + 0x88]
mov dword [esp], 0x21
mov dword [esp + 4], eax
jmp 0x494244
mov eax, esi
test al, al
je 0x494a90
cmp word [ebp], 0x4010
je 0x495948
mov eax, 0x4010
lea ecx, [esp + 0x68]
mov word [ebp], ax
mov dword [esp], 0
call dword [0x57f404]
jmp 0x493c92
mov eax, esi
test al, al
je 0x494b43
cmp word [ebp], 0x4004
je 0x495721
mov ecx, 0x4004
mov ebx, esi
mov word [ebp], cx
lea ecx, [esp + 0x68]
mov dword [esp], 0
call dword [0x57f42c]
sub esp, 4
fstp qword [esp + 0x10]
mov dword [esp], 4
call fcn.00499b08
fld qword [esp + 0x10]
fstp dword [eax]
mov dword [ebp + 8], eax
jmp 0x493eec
mov eax, esi
test al, al
je 0x494ac0
cmp word [ebp], 0x4007
je 0x495850
lea eax, [esp + 0x68]
mov edx, 0x4007
lea ecx, [esp + 0x88]
mov word [ebp], dx
mov ebx, esi
mov dword [esp], eax
call dword [0x57f3ec]
sub esp, 4
lea eax, [esp + 0x88]
call fcn.004909b0
fstp qword [esp + 0x10]
mov dword [esp], 8
call fcn.00499b08
fld qword [esp + 0x10]
lea ecx, [esp + 0x88]
mov dword [ebp + 8], eax
fstp qword [eax]
call dword [0x57f1d8]
jmp 0x493eec
mov eax, esi
test al, al
jne 0x4949d4
mov eax, 0x15
lea ecx, [esp + 0x68]
mov ebx, 1
mov word [ebp], ax
mov dword [esp], 0
call dword [0x57f3f8]
sub esp, 4
mov dword [ebp + 8], eax
mov dword [ebp + 0xc], edx
jmp 0x493eec
mov eax, esi
test al, al
je 0x494792
cmp word [ebp], 0x4008
je 0x495297
lea eax, [esp + 0x68]
mov edx, 8
lea ecx, [esp + 0x88]
mov word [ebp], dx
mov dword [esp], eax
call dword [0x57f430]
sub esp, 4
mov eax, dword [esp + 0x88]
mov edx, dword [eax + 4]
mov dword [esp + 4], edx
add eax, dword [eax + 0xc]
mov dword [esp], eax
call dword [0x57fc68]
sub esp, 8
mov dword [ebp + 8], eax
mov eax, dword [esp + 0x88]
mov edx, dword [eax]
test edx, edx
je 0x494ce0
cmp edx, 0xffffffff
je 0x4947f9
lock sub dword [eax], 1
mov eax, dword [esp + 0x88]
je 0x494ce0
mov eax, esi
test al, al
je 0x493ee7
mov dword [esp], 4
mov ebx, esi
call fcn.00499b08
mov edx, dword [ebp + 8]
or word [ebp], 0x4000
mov dword [ebp + 8], eax
mov dword [eax], edx
jmp 0x493eec
mov eax, esi
test al, al
je 0x494b70
cmp word [ebp], 0x4003
je 0x495741
mov ecx, 0x4003
mov word [ebp], cx
lea ecx, [esp + 0x68]
mov dword [esp], 0
call dword [0x57f404]
jmp 0x494154
mov ebp, dword [esp + 0xc4]
mov esi, dword [esp + 0x20]
mov eax, esi
test al, al
je 0x494920
cmp word [ebp], 0x6008
je 0x49539e
mov eax, dword [esp + 0x18]
mov edi, 0x2008
mov word [ebp], di
mov dword [ebp + 8], eax
mov dword [esp], 4
call fcn.00499b08
mov edx, dword [ebp + 8]
or word [ebp], 0x4000
mov dword [ebp + 8], eax
mov dword [eax], edx
mov ecx, dword [esp + 0x10]
call fcn.004cc478
jmp 0x493ee7
mov eax, esi
test al, al
jne 0x49387b
mov eax, 0xa
mov dword [ebp + 8], 0x80020004
mov word [ebp], ax
jmp 0x493ee7
cmp word [ebp], 0x400b
je 0x495705
mov edi, 0x400b
lea ecx, [esp + 0x68]
mov word [ebp], di
call dword [0x57f408]
movzx ebx, al
mov dword [esp], 2
neg ebx
call fcn.00499b08
mov word [eax], bx
mov dword [ebp + 8], eax
mov ebx, esi
jmp 0x493eec
mov eax, dword [esp + 0x18]
mov esi, 0x2008
mov word [ebp], si
mov dword [ebp + 8], eax
jmp 0x4948ab
mov ecx, 0x2011
mov dword [ebp + 8], edi
mov word [ebp], cx
jmp 0x493b6e
or ah, 0x20
mov word [ebp], ax
mov eax, dword [esp + 0x10]
mov dword [ebp + 8], eax
jmp 0x493fe4
mov eax, 3
mov dword [ebp + 8], edi
mov word [ebp], ax
jmp 0x493ee7
movzx eax, word [ebp]
cmp ax, 0x4006
je 0x495358
cmp ax, 0x4014
je 0x495358
mov eax, 0x4014
lea ecx, [esp + 0x68]
mov word [ebp], ax
mov dword [esp], 0
call dword [0x57f3f0]
sub esp, 4
mov dword [esp], 8
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.00499b08
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [eax + 4], ebx
mov dword [eax], ecx
mov ebx, esi
mov dword [ebp + 8], eax
jmp 0x493eec
movzx eax, word [ebp]
cmp ax, 0x4006
je 0x495968
cmp ax, 0x4015
je 0x49598b
mov eax, 0x4015
lea ecx, [esp + 0x68]
mov word [ebp], ax
mov dword [esp], 0
call dword [0x57f3f8]
jmp 0x4949a6
mov ebx, 0x12
lea ecx, [esp + 0x68]
mov word [ebp], bx
call dword [0x57f438]
cmp eax, 0x24
je 0x4950d2
lea eax, [esp + 0x88]
mov dword [esp], 0x24
mov dword [esp + 4], eax
lea ecx, [esp + 0x68]
call dword [0x57f424]
sub esp, 8
test al, al
mov eax, 0
cmovne ax, word [esp + 0x88]
jmp 0x493ee3
mov eax, 0x13
lea ecx, [esp + 0x68]
mov ebx, 1
mov word [ebp], ax
mov dword [esp], 0
call dword [0x57f420]
sub esp, 4
mov dword [ebp + 8], eax
jmp 0x493eec
mov eax, 0x10
lea ecx, [esp + 0x68]
mov ebx, 1
mov word [ebp], ax
mov dword [esp], 0
call dword [0x57f404]
sub esp, 4
mov byte [ebp + 8], al
jmp 0x493eec
mov eax, 7
lea ecx, [esp + 0x88]
mov ebx, 1
mov word [ebp], ax
lea eax, [esp + 0x68]
mov dword [esp], eax
call dword [0x57f3ec]
sub esp, 4
lea eax, [esp + 0x88]
call fcn.004909b0
lea ecx, [esp + 0x88]
fstp qword [ebp + 8]
call dword [0x57f1d8]
jmp 0x493eec
mov eax, 2
lea ecx, [esp + 0x68]
mov word [ebp], ax
call dword [0x57f438]
cmp eax, 0x21
je 0x4950d2
lea eax, [esp + 0x88]
mov dword [esp], 0x21
mov dword [esp + 4], eax
jmp 0x494a3e
mov edx, 4
lea ecx, [esp + 0x68]
mov ebx, 1
mov word [ebp], dx
mov dword [esp], 0
call dword [0x57f42c]
sub esp, 4
fstp dword [ebp + 8]
jmp 0x493eec
mov edx, 3
lea ecx, [esp + 0x68]
mov ebx, 1
mov word [ebp], dx
mov dword [esp], 0
call dword [0x57f404]
sub esp, 4
mov dword [ebp + 8], eax
jmp 0x493eec
mov eax, 5
lea ecx, [esp + 0x68]
mov ebx, 1
mov word [ebp], ax
mov dword [esp], 0
call dword [0x57f42c]
sub esp, 4
fstp qword [ebp + 8]
jmp 0x493eec
mov eax, 0x11
lea ecx, [esp + 0x68]
mov ebx, 1
mov word [ebp], ax
mov dword [esp], 0
call dword [0x57f420]
sub esp, 4
mov byte [ebp + 8], al
jmp 0x493eec
mov esi, 3
lea ecx, [esp + 0x68]
mov word [ebp], si
call dword [0x57f438]
cmp eax, 0x43
je 0x4954ce
lea eax, [esp + 0x88]
xor ebx, ebx
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0xffff
mov dword [esp + 0x90], 0
lea ecx, [esp + 0x68]
mov word [esp + 0x94], bx
mov dword [esp + 4], eax
mov dword [esp], 0x43
call dword [0x57f424]
sub esp, 8
test al, al
jne 0x495463
xor ecx, ecx
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0xffff
mov dword [esp + 0x80], 0
mov word [esp + 0x84], cx
lea ecx, [esp + 0x78]
call dword [0x57f5c4]
lea ecx, [esp + 0x78]
mov ebx, eax
call dword [0x57f5cc]
mov esi, eax
lea ecx, [esp + 0x78]
movzx ebx, bl
call dword [0x57f5c8]
shl esi, 8
shl eax, 0x10
and eax, 0xff0000
movzx esi, si
or eax, esi
or eax, ebx
mov ebx, 1
mov dword [ebp + 8], eax
jmp 0x493eec
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [0x57ef28]
jmp 0x4947f9
lea ecx, [esp + 0x68]
mov eax, dword [esp + 0x20]
call eax
mov dword [esp + 4], 0x564e4b
mov dword [esp], eax
call ebx
test eax, eax
jne 0x4953e0
mov ebx, 9
lea ecx, [esp + 0x68]
mov word [ebp], bx
call dword [0x57f174]
mov eax, dword [eax]
mov dword [ebp + 8], eax
mov eax, esi
test al, al
je 0x493d43
or word [ebp], 0x4000
jmp 0x493d43
mov eax, dword [esp + 0x78]
add eax, dword [eax + 0xc]
mov dword [esp], edi
mov dword [esp + 0x10], eax
lea eax, [esp + 0x88]
mov dword [esp + 4], eax
call dword [0x57fc3c]
sub esp, 8
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x88]
mov dword [esp + 8], ebx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00499ba4
mov dword [esp], edi
call dword [0x57fc64]
sub esp, 4
jmp 0x493b32
mov dword [esp], str.QList_
mov ecx, dword [esp + 0xc8]
call dword [0x57f260]
sub esp, 4
test al, al
je 0x493f50
mov eax, dword [esp + 0xc8]
lea ebx, [esp + 0x88]
mov ecx, ebx
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 4], 6
sub eax, 7
mov dword [esp + 8], eax
mov eax, dword [esp + 0xc8]
mov dword [esp], eax
call dword [0x57f26c]
sub esp, 0xc
mov eax, dword [esp + 0x88]
add eax, dword [eax + 0xc]
mov dword [esp], eax
call dword [0x57f170]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x88]
mov edx, dword [eax]
test edx, edx
je 0x495a16
cmp edx, 0xffffffff
je 0x494e34
lock sub dword [eax], 1
mov eax, dword [esp + 0x88]
je 0x495a16
mov eax, dword [esp + 0x30]
cmp eax, 0x10
ja case.0x494e3d.0
jmp dword [eax*4 + 0x564fa8]
lea eax, [esp + 0x80]
mov word [esp + 0x1c], 3
mov dword [esp + 0x24], eax
jmp 0x493f6a
lea eax, [esp + 0x80]
mov word [esp + 0x1c], 0xb
mov dword [esp + 0x24], eax
jmp 0x493f6a
lea eax, [esp + 0x80]
mov word [esp + 0x1c], 7
mov dword [esp + 0x24], eax
jmp 0x493f6a
lea eax, [esp + 0x80]
mov word [esp + 0x1c], 5
mov dword [esp + 0x24], eax
jmp 0x493f6a
lea eax, [esp + 0x80]
mov word [esp + 0x1c], 0x14
mov dword [esp + 0x24], eax
jmp 0x493f6a
lea eax, [esp + 0x78]
mov word [esp + 0x1c], 0xc
mov dword [esp + 0x24], eax
jmp 0x493f6a
mov eax, dword [esp + 0x50]
lea ecx, [esp + 0x54]
mov edx, dword [eax + 8]
mov eax, dword [eax + edx*4 + 0x10]
mov dword [esp], eax
mov eax, dword [esp + 0x20]
call eax
sub esp, 4
mov eax, dword [esp + 0x54]
mov edx, dword [eax + 0xc]
sub edx, dword [eax + 8]
mov dword [esp + 0x44], edx
jne 0x49551e
lea ecx, [esp + 0x54]
call fcn.004ccb8c
movzx eax, word [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov dword [esp + 4], 0
mov dword [esp + 8], ebx
mov dword [esp], eax
call dword [0x57fc44]
sub esp, 0xc
test ebx, ebx
mov dword [esp + 0x10], eax
mov dword [esp + 0x5c], 0
jle 0x493f9b
mov ecx, dword [0x57fc78]
mov eax, dword [0x57fc60]
lea edx, [esp + 0x78]
lea ebx, [esp + 0x88]
mov dword [esp + 0xc4], ebp
mov dword [esp + 0x3c], esi
mov esi, edx
mov dword [esp + 0x38], ecx
mov ecx, dword [0x57f434]
mov dword [esp + 0x34], eax
xor eax, eax
mov dword [esp + 0x20], ecx
lea ecx, [esp + 0x5c]
mov dword [esp + 0x2c], ecx
mov ecx, dword [0x57ef80]
mov dword [esp + 0x28], ecx
lea ecx, [esp + 0x60]
mov ebp, ecx
mov edx, dword [esp + 0x50]
mov ecx, ebx
add eax, dword [edx + 8]
mov eax, dword [edx + eax*4 + 0x10]
mov dword [esp], eax
call edi
sub esp, 4
mov eax, dword [esp + 0x30]
cmp eax, 0x29
je 0x494fb8
mov dword [esp], eax
mov ecx, ebx
call dword [0x57f178]
sub esp, 4
mov eax, dword [esp + 0x38]
mov dword [esp], esi
call eax
sub esp, 4
mov ecx, ebx
mov eax, dword [esp + 0x20]
call eax
mov ecx, ebp
mov dword [esp], eax
mov dword [esp + 4], 0xffffffff
mov eax, dword [esp + 0x28]
call eax
sub esp, 8
mov dword [esp + 0xc], 0
mov dword [esp + 8], ebp
mov dword [esp + 4], esi
mov dword [esp], ebx
call fcn.004937b0
mov eax, dword [esp + 0x60]
mov edx, dword [eax]
test edx, edx
je 0x495070
cmp edx, 0xffffffff
je 0x495013
lock sub dword [eax], 1
mov eax, dword [esp + 0x60]
je 0x495070
mov eax, dword [esp + 0x24]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x10]
mov dword [esp], eax
mov eax, dword [esp + 0x34]
call eax
sub esp, 0xc
mov dword [esp], esi
call fcn.00497cd0
mov ecx, ebx
call dword [0x57f1c0]
mov eax, dword [esp + 0x5c]
add eax, 1
cmp eax, dword [esp + 0x18]
mov dword [esp + 0x5c], eax
jl 0x494f8c
mov ebp, dword [esp + 0xc4]
mov esi, dword [esp + 0x3c]
jmp 0x493f9b
mov dword [esp + 8], 4
mov dword [esp + 4], 1
mov dword [esp], eax
call dword [0x57ef28]
jmp 0x495013
lea ecx, [esp + 0x68]
call dword [0x57f43c]
lea edx, [esp + 0x78]
mov dword [esp], eax
mov dword [esp + 0x10], edx
mov ecx, edx
call dword [0x57f530]
mov ebx, dword [0x57f538]
sub esp, 4
jmp 0x4942ec
lea ecx, [esp + 0x68]
call dword [0x57f43c]
movzx ebx, word [eax]
jmp 0x494261
lea ecx, [esp + 0x68]
call dword [0x57f43c]
movzx eax, word [eax]
jmp 0x493ee3
mov ecx, eax
call edi
jmp 0x4939e5
mov ecx, eax
call edi
jmp 0x4941e6
mov eax, 3
mov dword [ebp + 8], edi
mov word [ebp], ax
jmp 0x493a0b
lea ecx, [esp + 0x68]
call dword [0x57f43c]
lea edx, [esp + 0x78]
mov dword [esp], eax
mov dword [esp + 0x10], edx
mov ecx, edx
call dword [0x57f540]
mov ebx, dword [0x57f548]
sub esp, 4
jmp 0x4939ef
lea ecx, [esp + 0x68]
call dword [0x57f43c]
lea edx, [esp + 0x78]
mov dword [esp], eax
mov dword [esp + 0x10], edx
mov ecx, edx
call dword [0x57f4f4]
mov ebx, dword [0x57f4fc]
sub esp, 4
jmp 0x4941f0
lea eax, [esp + 0x78]
mov dword [esp + 0x10], eax
mov ecx, eax
call edi
jmp 0x4942e2
mov eax, dword [ebp + 8]
mov eax, dword [eax]
test eax, eax
je 0x495185
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
sub esp, 4
lea ecx, [esp + 0x68]
call dword [0x57f438]
cmp eax, 0x41
je 0x4959eb
lea ebx, [esp + 0x88]
mov edi, dword [0x57f544]
mov ecx, ebx
call edi
mov dword [esp + 4], ebx
mov dword [esp], 0x41
lea ecx, [esp + 0x68]
call dword [0x57f424]
sub esp, 8
test al, al
lea eax, [esp + 0x78]
mov dword [esp + 0x10], eax
je 0x4959b7
mov dword [esp], ebx
mov ecx, eax
call dword [0x57f540]
sub esp, 4
mov ecx, ebx
mov ebx, dword [0x57f548]
call ebx
mov edi, dword [ebp + 8]
mov ebp, dword [esp + 0x10]
mov eax, ebp
call fcn.00490840
mov ecx, ebp
mov dword [edi], eax
call ebx
mov ebx, esi
jmp 0x493eec
mov eax, dword [ebp + 8]
mov eax, dword [eax]
test eax, eax
je 0x495218
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
sub esp, 4
lea ecx, [esp + 0x68]
call dword [0x57f438]
cmp eax, 0x40
je 0x4959c0
lea ebx, [esp + 0x88]
mov edi, dword [0x57f4f8]
mov ecx, ebx
call edi
mov dword [esp + 4], ebx
mov dword [esp], 0x40
lea ecx, [esp + 0x68]
call dword [0x57f424]
sub esp, 8
test al, al
lea eax, [esp + 0x78]
mov dword [esp + 0x10], eax
je 0x4959ae
mov dword [esp], ebx
mov ecx, eax
call dword [0x57f4f4]
sub esp, 4
mov ecx, ebx
mov ebx, dword [0x57f4fc]
call ebx
mov edi, dword [ebp + 8]
mov ebp, dword [esp + 0x10]
mov eax, ebp
call fcn.00490be0
mov ecx, ebp
mov dword [edi], eax
call ebx
mov ebx, esi
jmp 0x493eec
mov eax, dword [ebp + 8]
mov eax, dword [eax]
test eax, eax
je 0x4952ac
mov dword [esp], eax
call dword [0x57fc6c]
sub esp, 4
lea eax, [esp + 0x68]
lea ecx, [esp + 0x88]
mov dword [esp], eax
call dword [0x57f430]
sub esp, 4
mov ebx, dword [ebp + 8]
mov eax, dword [esp + 0x88]
mov edx, dword [eax + 4]
mov dword [esp + 4], edx
add eax, dword [eax + 0xc]
mov dword [esp], eax
call dword [0x57fc68]
sub esp, 8
mov dword [ebx], eax
mov eax, dword [esp + 0x88]
mov edx, dword [eax]
test edx, edx
je 0x495500
cmp edx, 0xffffffff
je 0x49530c
lock sub dword [eax], 1
mov eax, dword [esp + 0x88]
je 0x495500
mov ecx, 0x4008
mov ebx, esi
mov word [ebp], cx
jmp 0x493eec
mov dword [esp + 8], 4
mov dword [esp + 4], 1
mov dword [esp], eax
call dword [0x57ef28]
jmp 0x494593
mov dword [esp + 8], 4
mov dword [esp + 4], 1
mov dword [esp], eax
call dword [0x57ef28]
jmp 0x494572
mov ebx, dword [ebp + 8]
lea ecx, [esp + 0x68]
mov dword [esp], 0
call dword [0x57f3f0]
sub esp, 4
mov dword [ebx], eax
mov dword [ebx + 4], edx
mov ebx, esi
jmp 0x493eec
mov eax, dword [ebp + 8]
mov edx, dword [eax]
test edx, edx
je 0x495393
mov dword [esp], edx
call dword [0x57fc48]
mov eax, dword [ebp + 8]
sub esp, 4
mov esi, dword [esp + 0x10]
mov dword [eax], esi
jmp 0x493fe4
mov eax, dword [ebp + 8]
mov edx, dword [eax]
test edx, edx
je 0x4953b6
mov dword [esp], edx
call dword [0x57fc48]
mov eax, dword [ebp + 8]
sub esp, 4
mov esi, dword [esp + 0x18]
mov dword [eax], esi
jmp 0x4948ab
mov eax, dword [ebp + 8]
mov edx, dword [eax]
test edx, edx
je 0x4953d9
mov dword [esp], edx
call dword [0x57fc48]
mov eax, dword [ebp + 8]
sub esp, 4
mov dword [eax], edi
jmp 0x493b6e
lea ecx, [esp + 0x68]
mov eax, dword [esp + 0x20]
call eax
mov dword [esp + 4], str.IUnknown
mov dword [esp], eax
call ebx
test eax, eax
jne 0x495a46
mov eax, esi
test al, al
jne 0x494480
mov ecx, 0xd
mov word [ebp], cx
jmp 0x493d25
mov eax, dword [ebp + 8]
mov ebx, 1
mov dword [eax], 0x80020004
jmp 0x493eec
mov eax, dword [esp + 0x88]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0x80], eax
movzx eax, word [esp + 0x94]
mov word [esp + 0x84], ax
jmp 0x4943d9
mov eax, dword [esp + 0x88]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0x80], eax
movzx eax, word [esp + 0x94]
mov word [esp + 0x84], ax
jmp 0x494c93
lea ecx, [esp + 0x68]
call dword [0x57f43c]
mov edx, dword [eax]
mov dword [esp + 0x78], edx
mov edx, dword [eax + 4]
mov dword [esp + 0x7c], edx
mov edx, dword [eax + 8]
mov dword [esp + 0x80], edx
movzx eax, word [eax + 0xc]
mov word [esp + 0x84], ax
jmp 0x4943d9
lea ecx, [esp + 0x68]
call dword [0x57f43c]
mov edx, dword [eax]
mov dword [esp + 0x78], edx
mov edx, dword [eax + 4]
mov dword [esp + 0x7c], edx
mov edx, dword [eax + 8]
mov dword [esp + 0x80], edx
movzx eax, word [eax + 0xc]
mov word [esp + 0x84], ax
jmp 0x494c93
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [0x57ef28]
jmp 0x49530c
mov edi, dword [esp + 0x18]
lea eax, [esp + 0x88]
mov dword [esp + 0x8c], 0
mov dword [esp + 0x94], 0
mov dword [esp + 0x90], edx
mov dword [esp + 8], eax
mov dword [esp + 4], 2
mov dword [esp + 0x88], edi
mov dword [esp], 0xc
call dword [0x57fc40]
sub esp, 0xc
test edi, edi
mov dword [esp + 0x10], eax
jle 0x4956f7
mov dword [esp + 0x28], 0
mov dword [esp + 0xc4], ebp
mov dword [esp + 0x48], esi
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x50]
lea ecx, [esp + 0x58]
mov dword [esp + 0x60], edx
add edx, dword [eax + 8]
mov eax, dword [eax + edx*4 + 0x10]
mov dword [esp], eax
mov eax, dword [esp + 0x20]
call eax
sub esp, 4
mov edx, dword [esp + 0x58]
mov edi, dword [esp + 0x44]
mov eax, dword [edx + 8]
mov ecx, dword [edx + 0xc]
sub ecx, eax
cmp ecx, edi
cmovg ecx, edi
test ecx, ecx
mov dword [esp + 0x2c], ecx
jle 0x4956d0
mov edi, dword [0x57fc78]
lea esi, [esp + 0x78]
lea ebp, [esp + 0x5c]
xor ebx, ebx
mov dword [esp + 0x40], edi
mov edi, dword [0x57f434]
mov dword [esp + 0x3c], edi
mov edi, dword [0x57ef80]
mov dword [esp + 0x38], edi
lea edi, [esp + 0x60]
mov dword [esp + 0x34], edi
mov edi, dword [0x57fc60]
mov dword [esp + 0x30], edi
add eax, ebx
mov edi, dword [edx + eax*4 + 0x10]
mov eax, dword [esp + 0x40]
mov dword [esp], esi
call eax
sub esp, 4
mov ecx, edi
mov eax, dword [esp + 0x3c]
call eax
mov ecx, ebp
mov dword [esp], eax
mov dword [esp + 4], 0xffffffff
mov eax, dword [esp + 0x38]
call eax
sub esp, 8
mov dword [esp + 0xc], 0
mov dword [esp + 8], ebp
mov dword [esp + 4], esi
mov dword [esp], edi
call fcn.004937b0
mov eax, dword [esp + 0x5c]
mov edx, dword [eax]
test edx, edx
je 0x4956b0
cmp edx, 0xffffffff
je 0x495667
lock sub dword [eax], 1
mov eax, dword [esp + 0x5c]
je 0x4956b0
mov eax, dword [esp + 0x24]
mov dword [esp + 0x64], ebx
add ebx, 1
mov dword [esp + 8], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x10]
mov dword [esp], eax
mov eax, dword [esp + 0x30]
call eax
sub esp, 0xc
mov dword [esp], esi
call fcn.00497cd0
cmp ebx, dword [esp + 0x2c]
je 0x4956d0
mov edx, dword [esp + 0x58]
mov eax, dword [edx + 8]
jmp 0x495606
mov dword [esp + 8], 4
mov dword [esp + 4], 1
mov dword [esp], eax
call dword [0x57ef28]
jmp 0x495667
lea ecx, [esp + 0x58]
call fcn.004ccb8c
add dword [esp + 0x28], 1
mov eax, dword [esp + 0x28]
cmp eax, dword [esp + 0x18]
jne 0x495588
mov ebp, dword [esp + 0xc4]
mov esi, dword [esp + 0x48]
lea ecx, [esp + 0x54]
call fcn.004ccb8c
jmp 0x493f9b
lea ecx, [esp + 0x68]
mov ebx, esi
call dword [0x57f408]
mov edx, dword [ebp + 8]
movzx eax, al
neg eax
mov word [edx], ax
jmp 0x493eec
mov dword [esp], 0
lea ecx, [esp + 0x68]
mov ebx, esi
call dword [0x57f42c]
mov eax, dword [ebp + 8]
sub esp, 4
fstp dword [eax]
jmp 0x493eec
mov ebx, dword [ebp + 8]
lea ecx, [esp + 0x68]
mov dword [esp], 0
call dword [0x57f404]
sub esp, 4
mov dword [ebx], eax
mov ebx, esi
jmp 0x493eec
mov ebx, dword [ebp + 8]
lea ecx, [esp + 0x68]
mov dword [esp], 0
call dword [0x57f420]
sub esp, 4
mov dword [ebx], eax
mov ebx, esi
jmp 0x493eec
lea ecx, [esp + 0x68]
call dword [0x57f438]
cmp eax, 0x43
je 0x495b7d
xor eax, eax
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0xffff
mov word [esp + 0x94], ax
lea eax, [esp + 0x88]
mov dword [esp + 0x90], 0
mov dword [esp], 0x43
lea ecx, [esp + 0x68]
mov dword [esp + 4], eax
call dword [0x57f424]
sub esp, 8
test al, al
jne 0x495b44
xor eax, eax
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0xffff
mov dword [esp + 0x80], 0
mov word [esp + 0x84], ax
lea ecx, [esp + 0x78]
call dword [0x57f5c4]
lea ecx, [esp + 0x78]
mov edi, eax
call dword [0x57f5cc]
mov ebx, eax
lea ecx, [esp + 0x78]
shl ebx, 8
call dword [0x57f5c8]
shl eax, 0x10
movzx ecx, bx
mov edx, dword [ebp + 8]
and eax, 0xff0000
mov ebx, esi
or eax, ecx
mov ecx, edi
movzx ecx, cl
or eax, ecx
mov dword [edx], eax
jmp 0x493eec
lea eax, [esp + 0x68]
lea ecx, [esp + 0x88]
mov dword [esp], eax
call dword [0x57f3ec]
mov ebx, dword [ebp + 8]
sub esp, 4
lea eax, [esp + 0x88]
call fcn.004909b0
lea ecx, [esp + 0x88]
fstp qword [ebx]
mov ebx, esi
call dword [0x57f1d8]
jmp 0x493eec
mov ebx, dword [ebp + 8]
lea ecx, [esp + 0x68]
call dword [0x57f438]
cmp eax, 0x21
je 0x495a34
lea eax, [esp + 0x88]
mov dword [esp], 0x21
mov dword [esp + 4], eax
lea ecx, [esp + 0x68]
call dword [0x57f424]
sub esp, 8
test al, al
mov eax, 0
cmovne ax, word [esp + 0x88]
mov word [ebx], ax
mov ebx, esi
jmp 0x493eec
mov dword [esp], 0
lea ecx, [esp + 0x68]
mov ebx, esi
call dword [0x57f420]
mov edx, dword [ebp + 8]
sub esp, 4
mov byte [edx], al
jmp 0x493eec
mov ebx, dword [ebp + 8]
lea ecx, [esp + 0x68]
mov dword [esp], 0
call dword [0x57f42c]
sub esp, 4
fstp qword [ebx]
mov ebx, esi
jmp 0x493eec
mov ebx, dword [ebp + 8]
lea ecx, [esp + 0x68]
call dword [0x57f438]
cmp eax, 0x24
je 0x495a34
lea eax, [esp + 0x88]
mov dword [esp], 0x24
mov dword [esp + 4], eax
jmp 0x4958b4
mov dword [esp], 0
lea ecx, [esp + 0x68]
mov ebx, esi
call dword [0x57f404]
mov edx, dword [ebp + 8]
sub esp, 4
mov byte [edx], al
jmp 0x493eec
lea ecx, [esp + 0x68]
mov dword [esp], 0
mov ebx, esi
call dword [0x57f3f8]
mov ecx, dword [ebp + 8]
sub esp, 4
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x493eec
mov ebx, dword [ebp + 8]
lea ecx, [esp + 0x68]
mov dword [esp], 0
call dword [0x57f3f8]
sub esp, 4
mov dword [ebx], eax
mov dword [ebx + 4], edx
mov ebx, esi
jmp 0x493eec
mov ecx, eax
call edi
jmp 0x495272
mov ecx, eax
call edi
jmp 0x4951df
lea edi, [esp + 0x78]
lea ecx, [esp + 0x68]
call dword [0x57f43c]
mov dword [esp + 0x10], edi
mov dword [esp], eax
mov ecx, edi
call dword [0x57f4f4]
mov ebx, dword [0x57f4fc]
sub esp, 4
jmp 0x49527c
lea edi, [esp + 0x78]
lea ecx, [esp + 0x68]
call dword [0x57f43c]
mov dword [esp + 0x10], edi
mov dword [esp], eax
mov ecx, edi
call dword [0x57f540]
mov ebx, dword [0x57f548]
sub esp, 4
jmp 0x4951e9
mov dword [esp + 8], 4
mov dword [esp + 4], 1
mov dword [esp], eax
call dword [0x57ef28]
jmp 0x494e34
lea ecx, [esp + 0x68]
call dword [0x57f43c]
movzx eax, word [eax]
jmp 0x4958d1
lea eax, [esp + 0x58]
mov dword [esp], eax
call dword [0x57f23c]
test eax, eax
je 0x4945aa
mov eax, esi
test al, al
je 0x495baf
lea eax, [esp + 0x5c]
mov dword [esp + 0x88], 2
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
mov ecx, eax
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x88]
mov dword [esp + 0x98], 0x564f37
mov dword [esp], eax
call dword [0x57f324]
push edx
mov eax, dword [esp + 0x5c]
cmp dword [eax + 0x18], 1
jle 0x495ac5
or dword [eax + 0x2c], 1
mov eax, dword [esp + 0x28]
lea esi, [esp + 0x60]
mov dword [esp + 4], 0xffffffff
mov dword [esp], str.subtype
mov ecx, esi
call eax
push eax
push eax
mov edx, esi
lea eax, [esp + 0x78]
mov dword [esp + 0x10], eax
call fcn.00490d00
mov eax, dword [esp + 0x78]
mov dword [esp + 8], 0
mov ecx, dword [esp + 0x2c]
mov edx, dword [eax + 4]
mov dword [esp + 4], edx
add eax, dword [eax + 0xc]
mov dword [esp], eax
call dword [0x57f078]
sub esp, 0xc
mov ecx, dword [esp + 0x5c]
cmp byte [ecx + 0x14], 0
je 0x495b2f
mov dword [esp], 0x20
call dword [0x57efd0]
push eax
mov ecx, dword [esp + 0x10]
call fcn.0049a898
mov ecx, esi
call fcn.0049a898
jmp 0x494593
mov eax, dword [esp + 0x88]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0x80], eax
movzx eax, word [esp + 0x94]
mov word [esp + 0x84], ax
jmp 0x49580b
lea ecx, [esp + 0x68]
call dword [0x57f43c]
mov edx, dword [eax]
mov dword [esp + 0x78], edx
mov edx, dword [eax + 4]
mov dword [esp + 0x7c], edx
mov edx, dword [eax + 8]
mov dword [esp + 0x80], edx
movzx eax, word [eax + 0xc]
mov word [esp + 0x84], ax
jmp 0x49580b
lea ecx, [esp + 0x68]
call dword [0x57f174]
mov ecx, dword [eax]
mov eax, dword [0x5665f4]
mov word [ebp], 9
mov dword [esp + 0x88], eax
movzx eax, word [0x5665f8]
add ecx, 8
mov word [esp + 0x8c], ax
movzx eax, word [0x5665fa]
mov word [esp + 0x8e], ax
movzx eax, byte [0x5665fc]
mov byte [esp + 0x90], al
movzx eax, byte [0x5665fd]
mov byte [esp + 0x91], al
movzx eax, byte [0x5665fe]
mov byte [esp + 0x92], al
movzx eax, byte [0x5665ff]
mov byte [esp + 0x93], al
movzx eax, byte [0x566600]
mov byte [esp + 0x94], al
movzx eax, byte [0x566601]
mov byte [esp + 0x95], al
movzx eax, byte [0x566602]
mov byte [esp + 0x96], al
movzx eax, byte [0x566603]
mov byte [esp + 0x97], al
lea eax, [ebp + 8]
mov dword [esp + 4], eax
lea eax, [esp + 0x88]
mov dword [esp], eax
call fcn.0047f7f0
push eax
push eax
jmp 0x493d43