Function at 0x4eeda0
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 0x4efdd9
jbe 0x4eef30
cmp ax, 0x400d
je 0x4ef7e0
ja 0x4eef90
cmp ax, 0x4006
je 0x4ef480
jbe 0x4ef050
cmp ax, 0x4009
je 0x4efff0
ja 0x4ef934
cmp ax, 0x4007
je 0x4ef6d0
cmp ax, 0x4008
jne 0x4ef144
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 [0x60fb74]
mov dword [esp], ebx
lea ecx, [esp + 0x80]
call dword [0x60fc20]
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 [0x60fc50]
mov eax, dword [esp + 0x70]
mov edx, dword [eax]
test edx, edx
je 0x4eef12
cmp edx, 0xffffffff
je 0x4ef31d
lock sub dword [eax], 1
mov eax, dword [esp + 0x70]
jne 0x4ef31d
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [0x60f7f4]
jmp 0x4ef31d
cmp ax, 0xd
je 0x4ef7e0
ja 0x4eefd0
cmp ax, 6
je 0x4ef260
jbe 0x4ef010
cmp ax, 9
je 0x4efff0
ja 0x4ef960
cmp ax, 7
je 0x4ef580
cmp ax, 8
jne 0x4ef144
mov dword [esp + 8], 0xffffffff
lea ebx, [esp + 0x70]
mov eax, dword [esi + 8]
jmp 0x4eee34
cmp ax, 0x4015
je 0x4f00d0
ja 0x4ef0f0
cmp ax, 0x4012
je 0x4f00e0
ja 0x4ef130
cmp ax, 0x4010
je 0x4ef700
cmp ax, 0x4011
jne 0x4ef144
mov eax, dword [esi + 8]
movzx eax, byte [eax]
jmp 0x4ef0d2
cmp ax, 0x14
je 0x4ef260
jbe 0x4ef091
cmp ax, 0x17
je 0x4f00f0
ja 0x4ef9b3
cmp ax, 0x15
je 0x4ef6a0
cmp ax, 0x16
je 0x4ef0cf
jmp 0x4ef144
cmp ax, 3
je 0x4ef0b5
jbe 0x4efce0
cmp ax, 4
je 0x4ef680
cmp ax, 5
jne 0x4ef144
fld qword [esi + 8]
lea ecx, [esp + 0x80]
fstp qword [esp]
call dword [0x60fc30]
sub esp, 8
jmp 0x4ef280
cmp ax, 0x4003
je 0x4ef234
jbe 0x4efdb0
cmp ax, 0x4004
je 0x4ef6e0
cmp ax, 0x4005
jne 0x4ef144
mov eax, dword [esi + 8]
lea ecx, [esp + 0x80]
fld qword [eax]
fstp qword [esp]
call dword [0x60fc30]
sub esp, 8
jmp 0x4ef280
cmp ax, 0x11
je 0x4effe4
jbe 0x4efef0
cmp ax, 0x12
je 0x4ef6c2
cmp ax, 0x13
jne 0x4ef144
cmp ebp, 0x43
je 0x4ef860
test ebp, ebp
je 0x4f0150
cmp ebp, 0x4a
je 0x4f01b0
mov eax, dword [esi + 8]
mov dword [esp], eax
lea ecx, [esp + 0x80]
call dword [0x60fc38]
sub esp, 4
jmp 0x4ef280
cmp ax, 0x6008
je 0x4eff03
ja 0x4efdc5
cmp ax, 0x4016
je 0x4ef24e
cmp ax, 0x4017
jne 0x4ef144
mov eax, dword [esi + 8]
lea ecx, [esp + 0x80]
mov eax, dword [eax]
mov dword [esp], eax
call dword [0x60fc44]
jmp 0x4ef0e2
cmp ax, 0x4013
je 0x4ef234
cmp ax, 0x4014
je 0x4ef480
test ah, 0x20
je 0x4ef31d
test ah, 0x40
mov ebx, dword [esi + 8]
je 0x4ef157
mov ebx, dword [ebx]
mov eax, dword [0x60fce4]
test ebx, ebx
mov dword [esp + 0x60], eax
je 0x4ef16e
cmp word [ebx], 1
je 0x4f10fb
lea eax, [esp + 0x60]
lea ecx, [esp + 0x80]
mov dword [esp + 0x30], eax
mov dword [esp], eax
call dword [0x60fc18]
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 [0x60fc50]
mov ecx, dword [esp + 0x30]
call fcn.00545cb0
jmp 0x4ef31d
cmp ebp, 0x43
je 0x4ef923
test ebp, ebp
je 0x4f0292
cmp ebp, 0x4a
je 0x4f02f0
mov eax, dword [esi + 8]
mov eax, dword [eax]
jmp 0x4ef0d2
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 [0x60fc48]
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 [0x60fc50]
test ebp, ebp
jne 0x4ef342
mov eax, dword [esp + 0xc8]
mov eax, dword [eax]
mov eax, dword [eax + 4]
test eax, eax
jne 0x4ef420
add esp, 0xac
mov eax, edi
pop ebx
pop esi
pop edi
pop ebp
ret
cmp ebp, 0x29
je 0x4ef335
cmp ebp, 0xffffffff
je 0x4ef335
mov ecx, edi
mov esi, dword [0x60ffc4]
call esi
cmp eax, ebp
je 0x4ef335
mov dword [esp], ebp
mov ecx, edi
mov ebx, dword [0x60ffa8]
call ebx
sub esp, 4
test al, al
jne 0x4ef971
cmp ebp, 0xb
je 0x4ef490
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 [0x60fc50]
jmp 0x4ef335
mov eax, dword [esp + 0xc8]
mov dword [esp + 4], 0x5d8267
mov dword [esp], eax
call dword [0x60f7e4]
test eax, eax
je 0x4ef335
mov eax, dword [esp + 0xc8]
mov eax, dword [eax]
add eax, dword [eax + 0xc]
mov dword [esp], eax
call dword [0x60fbfc]
cmp eax, 0x29
mov ebp, eax
setne dl
cmp eax, 0xffffffff
setne al
test dl, al
je 0x4ef335
test ebp, ebp
je 0x4ef335
jmp 0x4ef34c
mov eax, dword [esi + 8]
mov edx, dword [eax + 4]
mov eax, dword [eax]
jmp 0x4ef266
mov ecx, edi
call esi
cmp eax, 9
jne 0x4ef37b
mov eax, dword [0x60fce4]
mov dword [esp], edi
mov dword [esp + 0x6c], eax
lea eax, [esp + 0x70]
mov ecx, eax
mov dword [esp + 0x24], eax
call dword [0x60ffd8]
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 0x4f12d1
lea ecx, [esp + 0x6c]
mov byte [esp + 0x28], 1
mov ebp, eax
mov dword [esp + 0xc0], edi
mov dword [esp + 0x34], ecx
jmp 0x4ef500
mov byte [esp + 0x28], 0
add esi, 4
cmp ebp, esi
je 0x4f0c1c
mov edi, dword [esi]
mov dword [esp], 0xa
mov ecx, edi
call ebx
sub esp, 4
test al, al
je 0x4ef4f0
lea ecx, [esp + 0x90]
mov dword [esp], edi
call dword [0x60fff8]
sub esp, 4
lea eax, [esp + 0x90]
mov ecx, dword [esp + 0x34]
mov dword [esp], eax
call fcn.00545730
sub esp, 4
mov eax, dword [esp + 0x90]
mov edx, dword [eax]
test edx, edx
je 0x4ef55c
cmp edx, 0xffffffff
je 0x4ef4f5
lock sub dword [eax], 1
mov eax, dword [esp + 0x90]
jne 0x4ef4f5
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [0x60f7f4]
jmp 0x4ef4f5
lea ebx, [esp + 0x70]
fld qword [esi + 8]
fstp qword [esp]
mov eax, ebx
call fcn.004ee760
lea ecx, [esp + 0x80]
mov dword [esp], ebx
call dword [0x60fc24]
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 [0x60fc50]
mov ecx, ebx
call dword [0x60fc88]
cmp ebp, 0xe
je 0x4f0110
test ebp, ebp
je 0x4f0784
cmp ebp, 0xf
jne 0x4ef342
mov dword [esp], 0xf
mov ecx, edi
call dword [0x60fc04]
sub esp, 4
jmp 0x4ef31d
fld dword [esi + 8]
lea ecx, [esp + 0x80]
fstp dword [esp]
call dword [0x60fc34]
jmp 0x4ef0e2
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 [0x60fc4c]
sub esp, 8
jmp 0x4ef280
movzx eax, word [esi + 8]
jmp 0x4ef0d2
mov eax, dword [esi + 8]
lea ebx, [esp + 0x70]
fld qword [eax]
jmp 0x4ef587
mov eax, dword [esi + 8]
lea ecx, [esp + 0x80]
fld dword [eax]
fstp dword [esp]
call dword [0x60fc34]
jmp 0x4ef0e2
mov eax, dword [esi + 8]
movsx eax, byte [eax]
mov dword [esp], eax
lea ecx, [esp + 0x80]
call dword [0x60fc38]
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 [0x60fc50]
mov dword [esp + 4], str.char
mov eax, dword [esp + 0xc8]
mov dword [esp], eax
call dword [0x60f7e4]
test eax, eax
jne 0x4ef31d
mov ebp, 2
jmp 0x4ef34c
test ah, 0x40
mov dword [esp + 0x70], 0
mov edx, dword [esi + 8]
je 0x4f0800
mov eax, dword [edx]
mov dword [esp + 0x70], eax
mov ebx, dword [0x582420]
test ebx, ebx
je 0x4f0854
test byte [edi + 0xb], 0x40
jne 0x4f08d1
mov eax, dword [edi + 8]
and eax, 0x3fffffff
cmp eax, ebx
je 0x4f0820
cmp eax, 7
ja 0x4ef830
cmp ebx, 7
jbe 0x4f0820
lea eax, [esp + 0x70]
mov dword [esp + 8], 1
mov dword [esp], ebx
lea ecx, [esp + 0x80]
mov dword [esp + 4], eax
call dword [0x60fc40]
sub esp, 0xc
jmp 0x4ef280
mov eax, dword [esi + 8]
lea ebx, [esp + 0x90]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.004f7ce0
mov dword [esp + 4], ebx
lea ecx, [esp + 0x70]
mov dword [esp + 8], 0
mov dword [esp], 0x43
call dword [0x60fc40]
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 [0x60fc50]
jmp 0x4ef31d
mov eax, dword [esi + 8]
lea ebx, [esp + 0x90]
mov eax, dword [eax]
jmp 0x4ef86a
cmp ax, 0x400b
jne 0x4f0300
mov eax, dword [esi + 8]
cmp word [eax], 0
setne al
lea ecx, [esp + 0x80]
movzx eax, al
mov dword [esp], eax
call dword [0x60fc2c]
jmp 0x4ef0e2
cmp ax, 0xb
jne 0x4f03e0
cmp word [esi + 8], 0
jmp 0x4ef945
lea esi, [esp + 0x90]
mov dword [esp], edi
mov ecx, esi
call dword [0x60fc28]
sub esp, 4
mov ecx, esi
mov dword [esp], ebp
call dword [0x60fc04]
sub esp, 4
test al, al
je 0x4ef9a6
mov dword [esp], esi
mov ecx, edi
call dword [0x60fc54]
sub esp, 4
mov ecx, esi
call dword [0x60fc50]
jmp 0x4ef335
cmp ax, 0x2008
je 0x4eff03
cmp ax, 0x200c
jne 0x4ef144
mov esi, dword [esi + 8]
test ah, 0x40
mov dword [esp + 0x24], esi
je 0x4ef9d9
mov eax, dword [esi]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x24]
test eax, eax
je 0x4f03f0
mov dword [esp], eax
call dword [0x610cb4]
sub esp, 4
cmp eax, 1
je 0x4f0a87
cmp eax, 2
jne 0x4f03f0
mov eax, dword [0x60fce4]
mov ebx, dword [esp + 0x24]
mov esi, dword [0x610cbc]
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 [0x610cc0]
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 0x4f1392
lea ecx, [esp + 0x68]
mov esi, dword [0x60fc50]
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 [0x60fc18]
mov dword [esp + 0x4c], ecx
mov eax, dword [0x60fce4]
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 0x4efbd1
lea eax, [esp + 0x70]
lea ebp, [esp + 0x6c]
mov dword [esp + 0x44], eax
mov eax, dword [0x610ce0]
mov dword [esp + 0x40], eax
mov eax, dword [0x610cb8]
mov dword [esp + 0x3c], eax
mov eax, dword [0x60f84c]
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.004eeda0
mov eax, dword [esp + 0x6c]
mov edx, dword [eax]
test edx, edx
je 0x4f0130
cmp edx, 0xffffffff
je 0x4efba5
lock sub dword [eax], 1
mov eax, dword [esp + 0x6c]
je 0x4f0130
mov dword [esp], edi
add ebx, 1
call fcn.004f7d20
mov ecx, dword [esp + 0x30]
mov dword [esp], esi
call fcn.00545c50
sub esp, 4
mov ecx, esi
mov eax, dword [esp + 0x2c]
call eax
cmp dword [esp + 0x64], ebx
jge 0x4efb26
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.00545c50
sub esp, 4
mov ecx, esi
mov eax, dword [esp + 0x2c]
call eax
mov ecx, ebx
call fcn.00545cb0
add dword [esp + 0x34], 1
mov eax, dword [esp + 0x34]
cmp dword [esp + 0x5c], eax
jge 0x4efae0
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.00545cb0
jmp 0x4ef31d
cmp ax, 2
jne 0x4ef144
movsx eax, word [esi + 8]
mov dword [esp], eax
lea ecx, [esp + 0x80]
call dword [0x60fc38]
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 [0x60fc50]
mov dword [esp + 4], str.short
jmp 0x4ef7be
cmp ax, 0x4002
jne 0x4ef144
mov eax, dword [esi + 8]
movsx eax, word [eax]
jmp 0x4efcee
cmp ax, 0x600c
je 0x4ef9c7
cmp ax, 0x6011
jne 0x4ef144
test ah, 0x40
mov ebx, dword [esi + 8]
je 0x4efde3
mov ebx, dword [ebx]
mov eax, dword [0x60f7f8]
test ebx, ebx
mov dword [esp + 0x68], eax
je 0x4efdfa
cmp word [ebx], 1
je 0x4f0e88
lea eax, [esp + 0x68]
mov dword [esp], eax
lea ecx, [esp + 0x80]
call dword [0x60fc10]
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 [0x60fc50]
mov eax, dword [esp + 0x68]
mov edx, dword [eax]
test edx, edx
je 0x4efed0
cmp edx, 0xffffffff
je 0x4ef31d
lock sub dword [eax], 1
mov eax, dword [esp + 0x68]
jne 0x4ef31d
nop
mov dword [esp + 8], 4
mov dword [esp + 4], 1
mov dword [esp], eax
call dword [0x60f7f4]
jmp 0x4ef31d
cmp ax, 0x10
jne 0x4ef144
movsx eax, byte [esi + 8]
jmp 0x4ef706
test ah, 0x40
mov ebx, dword [esi + 8]
je 0x4eff0d
mov ebx, dword [ebx]
mov eax, dword [0x60fce4]
test ebx, ebx
mov dword [esp + 0x64], eax
je 0x4eff24
cmp word [ebx], 1
je 0x4f0d5a
lea ebx, [esp + 0x64]
lea ecx, [esp + 0x80]
mov dword [esp], ebx
call dword [0x60fc14]
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 [0x60fc50]
mov ecx, ebx
call fcn.005459a0
jmp 0x4ef31d
movzx eax, byte [esi + 8]
jmp 0x4ef0d2
test ah, 0x40
mov dword [esp + 0x54], 0
mov edx, dword [esi + 8]
je 0x4f0810
mov eax, dword [edx]
mov dword [esp + 0x54], eax
cmp ebp, 0x40
je 0x4f04c0
test ebp, ebp
je 0x4f08e4
cmp ebp, 0x41
je 0x4f0956
mov eax, dword [esp + 0xc8]
mov eax, dword [eax]
mov ebx, dword [eax + 4]
test ebx, ebx
je 0x4ef31d
test word [esi], 0x4000
je 0x4f13b1
lea eax, [esi + 8]
lea esi, [esp + 0x90]
mov dword [esp + 4], 0x5d820b
mov dword [esp + 0x24], eax
mov dword [esp], esi
call dword [0x60f900]
mov dword [esp + 8], 1
mov dword [esp + 4], 0
mov dword [esp], esi
call fcn.004fa890
mov edx, dword [esp + 0x90]
mov ebx, eax
mov ecx, dword [edx]
test ecx, ecx
je 0x4f145c
add ecx, 1
je 0x4f009c
lock sub dword [edx], 1
je 0x4f1455
mov eax, dword [esp + 0x24]
mov ecx, esi
mov dword [esp + 4], eax
mov dword [esp], ebx
call dword [0x60fc3c]
sub esp, 8
mov dword [esp + 4], esi
mov dword [esp], edi
call fcn.005685f0
mov ecx, esi
call dword [0x60fc50]
jmp 0x4ef31d
mov eax, dword [esi + 8]
mov edx, dword [eax + 4]
mov eax, dword [eax]
jmp 0x4ef6a6
mov eax, dword [esi + 8]
movzx eax, word [eax]
jmp 0x4ef0d2
mov eax, dword [esi + 8]
lea ecx, [esp + 0x80]
mov dword [esp], eax
call dword [0x60fc44]
jmp 0x4ef0e2
mov dword [esp], 0xe
mov ecx, edi
call dword [0x60fc04]
sub esp, 4
jmp 0x4ef31d
mov dword [esp + 8], 4
mov dword [esp + 4], 1
mov dword [esp], eax
call dword [0x60f7f4]
jmp 0x4efba5
mov eax, dword [esp + 0xc8]
mov dword [esp + 4], str.QColor
mov ebx, dword [0x60f7e4]
mov dword [esp], eax
call ebx
test eax, eax
je 0x4ef860
mov eax, dword [esp + 0xc8]
mov dword [esp + 4], str.QCursor
mov dword [esp], eax
call ebx
test eax, eax
je 0x4f01b0
mov eax, dword [esp + 0xc8]
mov dword [esp + 4], 0x5d8234
mov dword [esp], eax
call ebx
test eax, eax
jne 0x4ef0cf
lea esi, [esi]
lea edi, [edi]
mov eax, dword [esi + 8]
lea ebx, [esp + 0x70]
mov dword [esp], eax
mov ecx, ebx
call dword [0x61019c]
sub esp, 4
mov dword [esp + 4], ebx
lea ecx, [esp + 0x80]
mov dword [esp + 8], 0
mov dword [esp], 0x4a
call dword [0x60fc40]
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 [0x60fc50]
mov ecx, ebx
call dword [0x6101a8]
jmp 0x4ef31d
mov eax, dword [esp + 0xc8]
mov dword [esp + 4], str.QColor
mov ebx, dword [0x60f7e4]
mov dword [esp], eax
call ebx
test eax, eax
je 0x4ef923
mov eax, dword [esp + 0xc8]
mov dword [esp + 4], str.QCursor
mov dword [esp], eax
call ebx
test eax, eax
je 0x4f02f0
mov eax, dword [esp + 0xc8]
mov dword [esp + 4], 0x5d8234
mov dword [esp], eax
call ebx
test eax, eax
jne 0x4ef24e
nop
lea esi, [esi]
mov eax, dword [esi + 8]
lea ebx, [esp + 0x70]
mov eax, dword [eax]
jmp 0x4f01b7
cmp ax, 0x400c
jne 0x4ef144
mov eax, dword [esi + 8]
test eax, eax
je 0x4ef31d
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.004eeda0
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 [0x60fc50]
jmp 0x4ef31d
cmp ax, 0xc
je 0x4f030a
jmp 0x4ef144
mov eax, dword [0x60fce4]
lea ebx, [esp + 0x70]
lea ecx, [esp + 0x80]
mov dword [esp], ebx
mov dword [esp + 0x70], eax
call dword [0x60fc18]
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 [0x60fc50]
mov ecx, ebx
call fcn.00545cb0
jmp 0x4ef31d
mov eax, dword [esp + 0x54]
mov dword [esp + 0x58], 0
test eax, eax
je 0x4f0c45
mov edx, dword [eax]
lea ecx, [esp + 0x58]
mov dword [esp + 4], 0x5d9cec
mov dword [esp], eax
mov dword [esp + 8], ecx
call dword [edx]
sub esp, 0xc
mov ebx, dword [esp + 0x58]
test ebx, ebx
je 0x4f0c45
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 [0x60fb74]
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 [0x610140]
sub esp, 0x10
mov eax, dword [esp + 0x80]
mov edx, dword [eax]
test edx, edx
je 0x4f0d1e
cmp edx, 0xffffffff
je 0x4f064d
lock sub dword [eax], 1
mov eax, dword [esp + 0x80]
je 0x4f0d1e
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 [0x61013c]
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 [0x610134]
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 [0x610138]
sub esp, 4
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
call dword [0x610cd4]
sub esp, 4
mov ecx, dword [esp + 0x28]
mov dword [esp + 8], 0
mov dword [esp + 4], esi
mov dword [esp], 0x40
call dword [0x60fc40]
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 [0x60fc50]
mov ecx, esi
call dword [0x61014c]
mov eax, dword [esp + 0x58]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
sub esp, 4
jmp 0x4ef31d
mov eax, dword [esp + 0xc8]
mov dword [esp + 4], 0x5d823d
mov ebx, dword [0x60f7e4]
mov dword [esp], eax
call ebx
test eax, eax
je 0x4f0110
mov eax, dword [esp + 0xc8]
mov dword [esp + 4], str.QDate
mov dword [esp], eax
call ebx
test eax, eax
je 0x4f0110
mov eax, dword [esp + 0xc8]
mov dword [esp + 4], str.QTime
mov dword [esp], eax
call ebx
test eax, eax
je 0x4ef663
mov eax, dword [esp + 0xc8]
mov dword [esp + 4], 0x5d824a
mov dword [esp], eax
call ebx
test eax, eax
je 0x4ef663
jmp 0x4ef321
mov dword [esp + 0x70], edx
jmp 0x4ef7fa
mov dword [esp + 0x54], edx
jmp 0x4f000a
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 0x4f0849
mov eax, dword [edi]
mov eax, dword [eax]
mov edx, dword [esp + 0x70]
mov dword [eax], edx
jmp 0x4ef31d
lea ebx, [esp + 0x90]
mov dword [esp + 4], str.IUnknown
mov dword [esp], ebx
call dword [0x60f900]
mov dword [esp], ebx
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0x104
mov dword [esp + 0xc], 4
mov dword [esp + 8], 0x536e50
mov dword [esp + 4], 0x536e40
call dword [0x60fd08]
mov ebx, eax
mov eax, dword [esp + 0x90]
mov edx, dword [eax]
test edx, edx
je 0x4f0d3c
cmp edx, 0xffffffff
je 0x4f08c6
lock sub dword [eax], 1
mov eax, dword [esp + 0x90]
je 0x4f0d3c
mov dword [0x582420], ebx
jmp 0x4ef808
mov eax, dword [edi]
mov eax, dword [eax + 4]
cmp eax, 1
jne 0x4ef830
jmp 0x4ef812
mov eax, dword [esp + 0xc8]
mov dword [esp + 4], 0x5d8251
mov ebx, dword [0x60f7e4]
mov dword [esp], eax
call ebx
test eax, eax
je 0x4f04c0
mov eax, dword [esp + 0xc8]
mov dword [esp + 4], str.QFont
mov dword [esp], eax
call ebx
test eax, eax
je 0x4f04c0
mov eax, dword [esp + 0xc8]
mov dword [esp + 4], str.QPixmap
mov dword [esp], eax
call ebx
test eax, eax
je 0x4f0956
mov eax, dword [esp + 0xc8]
mov dword [esp + 4], 0x5d825e
mov dword [esp], eax
call ebx
test eax, eax
jne 0x4f0024
mov eax, dword [esp + 0x54]
mov dword [esp + 0x6c], 0
test eax, eax
je 0x4f1034
mov edx, dword [eax]
lea esi, [esp + 0x6c]
mov dword [esp + 4], 0x5dab2c
mov dword [esp], eax
mov dword [esp + 8], esi
call dword [edx]
sub esp, 0xc
mov ebx, dword [esp + 0x6c]
test ebx, ebx
je 0x4f1034
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 0x4f10aa
lea esi, [esp + 0x90]
mov ecx, esi
call dword [0x6101c4]
mov ecx, dword [esp + 0x24]
mov dword [esp + 8], 0
mov dword [esp + 4], esi
mov dword [esp], 0x41
call dword [0x60fc40]
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 [0x60fc50]
mov ecx, esi
call dword [0x6101c8]
mov eax, dword [esp + 0x6c]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
sub esp, 4
jmp 0x4ef31d
mov eax, dword [0x60fce4]
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 [0x610cbc]
sub esp, 0xc
lea eax, [esp + 0x68]
mov dword [esp + 4], 1
mov dword [esp], esi
mov dword [esp + 8], eax
call dword [0x610cc0]
sub esp, 0xc
mov eax, dword [esp + 0x64]
cmp eax, dword [esp + 0x68]
mov dword [esp + 0x6c], eax
jg 0x4f1089
lea edx, [esp + 0x60]
mov esi, dword [0x60fc50]
lea eax, [esp + 0x80]
lea ecx, [esp + 0x70]
mov ebx, dword [0x610ce0]
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 [0x610cb8]
mov ebp, ecx
mov edi, eax
mov dword [esp + 0x38], edx
mov edx, dword [0x60f84c]
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.004eeda0
mov eax, dword [esp + 0x70]
mov edx, dword [eax]
test edx, edx
je 0x4f0c01
cmp edx, 0xffffffff
je 0x4f0ba9
lock sub dword [eax], 1
mov eax, dword [esp + 0x70]
je 0x4f0c01
mov dword [esp], edi
call fcn.004f7d20
mov ecx, dword [esp + 0x30]
mov dword [esp], esi
call fcn.00545c50
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 0x4f0b3a
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 [0x60fc18]
jmp 0x4efc33
mov dword [esp + 8], 4
mov dword [esp + 4], 1
mov dword [esp], eax
call dword [0x60f7f4]
jmp 0x4f0ba9
cmp byte [esp + 0x28], 0
mov edi, dword [esp + 0xc0]
jne 0x4f12d9
mov ecx, dword [esp + 0x24]
call fcn.00545cb0
mov ecx, dword [esp + 0x34]
call fcn.005459a0
jmp 0x4ef335
lea ebx, [esp + 0x70]
mov ecx, ebx
call dword [0x610148]
mov dword [esp + 4], ebx
lea ecx, [esp + 0x80]
mov dword [esp + 8], 0
mov dword [esp], 0x40
call dword [0x60fc40]
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 [0x60fc50]
mov ecx, ebx
call dword [0x61014c]
jmp 0x4ef31d
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [0x60f7f4]
jmp 0x4f064d
mov dword [esp + 8], 4
mov dword [esp + 4], 1
mov dword [esp], eax
call dword [0x60f7f4]
jmp 0x4f08c6
lea eax, [esp + 0x68]
mov dword [esp + 4], 1
mov dword [esp], ebx
mov dword [esp + 8], eax
call dword [0x610cbc]
sub esp, 0xc
lea eax, [esp + 0x6c]
mov dword [esp + 4], 1
mov dword [esp], ebx
mov dword [esp + 8], eax
call dword [0x610cc0]
sub esp, 0xc
mov eax, dword [esp + 0x68]
cmp eax, dword [esp + 0x6c]
mov dword [esp + 0x70], eax
jg 0x4f1507
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 [0x610cb8]
mov edi, eax
mov dword [esp + 0x28], esi
lea esi, [esp + 0x90]
mov ebp, ecx
jmp 0x4f0e1a
cmp edx, 0xffffffff
je 0x4f0df2
lock sub dword [eax], 1
mov eax, dword [esp + 0x90]
je 0x4f0e6a
mov eax, dword [esp + 0x80]
mov dword [esp], eax
call dword [0x610cd4]
sub esp, 4
mov eax, dword [esp + 0x70]
add eax, 1
cmp dword [esp + 0x6c], eax
mov dword [esp + 0x70], eax
jl 0x4f0f6b
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 [0x60fb74]
mov ecx, dword [esp + 0x24]
mov dword [esp], esi
call fcn.00545730
sub esp, 4
mov eax, dword [esp + 0x90]
mov edx, dword [eax]
test edx, edx
jne 0x4f0de0
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [0x60f7f4]
jmp 0x4f0df2
lea eax, [esp + 0x6c]
mov dword [esp + 4], 1
mov dword [esp], ebx
mov dword [esp + 8], eax
call dword [0x610cbc]
sub esp, 0xc
lea eax, [esp + 0x70]
mov dword [esp + 4], 1
mov dword [esp], ebx
mov dword [esp + 8], eax
call dword [0x610cc0]
sub esp, 0xc
mov eax, dword [esp + 0x70]
lea ecx, [esp + 0x68]
mov dword [esp + 0x30], ecx
cmp eax, 0xffffffff
je 0x4f0f62
sub eax, dword [esp + 0x6c]
add eax, 1
mov dword [esp], eax
call dword [0x60f838]
sub esp, 4
mov eax, dword [esp + 0x68]
mov edx, dword [eax]
cmp edx, 1
jbe 0x4f1446
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 [0x60f800]
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 [0x610ca4]
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.004fa35c
mov dword [esp], ebx
call dword [0x610ccc]
sub esp, 4
mov eax, dword [esp + 0x30]
jmp 0x4efdfe
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 [0x60fc14]
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 [0x60fc50]
mov ecx, esi
call fcn.005459a0
jmp 0x4ef31d
lea ebx, [esp + 0x90]
lea esi, [esp + 0x80]
mov ecx, ebx
call dword [0x6101c4]
mov ecx, esi
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
mov dword [esp], 0x41
call dword [0x60fc40]
sub esp, 0xc
mov dword [esp + 4], esi
mov dword [esp], edi
call fcn.005685f0
mov ecx, esi
call dword [0x60fc50]
mov ecx, ebx
call dword [0x6101c8]
jmp 0x4ef31d
lea eax, [esp + 0x80]
mov dword [esp + 0x28], eax
mov eax, dword [0x60fc50]
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x60]
mov dword [esp + 0x30], eax
jmp 0x4f0beb
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 0x4f09b3
lea esi, [esp + 0x90]
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov dword [esp], esi
call dword [0x61008c]
jmp 0x4f09c2
lea eax, [esp + 0x5c]
mov dword [esp], ebx
mov dword [esp + 4], eax
call dword [0x610cc4]
sub esp, 8
cmp word [esp + 0x5c], 0x17
ja case.0x4f1120.8
movzx eax, word [esp + 0x5c]
jmp dword [eax*4 + 0x5d8290]
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 [0x610cbc]
sub esp, 0xc
lea eax, [esp + 0x68]
mov dword [esp + 4], 1
mov dword [esp], ebx
mov dword [esp + 8], eax
call dword [0x610cc0]
sub esp, 0xc
mov eax, dword [esp + 0x64]
cmp eax, dword [esp + 0x68]
mov dword [esp + 0x6c], eax
jg 0x4f1089
lea edx, [esp + 0x60]
mov esi, dword [0x60fc50]
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 [0x610cb8]
mov ebp, eax
mov dword [esp + 0x38], edx
mov edx, dword [0x60f84c]
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.004eeda0
mov eax, dword [esp + 0x80]
mov edx, dword [eax]
test edx, edx
je 0x4f12b3
cmp edx, 0xffffffff
je 0x4f1246
lock sub dword [eax], 1
mov eax, dword [esp + 0x80]
je 0x4f12b3
mov dword [esp], edi
call fcn.004f7d20
mov ecx, dword [esp + 0x30]
mov dword [esp], esi
call fcn.00545c50
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 0x4f11cf
jmp 0x4f0bdd
lea ebx, [esp + 0x90]
lea eax, [esp + 0x60]
mov ecx, ebx
mov dword [esp + 0x30], eax
mov dword [esp], eax
call dword [0x60fc18]
push edx
mov dword [esp + 4], ebx
mov dword [esp], edi
call fcn.005685f0
mov ecx, ebx
call dword [0x60fc50]
jmp 0x4ef226
mov dword [esp + 8], 4
mov dword [esp + 4], 1
mov dword [esp], eax
call dword [0x60f7f4]
jmp 0x4f1246
lea eax, [esp + 0x6c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x34]
lea ecx, [esp + 0x80]
mov dword [esp], eax
call dword [0x60fc14]
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 [0x60fc50]
jmp 0x4f0c2e
mov eax, dword [0x60fc50]
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x54]
mov dword [esp + 0x48], eax
mov eax, dword [0x60fc18]
mov dword [esp + 0x4c], eax
jmp 0x4efc22
mov eax, dword [esp + 0xc8]
mov dword [esp + 4], 0x5d8267
mov ebx, dword [0x60f7e4]
mov dword [esp], eax
call ebx
test eax, eax
jne 0x4f147a
mov dword [esp], 0x10
call fcn.004f9c48
mov ebx, eax
mov eax, dword [esp + 0x54]
mov dword [esp + 4], 0
mov ecx, ebx
mov dword [esp], eax
call fcn.004f7000
push ecx
push ecx
mov dword [esp + 0x80], ebx
lea ebx, [esp + 0x90]
call fcn.004fbc00
lea edx, [esp + 0x80]
mov ecx, ebx
mov dword [esp], eax
mov dword [esp + 8], 1
mov dword [esp + 4], edx
call dword [0x60fc40]
sub esp, 0xc
mov dword [esp + 4], ebx
mov dword [esp], edi
call fcn.005685f0
mov ecx, ebx
call dword [0x60fc50]
jmp 0x4ef31d
cmp dword [eax + 0xc], 0x10
jne 0x4f0ef7
jmp 0x4f0f1c
mov edx, dword [esp + 0x90]
mov dword [esp + 8], 4
mov dword [esp + 4], 1
mov dword [esp], edx
call dword [0x60f7f4]
jmp 0x4f009c
mov eax, dword [esp + 0xc8]
mov dword [esp + 4], str.IDispatch
mov dword [esp], eax
call ebx
test eax, eax
je 0x4f14ac
mov eax, dword [esp + 0xc8]
mov ebx, dword [0x60fd1c]
mov dword [esp], eax
call ebx
test eax, eax
jne 0x4f1541
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 [0x60f900]
mov dword [esp + 8], 1
mov dword [esp + 4], 0
mov dword [esp], esi
call fcn.004fa7a0
mov edx, dword [esp + 0x90]
mov ebx, eax
mov ecx, dword [edx]
test ecx, ecx
je 0x4f1526
add ecx, 1
je 0x4f14fe
lock sub dword [edx], 1
je 0x4f151f
lea eax, [esp + 0x54]
jmp 0x4f00a0
lea eax, [esp + 0x80]
mov dword [esp + 0x28], eax
lea eax, [esp + 0x64]
mov dword [esp + 0x24], eax
jmp 0x4f0f79
mov edx, dword [esp + 0x90]
mov dword [esp + 8], 4
mov dword [esp + 4], 1
mov dword [esp], edx
call dword [0x60f7f4]
jmp 0x4f14fe
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 0x4f1621
mov dword [esp + 4], 0xffffffff
mov dword [esp], 0x2a
mov ecx, dword [esp + 0xc8]
call dword [0x60fd58]
push edx
push edx
cmp eax, 0xffffffff
lea esi, [esp + 0x90]
je 0x4f15bb
mov dword [esp + 4], eax
mov eax, dword [esp + 0xc8]
mov ecx, esi
mov dword [esp], eax
call dword [0x60fd60]
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.004fb860
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.004df7e0
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 [0x60fc3c]
push ecx
push ecx
mov dword [esp + 4], esi
mov dword [esp], edi
call fcn.005685f0
mov ecx, esi
call dword [0x60fc50]
lea ecx, [esp + 0x70]
call fcn.004fb860
jmp 0x4ef31d
lock add dword [eax], 1
jmp 0x4f155c