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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0xac
mov esi, dword [esp + 0xc4]
mov edi, dword [esp + 0xc0]
mov ebp, dword [esp + 0xcc]
movzx eax, word [esi]
mov dword [edi + 8], 0x80000000
mov dword [edi], 0
cmp ax, 0x2011
je 0x47fc99
jbe 0x47edf0
cmp ax, 0x400d
je 0x47f6a0
ja 0x47ee50
cmp ax, 0x4006
je 0x47f340
jbe 0x47ef10
cmp ax, 0x4009
je 0x47feb0
ja 0x47f7f4
cmp ax, 0x4007
je 0x47f590
cmp ax, 0x4008
jne 0x47f004
mov dword [esp + 8], 0xffffffff
mov eax, dword [esi + 8]
lea ebx, [esp + 0x70]
mov eax, dword [eax]
mov dword [esp + 4], eax
mov dword [esp], ebx
call dword [0x5445e0]
mov dword [esp], ebx
lea ecx, [esp + 0x80]
call dword [0x544660]
mov eax, dword [edi]
sub esp, 4
mov edx, dword [edi + 4]
mov ecx, eax
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x94], edx
movzx edx, byte [edi + 0xb]
mov ebx, dword [edi + 8]
mov dword [edi], eax
mov eax, dword [esp + 0x84]
and ebx, 0x3fffffff
mov dword [edi + 4], eax
mov eax, dword [esp + 0x88]
mov dword [edi + 8], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 0x80], ecx
lea ecx, [esp + 0x80]
and eax, 0xc0000000
or eax, ebx
mov ebx, edx
and edx, 0xffffff80
mov dword [esp + 0x98], eax
shr eax, 0x18
and ebx, 0x40
and eax, 0x3f
or eax, ebx
or edx, eax
mov eax, dword [esp + 0x94]
mov byte [esp + 0x9b], dl
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 0x88], eax
call dword [0x544690]
mov eax, dword [esp + 0x70]
mov edx, dword [eax]
test edx, edx
je 0x47edd2
cmp edx, 0xffffffff
je 0x47f1dd
lock sub dword [eax], 1
mov eax, dword [esp + 0x70]
jne 0x47f1dd
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [0x5442ec]
jmp 0x47f1dd
cmp ax, 0xd
je 0x47f6a0
ja 0x47ee90
cmp ax, 6
je 0x47f120
jbe 0x47eed0
cmp ax, 9
je 0x47feb0
ja 0x47f820
cmp ax, 7
je 0x47f440
cmp ax, 8
jne 0x47f004
mov dword [esp + 8], 0xffffffff
lea ebx, [esp + 0x70]
mov eax, dword [esi + 8]
jmp 0x47ecf4
cmp ax, 0x4015
je 0x47ff90
ja 0x47efb0
cmp ax, 0x4012
je 0x47ffa0
ja 0x47eff0
cmp ax, 0x4010
je 0x47f5c0
cmp ax, 0x4011
jne 0x47f004
mov eax, dword [esi + 8]
movzx eax, byte [eax]
jmp 0x47ef92
cmp ax, 0x14
je 0x47f120
jbe 0x47ef51
cmp ax, 0x17
je 0x47ffb0
ja 0x47f873
cmp ax, 0x15
je 0x47f560
cmp ax, 0x16
je 0x47ef8f
jmp 0x47f004
cmp ax, 3
je 0x47ef75
jbe 0x47fba0
cmp ax, 4
je 0x47f540
cmp ax, 5
jne 0x47f004
fld qword [esi + 8]
lea ecx, [esp + 0x80]
fstp qword [esp]
call dword [0x544670]
sub esp, 8
jmp 0x47f140
cmp ax, 0x4003
je 0x47f0f4
jbe 0x47fc70
cmp ax, 0x4004
je 0x47f5a0
cmp ax, 0x4005
jne 0x47f004
mov eax, dword [esi + 8]
lea ecx, [esp + 0x80]
fld qword [eax]
fstp qword [esp]
call dword [0x544670]
sub esp, 8
jmp 0x47f140
cmp ax, 0x11
je 0x47fea4
jbe 0x47fdb0
cmp ax, 0x12
je 0x47f582
cmp ax, 0x13
jne 0x47f004
cmp ebp, 0x43
je 0x47f720
test ebp, ebp
je 0x480010
cmp ebp, 0x4a
je 0x480070
mov eax, dword [esi + 8]
mov dword [esp], eax
lea ecx, [esp + 0x80]
call dword [0x544678]
sub esp, 4
jmp 0x47f140
cmp ax, 0x6008
je 0x47fdc3
ja 0x47fc85
cmp ax, 0x4016
je 0x47f10e
cmp ax, 0x4017
jne 0x47f004
mov eax, dword [esi + 8]
lea ecx, [esp + 0x80]
mov eax, dword [eax]
mov dword [esp], eax
call dword [0x544684]
jmp 0x47efa2
cmp ax, 0x4013
je 0x47f0f4
cmp ax, 0x4014
je 0x47f340
test ah, 0x20
je 0x47f1dd
test ah, 0x40
mov ebx, dword [esi + 8]
je 0x47f017
mov ebx, dword [ebx]
mov eax, dword [0x5446ec]
test ebx, ebx
mov dword [esp + 0x60], eax
je 0x47f02e
cmp word [ebx], 1
je 0x480fbb
lea eax, [esp + 0x60]
lea ecx, [esp + 0x80]
mov dword [esp + 0x30], eax
mov dword [esp], eax
call dword [0x544658]
mov eax, dword [edi]
sub esp, 4
mov edx, dword [edi + 4]
mov ebx, dword [edi + 8]
mov ecx, eax
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x94], edx
movzx edx, byte [edi + 0xb]
and ebx, 0x3fffffff
mov dword [esp + 0x80], ecx
lea ecx, [esp + 0x80]
mov dword [edi], eax
mov eax, dword [esp + 0x84]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x88]
mov dword [edi + 8], eax
mov eax, dword [esp + 0x98]
and eax, 0xc0000000
or eax, ebx
mov ebx, edx
and edx, 0xffffff80
mov dword [esp + 0x98], eax
shr eax, 0x18
and ebx, 0x40
and eax, 0x3f
or eax, ebx
or edx, eax
mov eax, dword [esp + 0x94]
mov byte [esp + 0x9b], dl
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 0x88], eax
call dword [0x544690]
mov ecx, dword [esp + 0x30]
call fcn.004ae110
jmp 0x47f1dd
cmp ebp, 0x43
je 0x47f7e3
test ebp, ebp
je 0x480152
cmp ebp, 0x4a
je 0x4801b0
mov eax, dword [esi + 8]
mov eax, dword [eax]
jmp 0x47ef92
mov eax, dword [esi + 8]
mov edx, dword [esi + 0xc]
mov dword [esp], eax
mov dword [esp + 4], edx
lea ecx, [esp + 0x80]
call dword [0x544688]
sub esp, 8
lea esi, [esi]
mov eax, dword [edi]
mov edx, dword [edi + 4]
mov ecx, eax
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x94], edx
movzx edx, byte [edi + 0xb]
mov ebx, dword [edi + 8]
mov dword [edi], eax
mov eax, dword [esp + 0x84]
and ebx, 0x3fffffff
mov dword [edi + 4], eax
mov eax, dword [esp + 0x88]
mov dword [edi + 8], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 0x80], ecx
lea ecx, [esp + 0x80]
and eax, 0xc0000000
or eax, ebx
mov ebx, edx
and edx, 0xffffff80
mov dword [esp + 0x98], eax
shr eax, 0x18
and ebx, 0x40
and eax, 0x3f
or eax, ebx
or edx, eax
mov eax, dword [esp + 0x94]
mov byte [esp + 0x9b], dl
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 0x88], eax
call dword [0x544690]
test ebp, ebp
jne 0x47f202
mov eax, dword [esp + 0xc8]
mov eax, dword [eax]
mov eax, dword [eax + 4]
test eax, eax
jne 0x47f2e0
add esp, 0xac
mov eax, edi
pop ebx
pop esi
pop edi
pop ebp
ret
cmp ebp, 0x29
je 0x47f1f5
cmp ebp, 0xffffffff
je 0x47f1f5
mov ecx, edi
mov esi, dword [0x54495c]
call esi
cmp eax, ebp
je 0x47f1f5
mov dword [esp], ebp
mov ecx, edi
mov ebx, dword [0x54493c]
call ebx
sub esp, 4
test al, al
jne 0x47f831
cmp ebp, 0xb
je 0x47f350
mov eax, dword [edi]
mov ecx, dword [edi + 4]
mov ebx, dword [edi + 8]
mov dword [edi], 0
mov edx, eax
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0x94], ecx
movzx ecx, byte [edi + 0xb]
and ebx, 0x3fffffff
mov dword [edi + 8], 0x80000000
mov dword [esp + 0x80], edx
mov dword [edi + 4], eax
mov eax, dword [esp + 0x98]
and eax, 0xc0000000
or eax, ebx
mov ebx, ecx
and ecx, 0xffffff80
mov dword [esp + 0x98], eax
shr eax, 0x18
and ebx, 0x40
and eax, 0x3f
or eax, ebx
or eax, ecx
lea ecx, [esp + 0x80]
mov byte [esp + 0x9b], al
mov eax, dword [esp + 0x94]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 0x88], eax
call dword [0x544690]
jmp 0x47f1f5
mov eax, dword [esp + 0xc8]
mov dword [esp + 4], 0x5243c7
mov dword [esp], eax
call dword [0x5442e4]
test eax, eax
je 0x47f1f5
mov eax, dword [esp + 0xc8]
mov eax, dword [eax]
add eax, dword [eax + 0xc]
mov dword [esp], eax
call dword [0x54463c]
cmp eax, 0x29
mov ebp, eax
setne dl
cmp eax, 0xffffffff
setne al
test dl, al
je 0x47f1f5
test ebp, ebp
je 0x47f1f5
jmp 0x47f20c
mov eax, dword [esi + 8]
mov edx, dword [eax + 4]
mov eax, dword [eax]
jmp 0x47f126
mov ecx, edi
call esi
cmp eax, 9
jne 0x47f23b
mov eax, dword [0x5446ec]
mov dword [esp], edi
mov dword [esp + 0x6c], eax
lea eax, [esp + 0x70]
mov ecx, eax
mov dword [esp + 0x24], eax
call dword [0x54496c]
sub esp, 4
mov eax, dword [esp + 0x70]
lea edx, [eax + 0x10]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
lea esi, [edx + ecx*4]
lea eax, [edx + eax*4]
cmp eax, esi
je 0x481191
lea ecx, [esp + 0x6c]
mov byte [esp + 0x28], 1
mov ebp, eax
mov dword [esp + 0xc0], edi
mov dword [esp + 0x34], ecx
jmp 0x47f3c0
mov byte [esp + 0x28], 0
add esi, 4
cmp ebp, esi
je 0x480adc
mov edi, dword [esi]
mov dword [esp], 0xa
mov ecx, edi
call ebx
sub esp, 4
test al, al
je 0x47f3b0
lea ecx, [esp + 0x90]
mov dword [esp], edi
call dword [0x54498c]
sub esp, 4
lea eax, [esp + 0x90]
mov ecx, dword [esp + 0x34]
mov dword [esp], eax
call fcn.004ad830
sub esp, 4
mov eax, dword [esp + 0x90]
mov edx, dword [eax]
test edx, edx
je 0x47f41c
cmp edx, 0xffffffff
je 0x47f3b5
lock sub dword [eax], 1
mov eax, dword [esp + 0x90]
jne 0x47f3b5
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [0x5442ec]
jmp 0x47f3b5
lea ebx, [esp + 0x70]
fld qword [esi + 8]
fstp qword [esp]
mov eax, ebx
call fcn.0047e620
lea ecx, [esp + 0x80]
mov dword [esp], ebx
call dword [0x544664]
mov eax, dword [edi]
sub esp, 4
mov edx, dword [edi + 4]
mov ecx, eax
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x94], edx
movzx edx, byte [edi + 0xb]
mov esi, dword [edi + 8]
mov dword [edi], eax
mov eax, dword [esp + 0x84]
and esi, 0x3fffffff
mov dword [edi + 4], eax
mov eax, dword [esp + 0x88]
mov dword [edi + 8], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 0x80], ecx
lea ecx, [esp + 0x80]
and eax, 0xc0000000
or eax, esi
mov esi, edx
and edx, 0xffffff80
mov dword [esp + 0x98], eax
shr eax, 0x18
and esi, 0x40
and eax, 0x3f
or eax, esi
or edx, eax
mov eax, dword [esp + 0x94]
mov byte [esp + 0x9b], dl
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 0x88], eax
call dword [0x544690]
mov ecx, ebx
call dword [0x5446b0]
cmp ebp, 0xe
je 0x47ffd0
test ebp, ebp
je 0x480644
cmp ebp, 0xf
jne 0x47f202
mov dword [esp], 0xf
mov ecx, edi
call dword [0x544644]
sub esp, 4
jmp 0x47f1dd
fld dword [esi + 8]
lea ecx, [esp + 0x80]
fstp dword [esp]
call dword [0x544674]
jmp 0x47efa2
mov eax, dword [esi + 8]
mov edx, dword [esi + 0xc]
mov dword [esp], eax
mov dword [esp + 4], edx
lea ecx, [esp + 0x80]
call dword [0x54468c]
sub esp, 8
jmp 0x47f140
movzx eax, word [esi + 8]
jmp 0x47ef92
mov eax, dword [esi + 8]
lea ebx, [esp + 0x70]
fld qword [eax]
jmp 0x47f447
mov eax, dword [esi + 8]
lea ecx, [esp + 0x80]
fld dword [eax]
fstp dword [esp]
call dword [0x544674]
jmp 0x47efa2
mov eax, dword [esi + 8]
movsx eax, byte [eax]
mov dword [esp], eax
lea ecx, [esp + 0x80]
call dword [0x544678]
mov eax, dword [edi]
sub esp, 4
mov edx, dword [edi + 4]
mov ecx, eax
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x94], edx
movzx edx, byte [edi + 0xb]
mov ebx, dword [edi + 8]
mov dword [edi], eax
mov eax, dword [esp + 0x84]
and ebx, 0x3fffffff
mov dword [edi + 4], eax
mov eax, dword [esp + 0x88]
mov dword [edi + 8], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 0x80], ecx
lea ecx, [esp + 0x80]
and eax, 0xc0000000
or eax, ebx
mov ebx, edx
and edx, 0xffffff80
mov dword [esp + 0x98], eax
shr eax, 0x18
and ebx, 0x40
and eax, 0x3f
or eax, ebx
or edx, eax
mov eax, dword [esp + 0x94]
mov byte [esp + 0x9b], dl
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 0x88], eax
call dword [0x544690]
mov dword [esp + 4], str.char
mov eax, dword [esp + 0xc8]
mov dword [esp], eax
call dword [0x5442e4]
test eax, eax
jne 0x47f1dd
mov ebp, 2
jmp 0x47f20c
test ah, 0x40
mov dword [esp + 0x70], 0
mov edx, dword [esi + 8]
je 0x4806c0
mov eax, dword [edx]
mov dword [esp + 0x70], eax
mov ebx, dword [0x4cf238]
test ebx, ebx
je 0x480714
test byte [edi + 0xb], 0x40
jne 0x480791
mov eax, dword [edi + 8]
and eax, 0x3fffffff
cmp eax, ebx
je 0x4806e0
cmp eax, 7
ja 0x47f6f0
cmp ebx, 7
jbe 0x4806e0
lea eax, [esp + 0x70]
mov dword [esp + 8], 1
mov dword [esp], ebx
lea ecx, [esp + 0x80]
mov dword [esp + 4], eax
call dword [0x544680]
sub esp, 0xc
jmp 0x47f140
mov eax, dword [esi + 8]
lea ebx, [esp + 0x90]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.00487ba0
mov dword [esp + 4], ebx
lea ecx, [esp + 0x70]
mov dword [esp + 8], 0
mov dword [esp], 0x43
call dword [0x544680]
mov eax, dword [edi]
sub esp, 0xc
mov edx, dword [edi + 4]
mov ecx, eax
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x84], edx
movzx edx, byte [edi + 0xb]
mov ebx, dword [edi + 8]
mov dword [edi], eax
mov eax, dword [esp + 0x74]
and ebx, 0x3fffffff
mov dword [edi + 4], eax
mov eax, dword [esp + 0x78]
mov dword [edi + 8], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x70], ecx
lea ecx, [esp + 0x70]
and eax, 0xc0000000
or eax, ebx
mov ebx, edx
and edx, 0xffffff80
mov dword [esp + 0x88], eax
shr eax, 0x18
and ebx, 0x40
and eax, 0x3f
or eax, ebx
or edx, eax
mov eax, dword [esp + 0x84]
mov byte [esp + 0x8b], dl
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x78], eax
call dword [0x544690]
jmp 0x47f1dd
mov eax, dword [esi + 8]
lea ebx, [esp + 0x90]
mov eax, dword [eax]
jmp 0x47f72a
cmp ax, 0x400b
jne 0x4801c0
mov eax, dword [esi + 8]
cmp word [eax], 0
setne al
lea ecx, [esp + 0x80]
movzx eax, al
mov dword [esp], eax
call dword [0x54466c]
jmp 0x47efa2
cmp ax, 0xb
jne 0x4802a0
cmp word [esi + 8], 0
jmp 0x47f805
lea esi, [esp + 0x90]
mov dword [esp], edi
mov ecx, esi
call dword [0x544668]
sub esp, 4
mov ecx, esi
mov dword [esp], ebp
call dword [0x544644]
sub esp, 4
test al, al
je 0x47f866
mov dword [esp], esi
mov ecx, edi
call dword [0x544694]
sub esp, 4
mov ecx, esi
call dword [0x544690]
jmp 0x47f1f5
cmp ax, 0x2008
je 0x47fdc3
cmp ax, 0x200c
jne 0x47f004
mov esi, dword [esi + 8]
test ah, 0x40
mov dword [esp + 0x24], esi
je 0x47f899
mov eax, dword [esi]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x24]
test eax, eax
je 0x4802b0
mov dword [esp], eax
call dword [0x545314]
sub esp, 4
cmp eax, 1
je 0x480947
cmp eax, 2
jne 0x4802b0
mov eax, dword [0x5446ec]
mov ebx, dword [esp + 0x24]
mov esi, dword [0x54531c]
mov dword [esp + 4], 1
mov dword [esp + 0x54], eax
lea eax, [esp + 0x58]
mov dword [esp], ebx
mov dword [esp + 8], eax
call esi
sub esp, 0xc
lea eax, [esp + 0x5c]
mov dword [esp + 0x24], ebx
mov dword [esp], ebx
mov dword [esp + 4], 1
mov ebx, dword [0x545320]
mov dword [esp + 8], eax
call ebx
sub esp, 0xc
lea eax, [esp + 0x60]
mov dword [esp + 4], 2
mov dword [esp + 8], eax
mov eax, dword [esp + 0x24]
mov dword [esp], eax
call esi
sub esp, 0xc
lea eax, [esp + 0x64]
mov dword [esp + 4], 2
mov dword [esp + 8], eax
mov eax, dword [esp + 0x24]
mov dword [esp], eax
call ebx
sub esp, 0xc
mov eax, dword [esp + 0x58]
cmp eax, dword [esp + 0x5c]
mov dword [esp + 0x34], eax
lea eax, [esp + 0x80]
mov dword [esp + 0x28], eax
jg 0x481252
lea ecx, [esp + 0x68]
mov esi, dword [0x544690]
mov dword [esp + 0xc0], edi
mov dword [esp + 0xcc], ebp
mov edi, eax
mov dword [esp + 0x30], ecx
lea ecx, [esp + 0x54]
mov dword [esp + 0x2c], esi
lea esi, [esp + 0x90]
mov dword [esp + 0x48], ecx
mov ecx, dword [0x544658]
mov dword [esp + 0x4c], ecx
mov eax, dword [0x5446ec]
mov ebx, dword [esp + 0x60]
cmp ebx, dword [esp + 0x64]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x70], eax
jg 0x47fa91
lea eax, [esp + 0x70]
lea ebp, [esp + 0x6c]
mov dword [esp + 0x44], eax
mov eax, dword [0x545340]
mov dword [esp + 0x40], eax
mov eax, dword [0x545318]
mov dword [esp + 0x3c], eax
mov eax, dword [0x544344]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x40]
mov dword [esp], edi
call eax
sub esp, 4
mov eax, dword [esp + 0x44]
mov dword [esp + 0x74], ebx
mov dword [esp + 8], edi
mov dword [esp + 4], eax
mov eax, dword [esp + 0x24]
mov dword [esp], eax
mov eax, dword [esp + 0x3c]
call eax
sub esp, 0xc
mov ecx, ebp
mov eax, dword [esp + 0x38]
mov dword [esp + 4], 0xffffffff
mov dword [esp], 0
call eax
sub esp, 8
mov dword [esp + 0xc], 0
mov dword [esp + 8], ebp
mov dword [esp + 4], edi
mov dword [esp], esi
call fcn.0047ec60
mov eax, dword [esp + 0x6c]
mov edx, dword [eax]
test edx, edx
je 0x47fff0
cmp edx, 0xffffffff
je 0x47fa65
lock sub dword [eax], 1
mov eax, dword [esp + 0x6c]
je 0x47fff0
mov dword [esp], edi
add ebx, 1
call fcn.00487be0
mov ecx, dword [esp + 0x30]
mov dword [esp], esi
call fcn.004ae0b0
sub esp, 4
mov ecx, esi
mov eax, dword [esp + 0x2c]
call eax
cmp dword [esp + 0x64], ebx
jge 0x47f9e6
mov ebx, dword [esp + 0x30]
mov eax, dword [esp + 0x4c]
mov ecx, esi
mov dword [esp], ebx
call eax
sub esp, 4
mov ecx, dword [esp + 0x48]
mov dword [esp], esi
call fcn.004ae0b0
sub esp, 4
mov ecx, esi
mov eax, dword [esp + 0x2c]
call eax
mov ecx, ebx
call fcn.004ae110
add dword [esp + 0x34], 1
mov eax, dword [esp + 0x34]
cmp dword [esp + 0x5c], eax
jge 0x47f9a0
mov edi, dword [esp + 0xc0]
mov ebp, dword [esp + 0xcc]
mov esi, dword [esp + 0x48]
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x4c]
mov dword [esp], esi
call eax
mov eax, dword [edi]
mov edx, dword [edi + 4]
sub esp, 4
mov dword [esp + 0x94], edx
mov dword [esp + 0x90], eax
mov ebx, eax
mov eax, dword [edi + 8]
movzx edx, byte [edi + 0xb]
and eax, 0x3fffffff
mov ecx, eax
mov eax, dword [esp + 0x80]
mov dword [edi], eax
mov eax, dword [esp + 0x84]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x88]
mov dword [edi + 8], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 0x80], ebx
and eax, 0xc0000000
or eax, ecx
mov ecx, edx
and edx, 0xffffff80
mov dword [esp + 0x98], eax
shr eax, 0x18
and ecx, 0x40
and eax, 0x3f
or eax, ecx
mov ecx, dword [esp + 0x28]
or edx, eax
mov eax, dword [esp + 0x94]
mov byte [esp + 0x9b], dl
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x2c]
call eax
mov ecx, esi
call fcn.004ae110
jmp 0x47f1dd
cmp ax, 2
jne 0x47f004
movsx eax, word [esi + 8]
mov dword [esp], eax
lea ecx, [esp + 0x80]
call dword [0x544678]
mov eax, dword [edi]
sub esp, 4
mov edx, dword [edi + 4]
mov ecx, eax
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x94], edx
movzx edx, byte [edi + 0xb]
mov ebx, dword [edi + 8]
mov dword [edi], eax
mov eax, dword [esp + 0x84]
and ebx, 0x3fffffff
mov dword [edi + 4], eax
mov eax, dword [esp + 0x88]
mov dword [edi + 8], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 0x80], ecx
lea ecx, [esp + 0x80]
and eax, 0xc0000000
or eax, ebx
mov ebx, edx
and edx, 0xffffff80
mov dword [esp + 0x98], eax
shr eax, 0x18
and ebx, 0x40
and eax, 0x3f
or eax, ebx
or edx, eax
mov eax, dword [esp + 0x94]
mov byte [esp + 0x9b], dl
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 0x88], eax
call dword [0x544690]
mov dword [esp + 4], str.short
jmp 0x47f67e
cmp ax, 0x4002
jne 0x47f004
mov eax, dword [esi + 8]
movsx eax, word [eax]
jmp 0x47fbae
cmp ax, 0x600c
je 0x47f887
cmp ax, 0x6011
jne 0x47f004
test ah, 0x40
mov ebx, dword [esi + 8]
je 0x47fca3
mov ebx, dword [ebx]
mov eax, dword [0x5442f0]
test ebx, ebx
mov dword [esp + 0x68], eax
je 0x47fcba
cmp word [ebx], 1
je 0x480d48
lea eax, [esp + 0x68]
mov dword [esp], eax
lea ecx, [esp + 0x80]
call dword [0x544650]
mov eax, dword [edi]
sub esp, 4
mov edx, dword [edi + 4]
mov ecx, eax
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x94], edx
movzx edx, byte [edi + 0xb]
mov ebx, dword [edi + 8]
mov dword [edi], eax
mov eax, dword [esp + 0x84]
and ebx, 0x3fffffff
mov dword [edi + 4], eax
mov eax, dword [esp + 0x88]
mov dword [edi + 8], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 0x80], ecx
lea ecx, [esp + 0x80]
and eax, 0xc0000000
or eax, ebx
mov ebx, edx
and edx, 0xffffff80
mov dword [esp + 0x98], eax
shr eax, 0x18
and ebx, 0x40
and eax, 0x3f
or eax, ebx
or edx, eax
mov eax, dword [esp + 0x94]
mov byte [esp + 0x9b], dl
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 0x88], eax
call dword [0x544690]
mov eax, dword [esp + 0x68]
mov edx, dword [eax]
test edx, edx
je 0x47fd90
cmp edx, 0xffffffff
je 0x47f1dd
lock sub dword [eax], 1
mov eax, dword [esp + 0x68]
jne 0x47f1dd
nop
mov dword [esp + 8], 4
mov dword [esp + 4], 1
mov dword [esp], eax
call dword [0x5442ec]
jmp 0x47f1dd
cmp ax, 0x10
jne 0x47f004
movsx eax, byte [esi + 8]
jmp 0x47f5c6
test ah, 0x40
mov ebx, dword [esi + 8]
je 0x47fdcd
mov ebx, dword [ebx]
mov eax, dword [0x5446ec]
test ebx, ebx
mov dword [esp + 0x64], eax
je 0x47fde4
cmp word [ebx], 1
je 0x480c1a
lea ebx, [esp + 0x64]
lea ecx, [esp + 0x80]
mov dword [esp], ebx
call dword [0x544654]
mov eax, dword [edi]
sub esp, 4
mov edx, dword [edi + 4]
mov esi, dword [edi + 8]
mov ecx, eax
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x94], edx
movzx edx, byte [edi + 0xb]
and esi, 0x3fffffff
mov dword [esp + 0x80], ecx
lea ecx, [esp + 0x80]
mov dword [edi], eax
mov eax, dword [esp + 0x84]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x88]
mov dword [edi + 8], eax
mov eax, dword [esp + 0x98]
and eax, 0xc0000000
or eax, esi
mov esi, edx
and edx, 0xffffff80
mov dword [esp + 0x98], eax
shr eax, 0x18
and esi, 0x40
and eax, 0x3f
or eax, esi
or edx, eax
mov eax, dword [esp + 0x94]
mov byte [esp + 0x9b], dl
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 0x88], eax
call dword [0x544690]
mov ecx, ebx
call fcn.004adc30
jmp 0x47f1dd
movzx eax, byte [esi + 8]
jmp 0x47ef92
test ah, 0x40
mov dword [esp + 0x54], 0
mov edx, dword [esi + 8]
je 0x4806d0
mov eax, dword [edx]
mov dword [esp + 0x54], eax
cmp ebp, 0x40
je 0x480380
test ebp, ebp
je 0x4807a4
cmp ebp, 0x41
je 0x480816
mov eax, dword [esp + 0xc8]
mov eax, dword [eax]
mov ebx, dword [eax + 4]
test ebx, ebx
je 0x47f1dd
test word [esi], 0x4000
je 0x481271
lea eax, [esi + 8]
lea esi, [esp + 0x90]
mov dword [esp + 4], 0x52436b
mov dword [esp + 0x24], eax
mov dword [esp], esi
call dword [0x5443c4]
mov dword [esp + 8], 1
mov dword [esp + 4], 0
mov dword [esp], esi
call fcn.0048a340
mov edx, dword [esp + 0x90]
mov ebx, eax
mov ecx, dword [edx]
test ecx, ecx
je 0x48131c
add ecx, 1
je 0x47ff5c
lock sub dword [edx], 1
je 0x481315
mov eax, dword [esp + 0x24]
mov ecx, esi
mov dword [esp + 4], eax
mov dword [esp], ebx
call dword [0x54467c]
sub esp, 8
mov dword [esp + 4], esi
mov dword [esp], edi
call fcn.004c2750
mov ecx, esi
call dword [0x544690]
jmp 0x47f1dd
mov eax, dword [esi + 8]
mov edx, dword [eax + 4]
mov eax, dword [eax]
jmp 0x47f566
mov eax, dword [esi + 8]
movzx eax, word [eax]
jmp 0x47ef92
mov eax, dword [esi + 8]
lea ecx, [esp + 0x80]
mov dword [esp], eax
call dword [0x544684]
jmp 0x47efa2
mov dword [esp], 0xe
mov ecx, edi
call dword [0x544644]
sub esp, 4
jmp 0x47f1dd
mov dword [esp + 8], 4
mov dword [esp + 4], 1
mov dword [esp], eax
call dword [0x5442ec]
jmp 0x47fa65
mov eax, dword [esp + 0xc8]
mov dword [esp + 4], str.QColor
mov ebx, dword [0x5442e4]
mov dword [esp], eax
call ebx
test eax, eax
je 0x47f720
mov eax, dword [esp + 0xc8]
mov dword [esp + 4], str.QCursor
mov dword [esp], eax
call ebx
test eax, eax
je 0x480070
mov eax, dword [esp + 0xc8]
mov dword [esp + 4], 0x524394
mov dword [esp], eax
call ebx
test eax, eax
jne 0x47ef8f
lea esi, [esi]
lea edi, [edi]
mov eax, dword [esi + 8]
lea ebx, [esp + 0x70]
mov dword [esp], eax
mov ecx, ebx
call dword [0x544ab0]
sub esp, 4
mov dword [esp + 4], ebx
lea ecx, [esp + 0x80]
mov dword [esp + 8], 0
mov dword [esp], 0x4a
call dword [0x544680]
mov eax, dword [edi]
sub esp, 0xc
mov edx, dword [edi + 4]
mov ecx, eax
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x94], edx
movzx edx, byte [edi + 0xb]
mov esi, dword [edi + 8]
mov dword [edi], eax
mov eax, dword [esp + 0x84]
and esi, 0x3fffffff
mov dword [edi + 4], eax
mov eax, dword [esp + 0x88]
mov dword [edi + 8], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 0x80], ecx
lea ecx, [esp + 0x80]
and eax, 0xc0000000
or eax, esi
mov esi, edx
and edx, 0xffffff80
mov dword [esp + 0x98], eax
shr eax, 0x18
and esi, 0x40
and eax, 0x3f
or eax, esi
or edx, eax
mov eax, dword [esp + 0x94]
mov byte [esp + 0x9b], dl
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 0x88], eax
call dword [0x544690]
mov ecx, ebx
call dword [0x544abc]
jmp 0x47f1dd
mov eax, dword [esp + 0xc8]
mov dword [esp + 4], str.QColor
mov ebx, dword [0x5442e4]
mov dword [esp], eax
call ebx
test eax, eax
je 0x47f7e3
mov eax, dword [esp + 0xc8]
mov dword [esp + 4], str.QCursor
mov dword [esp], eax
call ebx
test eax, eax
je 0x4801b0
mov eax, dword [esp + 0xc8]
mov dword [esp + 4], 0x524394
mov dword [esp], eax
call ebx
test eax, eax
jne 0x47f10e
nop
lea esi, [esi]
mov eax, dword [esi + 8]
lea ebx, [esp + 0x70]
mov eax, dword [eax]
jmp 0x480077
cmp ax, 0x400c
jne 0x47f004
mov eax, dword [esi + 8]
test eax, eax
je 0x47f1dd
mov esi, dword [esp + 0xc8]
lea ebx, [esp + 0x80]
mov dword [esp + 4], eax
mov dword [esp + 0xc], 0
mov dword [esp], ebx
mov dword [esp + 8], esi
call fcn.0047ec60
mov eax, dword [edi]
mov edx, dword [edi + 4]
mov esi, dword [edi + 8]
mov ecx, eax
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x94], edx
movzx edx, byte [edi + 0xb]
and esi, 0x3fffffff
mov dword [esp + 0x80], ecx
mov ecx, ebx
mov dword [edi], eax
mov eax, dword [esp + 0x84]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x88]
mov dword [edi + 8], eax
mov eax, dword [esp + 0x98]
and eax, 0xc0000000
or eax, esi
mov esi, edx
and edx, 0xffffff80
mov dword [esp + 0x98], eax
shr eax, 0x18
and esi, 0x40
and eax, 0x3f
or eax, esi
or edx, eax
mov eax, dword [esp + 0x94]
mov byte [esp + 0x9b], dl
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 0x88], eax
call dword [0x544690]
jmp 0x47f1dd
cmp ax, 0xc
je 0x4801ca
jmp 0x47f004
mov eax, dword [0x5446ec]
lea ebx, [esp + 0x70]
lea ecx, [esp + 0x80]
mov dword [esp], ebx
mov dword [esp + 0x70], eax
call dword [0x544658]
mov eax, dword [edi]
sub esp, 4
mov edx, dword [edi + 4]
mov esi, dword [edi + 8]
mov ecx, eax
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x94], edx
movzx edx, byte [edi + 0xb]
and esi, 0x3fffffff
mov dword [esp + 0x80], ecx
lea ecx, [esp + 0x80]
mov dword [edi], eax
mov eax, dword [esp + 0x84]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x88]
mov dword [edi + 8], eax
mov eax, dword [esp + 0x98]
and eax, 0xc0000000
or eax, esi
mov esi, edx
and edx, 0xffffff80
mov dword [esp + 0x98], eax
shr eax, 0x18
and esi, 0x40
and eax, 0x3f
or eax, esi
or edx, eax
mov eax, dword [esp + 0x94]
mov byte [esp + 0x9b], dl
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 0x88], eax
call dword [0x544690]
mov ecx, ebx
call fcn.004ae110
jmp 0x47f1dd
mov eax, dword [esp + 0x54]
mov dword [esp + 0x58], 0
test eax, eax
je 0x480b05
mov edx, dword [eax]
lea ecx, [esp + 0x58]
mov dword [esp + 4], 0x525dd4
mov dword [esp], eax
mov dword [esp + 8], ecx
call dword [edx]
sub esp, 0xc
mov ebx, dword [esp + 0x58]
test ebx, ebx
je 0x480b05
mov eax, dword [ebx]
lea edx, [esp + 0x5c]
mov dword [esp], ebx
mov dword [esp + 4], edx
call dword [eax + 0xc]
mov eax, dword [ebx]
sub esp, 8
lea edx, [esp + 0x60]
mov dword [esp], ebx
mov dword [esp + 4], edx
call dword [eax + 0x1c]
mov eax, dword [ebx]
sub esp, 8
lea edx, [esp + 0x50]
mov dword [esp], ebx
mov dword [esp + 4], edx
call dword [eax + 0x44]
mov eax, dword [ebx]
sub esp, 8
lea edx, [esp + 0x64]
mov dword [esp], ebx
mov dword [esp + 4], edx
call dword [eax + 0x24]
mov eax, dword [ebx]
sub esp, 8
lea edx, [esp + 0x90]
mov dword [esp], ebx
mov dword [esp + 4], edx
call dword [eax + 0x14]
mov eax, dword [ebx]
sub esp, 8
lea edx, [esp + 0x68]
mov dword [esp], ebx
mov dword [esp + 4], edx
call dword [eax + 0x34]
mov eax, dword [ebx]
sub esp, 8
lea esi, [esp + 0x6c]
mov dword [esp], ebx
mov dword [esp + 4], esi
call dword [eax + 0x2c]
mov eax, dword [ebx]
sub esp, 8
lea edx, [esp + 0x52]
mov dword [esp], ebx
mov dword [esp + 4], edx
call dword [eax + 0x3c]
sub esp, 8
xor ecx, ecx
mov edx, 0x35c5ebbb
mov ebx, dword [esp + 0x64]
mov dword [esp + 8], 0xffffffff
test ebx, ebx
movsx ebx, word [esp + 0x52]
setne cl
mov dword [esp + 0x2c], ecx
mov eax, ebx
imul ebx, ebx, 0xffffa8e9
shr ebx, 0x10
add ebx, eax
sar ax, 0xf
sar bx, 6
sub ebx, eax
mov eax, edx
mul dword [esp + 0x90]
lea eax, [esp + 0x80]
movsx ebx, bx
mov ecx, eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x28], ecx
mov dword [esp], ecx
mov esi, edx
mov dword [esp + 4], eax
call dword [0x5445e0]
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
lea edx, [esp + 0x70]
shr esi, 0xb
mov dword [esp + 8], ebx
mov dword [esp + 0x24], edx
mov dword [esp + 4], esi
mov dword [esp + 0xc], ecx
mov dword [esp], eax
mov ecx, edx
call dword [0x544a60]
sub esp, 0x10
mov eax, dword [esp + 0x80]
mov edx, dword [eax]
test edx, edx
je 0x480bde
cmp edx, 0xffffffff
je 0x48050d
lock sub dword [eax], 1
mov eax, dword [esp + 0x80]
je 0x480bde
cmp dword [esp + 0x60], 1
mov esi, dword [esp + 0x24]
mov ecx, esi
sbb eax, eax
and eax, 0xffffffe7
add eax, 0x4b
mov dword [esp], eax
call dword [0x544a5c]
sub esp, 4
xor eax, eax
mov ecx, esi
mov edx, dword [esp + 0x68]
test edx, edx
setne al
mov dword [esp], eax
call dword [0x544a54]
sub esp, 4
xor eax, eax
mov ecx, dword [esp + 0x6c]
test ecx, ecx
mov ecx, esi
setne al
mov dword [esp], eax
call dword [0x544a58]
sub esp, 4
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
call dword [0x545334]
sub esp, 4
mov ecx, dword [esp + 0x28]
mov dword [esp + 8], 0
mov dword [esp + 4], esi
mov dword [esp], 0x40
call dword [0x544680]
mov eax, dword [edi]
sub esp, 0xc
mov edx, dword [edi + 4]
mov ebx, dword [edi + 8]
mov ecx, eax
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x94], edx
movzx edx, byte [edi + 0xb]
and ebx, 0x3fffffff
mov dword [esp + 0x80], ecx
mov ecx, dword [esp + 0x28]
mov dword [edi], eax
mov eax, dword [esp + 0x84]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x88]
mov dword [edi + 8], eax
mov eax, dword [esp + 0x98]
and eax, 0xc0000000
or eax, ebx
mov ebx, edx
and edx, 0xffffff80
mov dword [esp + 0x98], eax
shr eax, 0x18
and ebx, 0x40
and eax, 0x3f
or eax, ebx
or edx, eax
mov eax, dword [esp + 0x94]
mov byte [esp + 0x9b], dl
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 0x88], eax
call dword [0x544690]
mov ecx, esi
call dword [0x544a6c]
mov eax, dword [esp + 0x58]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
sub esp, 4
jmp 0x47f1dd
mov eax, dword [esp + 0xc8]
mov dword [esp + 4], 0x52439d
mov ebx, dword [0x5442e4]
mov dword [esp], eax
call ebx
test eax, eax
je 0x47ffd0
mov eax, dword [esp + 0xc8]
mov dword [esp + 4], str.QDate
mov dword [esp], eax
call ebx
test eax, eax
je 0x47ffd0
mov eax, dword [esp + 0xc8]
mov dword [esp + 4], str.QTime
mov dword [esp], eax
call ebx
test eax, eax
je 0x47f523
mov eax, dword [esp + 0xc8]
mov dword [esp + 4], 0x5243aa
mov dword [esp], eax
call ebx
test eax, eax
je 0x47f523
jmp 0x47f1e1
mov dword [esp + 0x70], edx
jmp 0x47f6ba
mov dword [esp + 0x54], edx
jmp 0x47feca
mov eax, dword [edi + 8]
and ebx, 0x3fffffff
and eax, 0xc0000000
or ebx, eax
mov dword [edi + 8], ebx
shr ebx, 0x18
mov eax, ebx
and eax, 0x7f
and ebx, 0x40
mov byte [edi + 0xb], al
mov eax, edi
je 0x480709
mov eax, dword [edi]
mov eax, dword [eax]
mov edx, dword [esp + 0x70]
mov dword [eax], edx
jmp 0x47f1dd
lea ebx, [esp + 0x90]
mov dword [esp + 4], str.IUnknown
mov dword [esp], ebx
call dword [0x5443c4]
mov dword [esp], ebx
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0x104
mov dword [esp + 0xc], 4
mov dword [esp + 8], 0x4a9dc0
mov dword [esp + 4], 0x4a9db0
call dword [0x54470c]
mov ebx, eax
mov eax, dword [esp + 0x90]
mov edx, dword [eax]
test edx, edx
je 0x480bfc
cmp edx, 0xffffffff
je 0x480786
lock sub dword [eax], 1
mov eax, dword [esp + 0x90]
je 0x480bfc
mov dword [0x4cf238], ebx
jmp 0x47f6c8
mov eax, dword [edi]
mov eax, dword [eax + 4]
cmp eax, 1
jne 0x47f6f0
jmp 0x47f6d2
mov eax, dword [esp + 0xc8]
mov dword [esp + 4], 0x5243b1
mov ebx, dword [0x5442e4]
mov dword [esp], eax
call ebx
test eax, eax
je 0x480380
mov eax, dword [esp + 0xc8]
mov dword [esp + 4], str.QFont
mov dword [esp], eax
call ebx
test eax, eax
je 0x480380
mov eax, dword [esp + 0xc8]
mov dword [esp + 4], str.QPixmap
mov dword [esp], eax
call ebx
test eax, eax
je 0x480816
mov eax, dword [esp + 0xc8]
mov dword [esp + 4], 0x5243be
mov dword [esp], eax
call ebx
test eax, eax
jne 0x47fee4
mov eax, dword [esp + 0x54]
mov dword [esp + 0x6c], 0
test eax, eax
je 0x480ef4
mov edx, dword [eax]
lea esi, [esp + 0x6c]
mov dword [esp + 4], 0x526c14
mov dword [esp], eax
mov dword [esp + 8], esi
call dword [edx]
sub esp, 0xc
mov ebx, dword [esp + 0x6c]
test ebx, ebx
je 0x480ef4
mov eax, dword [ebx]
lea esi, [esp + 0x70]
mov dword [esp], ebx
mov dword [esp + 0x24], esi
mov dword [esp + 4], esi
call dword [eax + 0x14]
sub esp, 8
cmp word [esp + 0x70], 1
je 0x480f6a
lea esi, [esp + 0x90]
mov ecx, esi
call dword [0x544adc]
mov ecx, dword [esp + 0x24]
mov dword [esp + 8], 0
mov dword [esp + 4], esi
mov dword [esp], 0x41
call dword [0x544680]
mov eax, dword [edi]
sub esp, 0xc
mov edx, dword [edi + 4]
mov dword [esp + 0x80], eax
mov ebx, eax
mov eax, dword [edi + 8]
mov dword [esp + 0x84], edx
movzx edx, byte [edi + 0xb]
and eax, 0x3fffffff
mov ecx, eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x70], ebx
mov dword [edi], eax
mov eax, dword [esp + 0x74]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x78]
mov dword [edi + 8], eax
mov eax, dword [esp + 0x88]
and eax, 0xc0000000
or eax, ecx
mov ecx, edx
and edx, 0xffffff80
mov dword [esp + 0x88], eax
shr eax, 0x18
and ecx, 0x40
and eax, 0x3f
or eax, ecx
mov ecx, dword [esp + 0x24]
or edx, eax
mov eax, dword [esp + 0x84]
mov byte [esp + 0x8b], dl
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x78], eax
call dword [0x544690]
mov ecx, esi
call dword [0x544ae0]
mov eax, dword [esp + 0x6c]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
sub esp, 4
jmp 0x47f1dd
mov eax, dword [0x5446ec]
mov esi, dword [esp + 0x24]
mov dword [esp + 4], 1
mov dword [esp + 0x60], eax
lea eax, [esp + 0x64]
mov dword [esp], esi
mov dword [esp + 8], eax
call dword [0x54531c]
sub esp, 0xc
lea eax, [esp + 0x68]
mov dword [esp + 4], 1
mov dword [esp], esi
mov dword [esp + 8], eax
call dword [0x545320]
sub esp, 0xc
mov eax, dword [esp + 0x64]
cmp eax, dword [esp + 0x68]
mov dword [esp + 0x6c], eax
jg 0x480f49
lea edx, [esp + 0x60]
mov esi, dword [0x544690]
lea eax, [esp + 0x80]
lea ecx, [esp + 0x70]
mov ebx, dword [0x545340]
mov dword [esp + 0xc0], edi
mov dword [esp + 0x30], edx
lea edx, [esp + 0x6c]
mov dword [esp + 0xcc], ebp
mov dword [esp + 0x2c], esi
lea esi, [esp + 0x90]
mov dword [esp + 0x28], eax
mov dword [esp + 0x34], edx
mov edx, dword [0x545318]
mov ebp, ecx
mov edi, eax
mov dword [esp + 0x38], edx
mov edx, dword [0x544344]
mov dword [esp + 0x3c], edx
mov dword [esp], edi
call ebx
sub esp, 4
mov eax, dword [esp + 0x34]
mov dword [esp + 8], edi
mov dword [esp + 4], eax
mov eax, dword [esp + 0x24]
mov dword [esp], eax
mov eax, dword [esp + 0x38]
call eax
sub esp, 0xc
mov ecx, ebp
mov eax, dword [esp + 0x3c]
mov dword [esp + 4], 0xffffffff
mov dword [esp], 0
call eax
sub esp, 8
mov dword [esp + 0xc], 0
mov dword [esp + 8], ebp
mov dword [esp + 4], edi
mov dword [esp], esi
call fcn.0047ec60
mov eax, dword [esp + 0x70]
mov edx, dword [eax]
test edx, edx
je 0x480ac1
cmp edx, 0xffffffff
je 0x480a69
lock sub dword [eax], 1
mov eax, dword [esp + 0x70]
je 0x480ac1
mov dword [esp], edi
call fcn.00487be0
mov ecx, dword [esp + 0x30]
mov dword [esp], esi
call fcn.004ae0b0
sub esp, 4
mov ecx, esi
mov eax, dword [esp + 0x2c]
call eax
mov eax, dword [esp + 0x6c]
add eax, 1
cmp dword [esp + 0x68], eax
mov dword [esp + 0x6c], eax
jge 0x4809fa
mov edi, dword [esp + 0xc0]
mov ebp, dword [esp + 0xcc]
mov esi, dword [esp + 0x30]
mov ecx, dword [esp + 0x28]
mov dword [esp], esi
call dword [0x544658]
jmp 0x47faf3
mov dword [esp + 8], 4
mov dword [esp + 4], 1
mov dword [esp], eax
call dword [0x5442ec]
jmp 0x480a69
cmp byte [esp + 0x28], 0
mov edi, dword [esp + 0xc0]
jne 0x481199
mov ecx, dword [esp + 0x24]
call fcn.004ae110
mov ecx, dword [esp + 0x34]
call fcn.004adc30
jmp 0x47f1f5
lea ebx, [esp + 0x70]
mov ecx, ebx
call dword [0x544a68]
mov dword [esp + 4], ebx
lea ecx, [esp + 0x80]
mov dword [esp + 8], 0
mov dword [esp], 0x40
call dword [0x544680]
mov eax, dword [edi]
sub esp, 0xc
mov edx, dword [edi + 4]
mov esi, dword [edi + 8]
mov ecx, eax
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x94], edx
movzx edx, byte [edi + 0xb]
and esi, 0x3fffffff
mov dword [esp + 0x80], ecx
lea ecx, [esp + 0x80]
mov dword [edi], eax
mov eax, dword [esp + 0x84]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x88]
mov dword [edi + 8], eax
mov eax, dword [esp + 0x98]
and eax, 0xc0000000
or eax, esi
mov esi, edx
and edx, 0xffffff80
mov dword [esp + 0x98], eax
shr eax, 0x18
and esi, 0x40
and eax, 0x3f
or eax, esi
or edx, eax
mov eax, dword [esp + 0x94]
mov byte [esp + 0x9b], dl
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 0x88], eax
call dword [0x544690]
mov ecx, ebx
call dword [0x544a6c]
jmp 0x47f1dd
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [0x5442ec]
jmp 0x48050d
mov dword [esp + 8], 4
mov dword [esp + 4], 1
mov dword [esp], eax
call dword [0x5442ec]
jmp 0x480786
lea eax, [esp + 0x68]
mov dword [esp + 4], 1
mov dword [esp], ebx
mov dword [esp + 8], eax
call dword [0x54531c]
sub esp, 0xc
lea eax, [esp + 0x6c]
mov dword [esp + 4], 1
mov dword [esp], ebx
mov dword [esp + 8], eax
call dword [0x545320]
sub esp, 0xc
mov eax, dword [esp + 0x68]
cmp eax, dword [esp + 0x6c]
mov dword [esp + 0x70], eax
jg 0x4813c7
lea ecx, [esp + 0x64]
lea esi, [esp + 0x80]
lea eax, [esp + 0x70]
mov dword [esp + 0xc0], edi
mov dword [esp + 0xcc], ebp
mov dword [esp + 0x24], ecx
mov ecx, dword [0x545318]
mov edi, eax
mov dword [esp + 0x28], esi
lea esi, [esp + 0x90]
mov ebp, ecx
jmp 0x480cda
cmp edx, 0xffffffff
je 0x480cb2
lock sub dword [eax], 1
mov eax, dword [esp + 0x90]
je 0x480d2a
mov eax, dword [esp + 0x80]
mov dword [esp], eax
call dword [0x545334]
sub esp, 4
mov eax, dword [esp + 0x70]
add eax, 1
cmp dword [esp + 0x6c], eax
mov dword [esp + 0x70], eax
jl 0x480e2b
mov eax, dword [esp + 0x28]
mov dword [esp + 4], edi
mov dword [esp], ebx
mov dword [esp + 8], eax
call ebp
sub esp, 0xc
mov eax, dword [esp + 0x80]
mov dword [esp + 8], 0xffffffff
mov dword [esp], esi
mov dword [esp + 4], eax
call dword [0x5445e0]
mov ecx, dword [esp + 0x24]
mov dword [esp], esi
call fcn.004ad830
sub esp, 4
mov eax, dword [esp + 0x90]
mov edx, dword [eax]
test edx, edx
jne 0x480ca0
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [0x5442ec]
jmp 0x480cb2
lea eax, [esp + 0x6c]
mov dword [esp + 4], 1
mov dword [esp], ebx
mov dword [esp + 8], eax
call dword [0x54531c]
sub esp, 0xc
lea eax, [esp + 0x70]
mov dword [esp + 4], 1
mov dword [esp], ebx
mov dword [esp + 8], eax
call dword [0x545320]
sub esp, 0xc
mov eax, dword [esp + 0x70]
lea ecx, [esp + 0x68]
mov dword [esp + 0x30], ecx
cmp eax, 0xffffffff
je 0x480e22
sub eax, dword [esp + 0x6c]
add eax, 1
mov dword [esp], eax
call dword [0x54432c]
sub esp, 4
mov eax, dword [esp + 0x68]
mov edx, dword [eax]
cmp edx, 1
jbe 0x481306
movsx edx, byte [eax + 0xb]
mov ecx, dword [esp + 0x30]
shr edx, 0x1f
mov dword [esp + 4], edx
mov eax, dword [eax + 4]
add eax, 1
mov dword [esp], eax
call dword [0x5442f4]
sub esp, 8
mov eax, dword [esp + 0x68]
add eax, dword [eax + 0xc]
mov dword [esp], ebx
mov esi, eax
lea eax, [esp + 0x90]
mov dword [esp + 4], eax
call dword [0x545304]
sub esp, 8
mov eax, dword [esp + 0x68]
mov eax, dword [eax + 4]
mov dword [esp], esi
mov dword [esp + 8], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 4], eax
call fcn.00489a8c
mov dword [esp], ebx
call dword [0x54532c]
sub esp, 4
mov eax, dword [esp + 0x30]
jmp 0x47fcbe
mov edi, dword [esp + 0xc0]
mov ebp, dword [esp + 0xcc]
mov esi, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov dword [esp], esi
call dword [0x544654]
mov eax, dword [edi]
sub esp, 4
mov edx, dword [edi + 4]
mov ebx, eax
mov dword [esp + 0x90], eax
mov eax, dword [edi + 8]
mov dword [esp + 0x94], edx
movzx edx, byte [edi + 0xb]
and eax, 0x3fffffff
mov ecx, eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x80], ebx
mov dword [edi], eax
mov eax, dword [esp + 0x84]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x88]
mov dword [edi + 8], eax
mov eax, dword [esp + 0x98]
and eax, 0xc0000000
or eax, ecx
mov ecx, edx
and edx, 0xffffff80
mov dword [esp + 0x98], eax
shr eax, 0x18
and ecx, 0x40
and eax, 0x3f
or eax, ecx
mov ecx, dword [esp + 0x28]
or edx, eax
mov eax, dword [esp + 0x94]
mov byte [esp + 0x9b], dl
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 0x88], eax
call dword [0x544690]
mov ecx, esi
call fcn.004adc30
jmp 0x47f1dd
lea ebx, [esp + 0x90]
lea esi, [esp + 0x80]
mov ecx, ebx
call dword [0x544adc]
mov ecx, esi
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
mov dword [esp], 0x41
call dword [0x544680]
sub esp, 0xc
mov dword [esp + 4], esi
mov dword [esp], edi
call fcn.004c2750
mov ecx, esi
call dword [0x544690]
mov ecx, ebx
call dword [0x544ae0]
jmp 0x47f1dd
lea eax, [esp + 0x80]
mov dword [esp + 0x28], eax
mov eax, dword [0x544690]
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x60]
mov dword [esp + 0x30], eax
jmp 0x480aab
mov eax, dword [ebx]
lea edx, [esp + 0x80]
mov dword [esp + 0x80], 0
mov dword [esp], ebx
mov dword [esp + 4], edx
call dword [eax + 0xc]
sub esp, 8
mov eax, dword [esp + 0x80]
test eax, eax
je 0x480873
lea esi, [esp + 0x90]
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov dword [esp], esi
call dword [0x5449ec]
jmp 0x480882
lea eax, [esp + 0x5c]
mov dword [esp], ebx
mov dword [esp + 4], eax
call dword [0x545324]
sub esp, 8
cmp word [esp + 0x5c], 0x17
ja case.0x480fe0.8
movzx eax, word [esp + 0x5c]
jmp dword [eax*4 + 0x5243f0]
lea eax, [esp + 0x78]
mov dword [esp + 4], 1
mov dword [esp], ebx
mov dword [esp + 0x24], eax
lea eax, [esp + 0x64]
mov dword [esp + 8], eax
call dword [0x54531c]
sub esp, 0xc
lea eax, [esp + 0x68]
mov dword [esp + 4], 1
mov dword [esp], ebx
mov dword [esp + 8], eax
call dword [0x545320]
sub esp, 0xc
mov eax, dword [esp + 0x64]
cmp eax, dword [esp + 0x68]
mov dword [esp + 0x6c], eax
jg 0x480f49
lea edx, [esp + 0x60]
mov esi, dword [0x544690]
lea eax, [esp + 0x80]
lea ecx, [esp + 0x70]
mov dword [esp + 0xc0], edi
mov dword [esp + 0xcc], ebp
mov dword [esp + 0x30], edx
lea edx, [esp + 0x6c]
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], esi
lea esi, [esp + 0x90]
mov edi, ecx
mov dword [esp + 0x34], edx
mov edx, dword [0x545318]
mov ebp, eax
mov dword [esp + 0x38], edx
mov edx, dword [0x544344]
mov dword [esp + 0x3c], edx
movzx eax, word [esp + 0x5c]
mov dword [esp], ebx
mov word [esp + 0x70], ax
mov eax, dword [esp + 0x24]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
call eax
sub esp, 0xc
mov ecx, ebp
mov eax, dword [esp + 0x3c]
mov dword [esp + 4], 0xffffffff
mov dword [esp], 0
call eax
sub esp, 8
mov dword [esp + 0xc], 0
mov dword [esp + 8], ebp
mov dword [esp + 4], edi
mov dword [esp], esi
call fcn.0047ec60
mov eax, dword [esp + 0x80]
mov edx, dword [eax]
test edx, edx
je 0x481173
cmp edx, 0xffffffff
je 0x481106
lock sub dword [eax], 1
mov eax, dword [esp + 0x80]
je 0x481173
mov dword [esp], edi
call fcn.00487be0
mov ecx, dword [esp + 0x30]
mov dword [esp], esi
call fcn.004ae0b0
sub esp, 4
mov ecx, esi
mov eax, dword [esp + 0x2c]
call eax
mov eax, dword [esp + 0x6c]
add eax, 1
cmp dword [esp + 0x68], eax
mov dword [esp + 0x6c], eax
jge 0x48108f
jmp 0x480a9d
lea ebx, [esp + 0x90]
lea eax, [esp + 0x60]
mov ecx, ebx
mov dword [esp + 0x30], eax
mov dword [esp], eax
call dword [0x544658]
push edx
mov dword [esp + 4], ebx
mov dword [esp], edi
call fcn.004c2750
mov ecx, ebx
call dword [0x544690]
jmp 0x47f0e6
mov dword [esp + 8], 4
mov dword [esp + 4], 1
mov dword [esp], eax
call dword [0x5442ec]
jmp 0x481106
lea eax, [esp + 0x6c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x34]
lea ecx, [esp + 0x80]
mov dword [esp], eax
call dword [0x544654]
mov eax, dword [edi]
sub esp, 4
mov edx, dword [edi + 4]
mov ebx, dword [edi + 8]
mov ecx, eax
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x94], edx
movzx edx, byte [edi + 0xb]
and ebx, 0x3fffffff
mov dword [esp + 0x80], ecx
lea ecx, [esp + 0x80]
mov dword [edi], eax
mov eax, dword [esp + 0x84]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x88]
mov dword [edi + 8], eax
mov eax, dword [esp + 0x98]
and eax, 0xc0000000
or eax, ebx
mov ebx, edx
and edx, 0xffffff80
mov dword [esp + 0x98], eax
shr eax, 0x18
and ebx, 0x40
and eax, 0x3f
or eax, ebx
or edx, eax
mov eax, dword [esp + 0x94]
mov byte [esp + 0x9b], dl
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 0x88], eax
call dword [0x544690]
jmp 0x480aee
mov eax, dword [0x544690]
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x54]
mov dword [esp + 0x48], eax
mov eax, dword [0x544658]
mov dword [esp + 0x4c], eax
jmp 0x47fae2
mov eax, dword [esp + 0xc8]
mov dword [esp + 4], 0x5243c7
mov ebx, dword [0x5442e4]
mov dword [esp], eax
call ebx
test eax, eax
jne 0x48133a
mov dword [esp], 0x10
call fcn.004899c0
mov ebx, eax
mov eax, dword [esp + 0x54]
mov dword [esp + 4], 0
mov ecx, ebx
mov dword [esp], eax
call fcn.00486ec0
push ecx
push ecx
mov dword [esp + 0x80], ebx
lea ebx, [esp + 0x90]
call fcn.0048a7e0
lea edx, [esp + 0x80]
mov ecx, ebx
mov dword [esp], eax
mov dword [esp + 8], 1
mov dword [esp + 4], edx
call dword [0x544680]
sub esp, 0xc
mov dword [esp + 4], ebx
mov dword [esp], edi
call fcn.004c2750
mov ecx, ebx
call dword [0x544690]
jmp 0x47f1dd
cmp dword [eax + 0xc], 0x10
jne 0x480db7
jmp 0x480ddc
mov edx, dword [esp + 0x90]
mov dword [esp + 8], 4
mov dword [esp + 4], 1
mov dword [esp], edx
call dword [0x5442ec]
jmp 0x47ff5c
mov eax, dword [esp + 0xc8]
mov dword [esp + 4], str.IDispatch
mov dword [esp], eax
call ebx
test eax, eax
je 0x48136c
mov eax, dword [esp + 0xc8]
mov ebx, dword [0x544720]
mov dword [esp], eax
call ebx
test eax, eax
jne 0x481401
mov eax, dword [esp + 0xc8]
lea esi, [esp + 0x90]
mov eax, dword [eax]
add eax, dword [eax + 0xc]
mov dword [esp], esi
mov dword [esp + 4], eax
call dword [0x5443c4]
mov dword [esp + 8], 1
mov dword [esp + 4], 0
mov dword [esp], esi
call fcn.0048a250
mov edx, dword [esp + 0x90]
mov ebx, eax
mov ecx, dword [edx]
test ecx, ecx
je 0x4813e6
add ecx, 1
je 0x4813be
lock sub dword [edx], 1
je 0x4813df
lea eax, [esp + 0x54]
jmp 0x47ff60
lea eax, [esp + 0x80]
mov dword [esp + 0x28], eax
lea eax, [esp + 0x64]
mov dword [esp + 0x24], eax
jmp 0x480e39
mov edx, dword [esp + 0x90]
mov dword [esp + 8], 4
mov dword [esp + 4], 1
mov dword [esp], edx
call dword [0x5442ec]
jmp 0x4813be
mov eax, dword [esp + 0xc8]
mov eax, dword [eax]
mov dword [esp + 0x70], eax
mov edx, dword [eax]
add edx, 1
cmp edx, 1
ja 0x4814e1
mov dword [esp + 4], 0xffffffff
mov dword [esp], 0x2a
mov ecx, dword [esp + 0xc8]
call dword [0x544750]
push edx
push edx
cmp eax, 0xffffffff
lea esi, [esp + 0x90]
je 0x48147b
mov dword [esp + 4], eax
mov eax, dword [esp + 0xc8]
mov ecx, esi
mov dword [esp], eax
call dword [0x544758]
push eax
push eax
mov ecx, esi
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0x90]
mov dword [esp + 0x90], eax
mov dword [esp + 0x70], edx
call fcn.0048a470
lea eax, [esp + 0x70]
mov dword [esp], eax
call ebx
mov edx, dword [esp + 0x54]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.0046f6a0
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0xc8]
mov dword [esp], eax
call ebx
lea edx, [esp + 0x80]
mov ecx, esi
mov dword [esp], eax
mov dword [esp + 4], edx
call dword [0x54467c]
push ecx
push ecx
mov dword [esp + 4], esi
mov dword [esp], edi
call fcn.004c2750
mov ecx, esi
call dword [0x544690]
lea ecx, [esp + 0x70]
call fcn.0048a470
jmp 0x47f1dd
lock add dword [eax], 1
jmp 0x48141c