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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x9c
mov ebp, dword [esp + 0xb0]
mov esi, dword [esp + 0xb4]
mov edi, dword [esp + 0xbc]
mov eax, dword [ebp + 8]
mov dword [ebp], 0
and eax, 0xc0000000
mov dword [ebp + 8], eax
mov byte [ebp + 0xb], pe_nt_image_headers32
movzx eax, word [esi]
cmp ax, 0x2011
je 0x4cf455
jbe 0x4ce763
cmp ax, 0x400d
je 0x4cefa1
ja 0x4ce7c0
cmp ax, 0x4006
je 0x4cea2f
jbe 0x4ce957
cmp ax, 0x4009
je 0x4cf634
ja 0x4cf056
cmp ax, 0x4007
je 0x4ceed2
cmp ax, 0x4008
jne 0x4ce834
mov dword [esp + 8], 0xffffffff
mov eax, dword [esi + 8]
lea ebx, [esp + 0x60]
mov eax, dword [eax]
mov dword [esp + 4], eax
mov dword [esp], ebx
call dword [0x543ebc]
mov dword [esp], ebx
lea ecx, [esp + 0x70]
call dword [0x543f00]
sub esp, 4
mov eax, dword [ebp]
mov edx, dword [ebp + 4]
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x84], edx
mov dword [esp + 0x80], eax
mov ebx, eax
mov dword [ebp], ecx
mov ecx, dword [esp + 0x74]
movzx edx, byte [ebp + 0xb]
mov eax, dword [ebp + 8]
mov dword [ebp + 4], ecx
mov ecx, dword [esp + 0x78]
and eax, 0x3fffffff
mov dword [ebp + 8], ecx
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x70], ebx
and ecx, 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
lea ecx, [esp + 0x70]
or eax, edx
mov byte [esp + 0x8b], al
mov eax, dword [esp + 0x84]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x78], eax
call dword [0x543f30]
mov eax, dword [esp + 0x60]
mov edx, dword [eax]
test edx, edx
je 0x4ce745
cmp edx, 0xffffffff
je 0x4ceb0a
lock sub dword [eax], 1
jne 0x4ceb0a
mov eax, dword [esp + 0x60]
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [0x543d24]
jmp 0x4ceb0a
cmp ax, 0xd
je 0x4cefa1
ja 0x4ce800
cmp ax, 6
je 0x4cea5d
jbe 0x4ce91b
cmp ax, 9
je 0x4cf634
ja 0x4cf02f
cmp ax, 7
je 0x4cedc1
cmp ax, 8
jne 0x4ce834
mov dword [esp + 8], 0xffffffff
lea ebx, [esp + 0x60]
mov eax, dword [esi + 8]
jmp 0x4ce67d
cmp ax, 0x4015
je 0x4cf6d8
ja 0x4ce9eb
cmp ax, 0x4012
je 0x4cf7db
ja 0x4cea1f
cmp ax, 0x4010
je 0x4cecd3
cmp ax, 0x4011
jne 0x4ce834
mov eax, dword [esi + 8]
movzx eax, byte [eax]
jmp 0x4ce9d6
cmp ax, 0x14
je 0x4cea5d
jbe 0x4ce995
cmp ax, 0x17
je 0x4cf7c6
ja 0x4cf289
cmp ax, 0x15
je 0x4ceda2
cmp ax, 0x16
je 0x4ce9d3
test ah, 0x20
je 0x4ceb0a
test ah, 0x40
mov eax, dword [esi + 8]
je 0x4d03fe
mov eax, dword [eax]
mov dword [esp + 0x30], eax
mov eax, dword [0x543f80]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x30]
test eax, eax
je 0x4ce86a
cmp word [eax], 1
je 0x4d086b
lea eax, [esp + 0x50]
lea ecx, [esp + 0x70]
mov dword [esp + 0x28], eax
mov dword [esp], eax
call dword [0x543efc]
mov edx, dword [ebp + 4]
sub esp, 4
mov eax, dword [ebp]
mov ebx, dword [ebp + 8]
mov dword [esp + 0x84], edx
mov edx, dword [esp + 0x70]
mov ecx, eax
mov dword [esp + 0x80], eax
movzx eax, byte [ebp + 0xb]
and ebx, 0x3fffffff
mov dword [esp + 0x70], ecx
lea ecx, [esp + 0x70]
mov dword [ebp], edx
mov edx, dword [esp + 0x74]
mov dword [ebp + 4], edx
mov edx, dword [esp + 0x78]
mov dword [ebp + 8], edx
mov edx, dword [esp + 0x88]
and edx, 0xc0000000
or edx, ebx
mov ebx, eax
and eax, 0xffffff80
mov dword [esp + 0x88], edx
shr edx, 0x18
and ebx, 0x40
and edx, 0x3f
or edx, ebx
or eax, edx
mov byte [esp + 0x8b], al
mov eax, dword [esp + 0x84]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x78], eax
call dword [0x543f30]
mov ecx, dword [esp + 0x28]
call fcn.004eb530
jmp 0x4ceb0a
cmp ax, 3
je 0x4ce9b9
jbe 0x4cf56a
cmp ax, 4
je 0x4ceea6
cmp ax, 5
jne 0x4ce834
fld qword [esi + 8]
lea ecx, [esp + 0x70]
fstp qword [esp]
call dword [0x543f10]
sub esp, 8
jmp 0x4cea80
cmp ax, 0x4003
je 0x4cea39
jbe 0x4cf61f
cmp ax, 0x4004
je 0x4ceebb
cmp ax, 0x4005
jne 0x4ce834
mov eax, dword [esi + 8]
lea ecx, [esp + 0x70]
fld qword [eax]
fstp qword [esp]
call dword [0x543f10]
sub esp, 8
jmp 0x4cea80
cmp ax, 0x11
je 0x4cf6e5
jbe 0x4cf557
cmp ax, 0x12
je 0x4cecca
cmp ax, 0x13
jne 0x4ce834
cmp edi, 0x43
je 0x4cef92
test edi, edi
je 0x4cf7fd
cmp edi, 0x4a
je 0x4cf850
mov eax, dword [esi + 8]
mov dword [esp], eax
lea ecx, [esp + 0x70]
call dword [0x543f18]
sub esp, 4
jmp 0x4cea80
cmp ax, 0x6008
je 0x4cf6ee
ja 0x4cf441
cmp ax, 0x4016
je 0x4cea53
cmp ax, 0x4017
jne 0x4ce834
mov eax, dword [esi + 8]
lea ecx, [esp + 0x70]
mov eax, dword [eax]
mov dword [esp], eax
call dword [0x543f24]
jmp 0x4ce9e3
cmp ax, 0x4013
je 0x4cea39
cmp ax, 0x4014
jne 0x4ce834
mov eax, dword [esi + 8]
mov edx, dword [eax + 4]
mov eax, dword [eax]
jmp 0x4cea63
cmp edi, 0x43
je 0x4ceee0
test edi, edi
je 0x4cf91d
cmp edi, 0x4a
je 0x4cf970
mov eax, dword [esi + 8]
mov eax, dword [eax]
jmp 0x4ce9d6
mov eax, dword [esi + 8]
mov edx, dword [esi + 0xc]
mov dword [esp], eax
mov dword [esp + 4], edx
lea ecx, [esp + 0x70]
call dword [0x543f28]
sub esp, 8
mov esi, esi
lea edi, [edi]
mov eax, dword [ebp]
mov edx, dword [ebp + 4]
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x84], edx
mov dword [esp + 0x80], eax
mov ebx, eax
mov dword [ebp], ecx
mov ecx, dword [esp + 0x74]
movzx edx, byte [ebp + 0xb]
mov eax, dword [ebp + 8]
mov dword [ebp + 4], ecx
mov ecx, dword [esp + 0x78]
and eax, 0x3fffffff
mov dword [ebp + 8], ecx
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x70], ebx
and ecx, 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
lea ecx, [esp + 0x70]
or eax, edx
mov byte [esp + 0x8b], al
mov eax, dword [esp + 0x84]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x78], eax
call dword [0x543f30]
test edi, edi
jne 0x4ceb50
mov eax, dword [esp + 0xb8]
mov eax, dword [eax]
mov edx, dword [eax + 4]
test edx, edx
je 0x4ceb50
mov eax, dword [esp + 0xb8]
mov dword [esp + 4], 0x52e671
mov dword [esp], eax
call dword [0x543d1c]
test eax, eax
jne 0x4cec99
add esp, 0x9c
mov eax, ebp
pop ebx
pop esi
pop edi
pop ebp
ret
cmp edi, 0xffffffff
setne dl
cmp edi, 0x29
setne al
and edx, eax
test edi, edi
setne al
and edx, eax
mov ebx, edi
test dl, dl
je 0x4ceb3e
mov ecx, ebp
mov edi, dword [0x54412c]
call edi
cmp eax, ebx
je 0x4ceb3e
mov dword [esp], ebx
mov ecx, ebp
mov esi, dword [0x544114]
call esi
sub esp, 4
test al, al
jne 0x4cec43
cmp ebx, 0xb
je 0x4cf069
mov eax, dword [esp + 0x78]
mov ebx, dword [esp + 0x74]
and eax, 0xc0000000
mov dword [esp + 0x78], eax
mov byte [esp + 0x7b], pe_nt_image_headers32
mov eax, dword [ebp]
mov edx, dword [ebp + 4]
mov dword [ebp + 4], ebx
mov ebx, dword [esp + 0x78]
mov dword [ebp], 0
mov dword [esp + 0x84], edx
mov ecx, eax
movzx edx, byte [ebp + 0xb]
mov dword [esp + 0x80], eax
mov eax, dword [ebp + 8]
mov dword [ebp + 8], ebx
mov ebx, dword [esp + 0x88]
mov dword [esp + 0x70], ecx
lea ecx, [esp + 0x70]
and eax, 0x3fffffff
and ebx, 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 eax, edx
mov byte [esp + 0x8b], al
mov eax, dword [esp + 0x84]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x78], eax
call dword [0x543f30]
add esp, 0x9c
mov eax, ebp
pop ebx
pop esi
pop edi
pop ebp
ret
lea eax, [esp + 0x80]
mov dword [esp], ebp
mov edi, eax
mov ecx, eax
mov dword [esp + 0x1c], eax
call dword [0x543f08]
sub esp, 4
mov ecx, edi
mov dword [esp], ebx
call dword [0x543eec]
sub esp, 4
test al, al
je 0x4cec82
mov eax, dword [esp + 0x1c]
mov ecx, ebp
mov dword [esp], eax
call dword [0x543f34]
sub esp, 4
mov ecx, dword [esp + 0x1c]
call dword [0x543f30]
add esp, 0x9c
mov eax, ebp
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [esp + 0xb8]
mov eax, dword [eax]
add eax, dword [eax + 0xc]
mov dword [esp], eax
call dword [0x543ee4]
cmp eax, 0xffffffff
mov ebx, eax
setne dl
cmp eax, 0x29
setne al
and edx, eax
test ebx, ebx
setne al
and edx, eax
jmp 0x4ceb67
movzx eax, word [esi + 8]
jmp 0x4ce9d6
mov eax, dword [esi + 8]
movsx eax, byte [eax]
mov dword [esp], eax
lea ecx, [esp + 0x70]
call dword [0x543f18]
sub esp, 4
mov eax, dword [ebp]
mov edx, dword [ebp + 4]
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x84], edx
mov dword [esp + 0x80], eax
mov ebx, eax
mov dword [ebp], ecx
mov ecx, dword [esp + 0x74]
movzx edx, byte [ebp + 0xb]
mov eax, dword [ebp + 8]
mov dword [ebp + 4], ecx
mov ecx, dword [esp + 0x78]
and eax, 0x3fffffff
mov dword [ebp + 8], ecx
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x70], ebx
and ecx, 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
lea ecx, [esp + 0x70]
or eax, edx
mov byte [esp + 0x8b], al
mov eax, dword [esp + 0x84]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x78], eax
call dword [0x543f30]
mov dword [esp + 4], str.char
mov eax, dword [esp + 0xb8]
mov dword [esp], eax
call dword [0x543d1c]
test eax, eax
jne 0x4ceb0a
mov edx, 1
mov edi, 2
jmp 0x4ceb65
mov eax, dword [esi + 8]
mov edx, dword [esi + 0xc]
mov dword [esp], eax
mov dword [esp + 4], edx
lea ecx, [esp + 0x70]
call dword [0x543f2c]
sub esp, 8
jmp 0x4cea80
lea ebx, [esp + 0x60]
fld qword [esi + 8]
fstp qword [esp]
mov eax, ebx
call fcn.004ce010
lea ecx, [esp + 0x70]
mov dword [esp], ebx
call dword [0x543f04]
mov edx, dword [ebp + 4]
sub esp, 4
mov eax, dword [ebp]
mov dword [esp + 0x84], edx
mov edx, dword [esp + 0x70]
mov ecx, eax
mov dword [esp + 0x80], eax
movzx eax, byte [ebp + 0xb]
mov esi, dword [ebp + 8]
mov dword [ebp], edx
mov edx, dword [esp + 0x74]
and esi, 0x3fffffff
mov dword [ebp + 4], edx
mov edx, dword [esp + 0x78]
mov dword [ebp + 8], edx
mov edx, dword [esp + 0x88]
mov dword [esp + 0x70], ecx
lea ecx, [esp + 0x70]
and edx, 0xc0000000
or edx, esi
mov esi, eax
and eax, 0xffffff80
mov dword [esp + 0x88], edx
shr edx, 0x18
and esi, 0x40
and edx, 0x3f
or edx, esi
or eax, edx
mov byte [esp + 0x8b], al
mov eax, dword [esp + 0x84]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x78], eax
call dword [0x543f30]
mov ecx, ebx
call dword [0x543f4c]
cmp edi, 0xe
je 0x4cf7e6
test edi, edi
je 0x4d0058
cmp edi, 0xf
jne 0x4ceb0a
mov dword [esp], 0xf
mov ecx, ebp
call dword [0x543eec]
sub esp, 4
jmp 0x4ceb0a
fld dword [esi + 8]
lea ecx, [esp + 0x70]
fstp dword [esp]
call dword [0x543f14]
jmp 0x4ce9e3
mov eax, dword [esi + 8]
lea ecx, [esp + 0x70]
fld dword [eax]
fstp dword [esp]
call dword [0x543f14]
jmp 0x4ce9e3
mov eax, dword [esi + 8]
lea ebx, [esp + 0x60]
fld qword [eax]
jmp 0x4cedc8
mov eax, dword [esi + 8]
lea ebx, [esp + 0x80]
mov eax, dword [eax]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.004d5300
mov dword [esp + 4], ebx
lea ecx, [esp + 0x60]
mov dword [esp + 8], 0
mov dword [esp], 0x43
call dword [0x543f20]
sub esp, 0xc
mov eax, dword [ebp]
mov edx, dword [ebp + 4]
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x74], edx
mov dword [esp + 0x70], eax
mov ebx, eax
mov dword [ebp], ecx
mov ecx, dword [esp + 0x64]
movzx edx, byte [ebp + 0xb]
mov eax, dword [ebp + 8]
mov dword [ebp + 4], ecx
mov ecx, dword [esp + 0x68]
and eax, 0x3fffffff
mov dword [ebp + 8], ecx
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x60], ebx
and ecx, 0xc0000000
or eax, ecx
mov ecx, edx
and edx, 0xffffff80
mov dword [esp + 0x78], eax
shr eax, 0x18
and ecx, 0x40
and eax, 0x3f
or eax, ecx
lea ecx, [esp + 0x60]
or eax, edx
mov byte [esp + 0x7b], al
mov eax, dword [esp + 0x74]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x68], eax
call dword [0x543f30]
jmp 0x4ceb0a
lea ebx, [esp + 0x80]
mov eax, dword [esi + 8]
jmp 0x4ceeec
test ah, 0x40
mov dword [esp + 0x60], 0
mov eax, dword [esi + 8]
je 0x4cfa6e
mov eax, dword [eax]
mov dword [esp + 0x60], eax
mov ebx, dword [0x5060fc]
test ebx, ebx
je 0x4cfd2c
test byte [ebp + 0xb], 0x40
jne 0x4d00cd
mov eax, dword [ebp + 8]
and eax, 0x3fffffff
cmp eax, ebx
je 0x4ceff1
cmp ebx, 7
ja 0x4d00dc
cmp eax, 7
ja 0x4d00dc
mov eax, dword [ebp + 8]
and ebx, 0x3fffffff
and eax, 0xc0000000
or eax, ebx
mov dword [ebp + 8], eax
shr eax, 0x18
mov edx, eax
and edx, 0x7f
test al, 0x40
mov byte [ebp + 0xb], dl
je 0x4cfd25
mov eax, dword [ebp]
mov eax, dword [eax]
test eax, eax
je 0x4ceb0a
mov edx, dword [esp + 0x60]
mov dword [eax], edx
jmp 0x4ceb0a
cmp ax, 0xb
jne 0x4cf97e
cmp word [esi + 8], 0
setne al
lea ecx, [esp + 0x70]
movzx eax, al
mov dword [esp], eax
call dword [0x543f0c]
jmp 0x4ce9e3
cmp ax, 0x400b
jne 0x4cfa44
mov eax, dword [esi + 8]
cmp word [eax], 0
jmp 0x4cf03e
mov ecx, ebp
call edi
cmp eax, 9
jne 0x4ceb9a
mov eax, dword [0x543f80]
mov dword [esp], ebp
mov dword [esp + 0x5c], eax
lea eax, [esp + 0x60]
mov edi, eax
mov ecx, eax
mov dword [esp + 0x20], eax
call dword [0x54413c]
sub esp, 4
lea eax, [esp + 0x80]
mov dword [esp], edi
mov ecx, eax
mov dword [esp + 0x1c], eax
call fcn.004eb490
sub esp, 4
mov edx, dword [esp + 0x80]
mov eax, dword [edx + 8]
mov ecx, dword [edx + 0xc]
mov dword [esp + 0x8c], 1
lea eax, [edx + eax*4 + 0x10]
lea edx, [edx + ecx*4 + 0x10]
cmp eax, edx
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], edx
je 0x4cf1d5
lea ebx, [esp + 0x5c]
mov dword [esp + 0xb0], ebp
mov edx, 1
mov edi, 1
mov dword [esp + 0x24], ebx
mov ebp, ebx
jmp 0x4cf130
xor edi, edi
mov eax, dword [esp + 0x84]
add eax, 4
cmp eax, dword [esp + 0x88]
mov dword [esp + 0x8c], 1
mov dword [esp + 0x84], eax
je 0x4cf1a0
mov edx, dword [esp + 0x8c]
test edx, edx
mov ebx, dword [eax]
je 0x4cf10b
mov dword [esp], 0xa
mov ecx, ebx
call esi
sub esp, 4
test al, al
je 0x4cf102
lea ecx, [esp + 0x70]
mov dword [esp], ebx
call dword [0x54415c]
sub esp, 4
mov ecx, ebp
lea eax, [esp + 0x70]
mov dword [esp], eax
call fcn.004eaf90
sub esp, 4
mov eax, dword [esp + 0x70]
mov edx, dword [eax]
test edx, edx
je 0x4cf182
cmp edx, 0xffffffff
je 0x4cf104
lock sub dword [eax], 1
jne 0x4cf104
mov eax, dword [esp + 0x70]
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [0x543d24]
jmp 0x4cf104
mov ecx, dword [esp + 0x1c]
mov ebp, dword [esp + 0xb0]
call fcn.004eb530
mov eax, edi
test al, al
jne 0x4cf1e6
mov ecx, dword [esp + 0x20]
call fcn.004eb530
mov ecx, dword [esp + 0x24]
call fcn.004eb180
add esp, 0x9c
mov eax, ebp
pop ebx
pop esi
pop edi
pop ebp
ret
mov ecx, dword [esp + 0x1c]
call fcn.004eb530
lea eax, [esp + 0x5c]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x24]
lea ecx, [esp + 0x70]
mov dword [esp], eax
call dword [0x543ef8]
sub esp, 4
mov eax, dword [ebp]
mov edx, dword [ebp + 4]
mov ecx, dword [esp + 0x70]
mov ebx, eax
mov dword [esp + 0x84], edx
mov dword [esp + 0x80], eax
mov dword [ebp], ecx
mov ecx, dword [esp + 0x74]
movzx edx, byte [ebp + 0xb]
mov eax, dword [ebp + 8]
mov dword [esp + 0x70], ebx
mov dword [ebp + 4], ecx
mov ecx, dword [esp + 0x78]
and eax, 0x3fffffff
mov dword [ebp + 8], ecx
mov ecx, dword [esp + 0x88]
and ecx, 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
lea ecx, [esp + 0x70]
or eax, edx
mov byte [esp + 0x8b], al
mov eax, dword [esp + 0x84]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x78], eax
call dword [0x543f30]
jmp 0x4cf1b6
cmp ax, 0x2008
je 0x4cf6ee
cmp ax, 0x200c
jne 0x4ce834
test ah, 0x40
mov eax, dword [esi + 8]
je 0x4cfa5c
mov eax, dword [eax]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x4d0101
mov dword [esp], eax
call dword [0x544844]
sub esp, 4
cmp eax, 1
jne 0x4cfd89
mov eax, dword [0x543f80]
mov esi, dword [esp + 0x1c]
mov dword [esp + 4], 1
mov dword [esp + 0x50], eax
lea eax, [esp + 0x54]
mov dword [esp], esi
mov dword [esp + 8], eax
call dword [0x54484c]
sub esp, 0xc
lea eax, [esp + 0x58]
mov dword [esp + 4], 1
mov dword [esp], esi
mov dword [esp + 8], eax
call dword [0x544850]
sub esp, 0xc
mov eax, dword [esp + 0x54]
cmp dword [esp + 0x58], eax
mov dword [esp + 0x5c], eax
jl 0x4d0c22
mov ebx, dword [0x543f30]
mov ecx, dword [0x543d74]
lea eax, [esp + 0x60]
mov dword [esp + 0xb0], ebp
mov dword [esp + 0xbc], edi
lea esi, [esp + 0x70]
mov ebp, eax
mov dword [esp + 0x34], ebx
lea ebx, [esp + 0x50]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x28], ebx
lea ebx, [esp + 0x80]
mov edx, ebx
lea ebx, [esp + 0x5c]
mov edi, edx
mov dword [esp + 0x24], ebx
mov ebx, dword [0x544870]
mov dword [esp + 0x20], ebx
mov ebx, dword [0x544848]
jmp 0x4cf3c3
cmp edx, 0xffffffff
je 0x4cf38f
lock sub dword [eax], 1
je 0x4d0c4f
mov dword [esp], esi
call fcn.004d5350
mov ecx, dword [esp + 0x28]
mov dword [esp], edi
call fcn.004eb2e0
sub esp, 4
mov ecx, edi
mov eax, dword [esp + 0x34]
call eax
mov eax, dword [esp + 0x5c]
add eax, 1
cmp dword [esp + 0x58], eax
mov dword [esp + 0x5c], eax
jl 0x4d01b5
mov dword [esp], esi
call dword [esp + 0x20]
sub esp, 4
mov eax, dword [esp + 0x24]
mov dword [esp + 8], esi
mov dword [esp + 4], eax
mov eax, dword [esp + 0x1c]
mov dword [esp], eax
call ebx
sub esp, 0xc
mov ecx, ebp
mov dword [esp + 4], 0xffffffff
mov dword [esp], 0
call dword [esp + 0x2c]
sub esp, 8
mov dword [esp + 0xc], 0
mov dword [esp + 8], ebp
mov dword [esp + 4], esi
mov dword [esp], edi
call fcn.004ce5e0
mov eax, dword [esp + 0x60]
mov edx, dword [eax]
test edx, edx
jne 0x4cf380
mov dword [esp + 8], 4
mov dword [esp + 4], 1
mov dword [esp], eax
call dword [0x543d24]
jmp 0x4cf38f
cmp ax, 0x600c
je 0x4cf29d
cmp ax, 0x6011
jne 0x4ce834
test ah, 0x40
je 0x4cfa77
mov eax, dword [esi + 8]
mov ebx, dword [eax]
mov eax, dword [0x543d28]
test ebx, ebx
mov dword [esp + 0x58], eax
je 0x4cf47a
cmp word [ebx], 1
je 0x4d05c0
lea eax, [esp + 0x58]
mov dword [esp], eax
lea ecx, [esp + 0x70]
call dword [0x543ef4]
sub esp, 4
mov eax, dword [ebp]
mov edx, dword [ebp + 4]
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x84], edx
mov dword [esp + 0x80], eax
mov ebx, eax
mov dword [ebp], ecx
mov ecx, dword [esp + 0x74]
movzx edx, byte [ebp + 0xb]
mov eax, dword [ebp + 8]
mov dword [ebp + 4], ecx
mov ecx, dword [esp + 0x78]
and eax, 0x3fffffff
mov dword [ebp + 8], ecx
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x70], ebx
and ecx, 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
lea ecx, [esp + 0x70]
or eax, edx
mov byte [esp + 0x8b], al
mov eax, dword [esp + 0x84]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x78], eax
call dword [0x543f30]
mov eax, dword [esp + 0x58]
mov edx, dword [eax]
test edx, edx
je 0x4cf539
cmp edx, 0xffffffff
je 0x4ceb0a
lock sub dword [eax], 1
jne 0x4ceb0a
mov eax, dword [esp + 0x58]
mov dword [esp + 8], 4
mov dword [esp + 4], 1
mov dword [esp], eax
call dword [0x543d24]
jmp 0x4ceb0a
cmp ax, 0x10
jne 0x4ce834
movsx eax, byte [esi + 8]
jmp 0x4cecd9
cmp ax, 2
jne 0x4ce834
movsx eax, word [esi + 8]
mov dword [esp], eax
lea ecx, [esp + 0x70]
call dword [0x543f18]
sub esp, 4
mov eax, dword [ebp]
mov edx, dword [ebp + 4]
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x84], edx
mov dword [esp + 0x80], eax
mov ebx, eax
mov dword [ebp], ecx
mov ecx, dword [esp + 0x74]
movzx edx, byte [ebp + 0xb]
mov eax, dword [ebp + 8]
mov dword [ebp + 4], ecx
mov ecx, dword [esp + 0x78]
and eax, 0x3fffffff
mov dword [ebp + 8], ecx
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x70], ebx
and ecx, 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
lea ecx, [esp + 0x70]
or eax, edx
mov byte [esp + 0x8b], al
mov eax, dword [esp + 0x84]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x78], eax
call dword [0x543f30]
mov dword [esp + 4], str.short
jmp 0x4ced7b
cmp ax, 0x4002
jne 0x4ce834
mov eax, dword [esi + 8]
movsx eax, word [eax]
jmp 0x4cf578
test ah, 0x40
mov dword [esp + 0x44], 0
mov eax, dword [esi + 8]
je 0x4cfa65
mov eax, dword [eax]
mov dword [esp + 0x44], eax
cmp edi, 0x40
je 0x4cfa7f
test edi, edi
je 0x4d026c
cmp edi, 0x41
je 0x4d02d8
mov eax, dword [esp + 0xb8]
mov eax, dword [eax]
mov eax, dword [eax + 4]
test eax, eax
je 0x4ceb0a
test word [esi], 0x4000
je 0x4d07f8
mov dword [esp + 8], 1
mov dword [esp + 4], 0
add esi, 8
mov dword [esp], 0x52e60b
lea ebx, [esp + 0x80]
call fcn.004d6450
mov dword [esp + 4], esi
mov dword [esp], eax
mov ecx, ebx
call dword [0x543f1c]
sub esp, 8
mov dword [esp + 4], ebx
mov dword [esp], ebp
call fcn.004f3730
mov ecx, ebx
call dword [0x543f30]
jmp 0x4ceb0a
mov eax, dword [esi + 8]
mov edx, dword [eax + 4]
mov eax, dword [eax]
jmp 0x4ceda8
movzx eax, byte [esi + 8]
jmp 0x4ce9d6
test ah, 0x40
mov eax, dword [esi + 8]
je 0x4cfa53
mov eax, dword [eax]
mov dword [esp + 0x24], eax
mov eax, dword [0x543f80]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x24]
test eax, eax
je 0x4cf71b
cmp word [eax], 1
je 0x4d0429
lea ebx, [esp + 0x54]
lea ecx, [esp + 0x70]
mov dword [esp], ebx
call dword [0x543ef8]
mov edx, dword [ebp + 4]
sub esp, 4
mov eax, dword [ebp]
mov esi, dword [ebp + 8]
mov dword [esp + 0x84], edx
mov edx, dword [esp + 0x70]
mov ecx, eax
mov dword [esp + 0x80], eax
movzx eax, byte [ebp + 0xb]
and esi, 0x3fffffff
mov dword [esp + 0x70], ecx
lea ecx, [esp + 0x70]
mov dword [ebp], edx
mov edx, dword [esp + 0x74]
mov dword [ebp + 4], edx
mov edx, dword [esp + 0x78]
mov dword [ebp + 8], edx
mov edx, dword [esp + 0x88]
and edx, 0xc0000000
or edx, esi
mov esi, eax
and eax, 0xffffff80
mov dword [esp + 0x88], edx
shr edx, 0x18
and esi, 0x40
and edx, 0x3f
or edx, esi
or eax, edx
mov byte [esp + 0x8b], al
mov eax, dword [esp + 0x84]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x78], eax
call dword [0x543f30]
mov ecx, ebx
call fcn.004eb180
jmp 0x4ceb0a
mov eax, dword [esi + 8]
lea ecx, [esp + 0x70]
mov dword [esp], eax
call dword [0x543f24]
jmp 0x4ce9e3
mov eax, dword [esi + 8]
movzx eax, word [eax]
jmp 0x4ce9d6
mov dword [esp], 0xe
mov ecx, ebp
call dword [0x543eec]
sub esp, 4
jmp 0x4ceb0a
mov eax, dword [esp + 0xb8]
mov dword [esp + 4], str.QColor
mov ebx, dword [0x543d1c]
mov dword [esp], eax
call ebx
test eax, eax
je 0x4cef92
mov eax, dword [esp + 0xb8]
mov dword [esp + 4], str.QCursor
mov dword [esp], eax
call ebx
test eax, eax
je 0x4cf850
mov eax, dword [esp + 0xb8]
mov edx, 0x52e63e
call fcn.004ce0e0
test al, al
je 0x4ce9d3
mov eax, dword [esi + 8]
lea ebx, [esp + 0x60]
mov dword [esp], eax
mov ecx, ebx
call dword [0x544224]
sub esp, 4
mov dword [esp + 4], ebx
lea ecx, [esp + 0x70]
mov dword [esp + 8], 0
mov dword [esp], 0x4a
call dword [0x543f20]
mov edx, dword [ebp + 4]
sub esp, 0xc
mov eax, dword [ebp]
mov dword [esp + 0x84], edx
mov edx, dword [esp + 0x70]
mov ecx, eax
mov dword [esp + 0x80], eax
movzx eax, byte [ebp + 0xb]
mov esi, dword [ebp + 8]
mov dword [ebp], edx
mov edx, dword [esp + 0x74]
and esi, 0x3fffffff
mov dword [ebp + 4], edx
mov edx, dword [esp + 0x78]
mov dword [ebp + 8], edx
mov edx, dword [esp + 0x88]
mov dword [esp + 0x70], ecx
lea ecx, [esp + 0x70]
and edx, 0xc0000000
or edx, esi
mov esi, eax
and eax, 0xffffff80
mov dword [esp + 0x88], edx
shr edx, 0x18
and esi, 0x40
and edx, 0x3f
or edx, esi
or eax, edx
mov byte [esp + 0x8b], al
mov eax, dword [esp + 0x84]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x78], eax
call dword [0x543f30]
mov ecx, ebx
call dword [0x544230]
jmp 0x4ceb0a
mov eax, dword [esp + 0xb8]
mov dword [esp + 4], str.QColor
mov ebx, dword [0x543d1c]
mov dword [esp], eax
call ebx
test eax, eax
je 0x4ceee0
mov eax, dword [esp + 0xb8]
mov dword [esp + 4], str.QCursor
mov dword [esp], eax
call ebx
test eax, eax
je 0x4cf970
mov eax, dword [esp + 0xb8]
mov edx, 0x52e63e
call fcn.004ce0e0
test al, al
je 0x4cea53
mov eax, dword [esi + 8]
lea ebx, [esp + 0x60]
mov eax, dword [eax]
jmp 0x4cf857
cmp ax, 0xc
jne 0x4ce834
mov eax, dword [esi + 8]
test eax, eax
je 0x4ceb0a
mov esi, dword [esp + 0xb8]
lea ebx, [esp + 0x70]
mov dword [esp + 4], eax
mov dword [esp + 0xc], 0
mov dword [esp], ebx
mov dword [esp + 8], esi
call fcn.004ce5e0
mov edx, dword [ebp + 4]
mov eax, dword [ebp]
mov esi, dword [ebp + 8]
mov dword [esp + 0x84], edx
mov edx, dword [esp + 0x70]
mov ecx, eax
mov dword [esp + 0x80], eax
movzx eax, byte [ebp + 0xb]
and esi, 0x3fffffff
mov dword [esp + 0x70], ecx
mov ecx, ebx
mov dword [ebp], edx
mov edx, dword [esp + 0x74]
mov dword [ebp + 4], edx
mov edx, dword [esp + 0x78]
mov dword [ebp + 8], edx
mov edx, dword [esp + 0x88]
and edx, 0xc0000000
or edx, esi
mov esi, eax
and eax, 0xffffff80
mov dword [esp + 0x88], edx
shr edx, 0x18
and esi, 0x40
and edx, 0x3f
or edx, esi
or eax, edx
mov byte [esp + 0x8b], al
mov eax, dword [esp + 0x84]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x78], eax
call dword [0x543f30]
jmp 0x4ceb0a
cmp ax, 0x400c
je 0x4cf988
jmp 0x4ce834
mov dword [esp + 0x24], eax
jmp 0x4cf700
mov dword [esp + 0x1c], eax
jmp 0x4cf2af
mov dword [esp + 0x44], eax
jmp 0x4cf64e
mov dword [esp + 0x60], eax
jmp 0x4cefbb
mov ebx, dword [esi + 8]
jmp 0x4cf463
mov eax, dword [esp + 0x44]
mov dword [esp + 0x48], 0
test eax, eax
je 0x4d056e
mov edx, dword [eax]
lea ecx, [esp + 0x48]
mov dword [esp + 4], 0x52fd94
mov dword [esp], eax
mov dword [esp + 8], ecx
call dword [edx]
sub esp, 0xc
mov ebx, dword [esp + 0x48]
test ebx, ebx
je 0x4d056e
mov eax, dword [ebx]
lea edx, [esp + 0x4c]
mov dword [esp], ebx
mov dword [esp + 4], edx
call dword [eax + 0xc]
mov eax, dword [ebx]
sub esp, 8
lea edx, [esp + 0x50]
mov dword [esp], ebx
mov dword [esp + 4], edx
call dword [eax + 0x1c]
mov eax, dword [ebx]
sub esp, 8
lea edx, [esp + 0x40]
mov dword [esp], ebx
mov dword [esp + 4], edx
call dword [eax + 0x44]
mov eax, dword [ebx]
sub esp, 8
lea edx, [esp + 0x54]
mov dword [esp], ebx
mov dword [esp + 4], edx
call dword [eax + 0x24]
mov eax, dword [ebx]
sub esp, 8
lea edx, [esp + 0x80]
mov dword [esp], ebx
mov dword [esp + 4], edx
call dword [eax + 0x14]
mov eax, dword [ebx]
sub esp, 8
lea edx, [esp + 0x58]
mov dword [esp], ebx
mov dword [esp + 4], edx
call dword [eax + 0x34]
mov eax, dword [ebx]
sub esp, 8
lea esi, [esp + 0x5c]
mov dword [esp], ebx
mov dword [esp + 4], esi
call dword [eax + 0x2c]
mov eax, dword [ebx]
sub esp, 8
lea edx, [esp + 0x42]
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 + 0x54]
lea esi, [esp + 0x70]
mov dword [esp + 8], 0xffffffff
mov dword [esp], esi
test ebx, ebx
movsx ebx, word [esp + 0x42]
setne cl
mov dword [esp + 0x24], 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 + 0x80]
mov eax, dword [esp + 0x4c]
movsx ebx, bx
mov dword [esp + 4], eax
shr edx, 0xb
mov dword [esp + 0x1c], edx
call dword [0x543ebc]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
lea eax, [esp + 0x60]
mov dword [esp + 8], ebx
mov dword [esp], esi
mov dword [esp + 0x20], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 4], edx
mov ecx, eax
call dword [0x5441f4]
sub esp, 0x10
mov eax, dword [esp + 0x70]
mov edx, dword [eax]
test edx, edx
je 0x4d040b
cmp edx, 0xffffffff
je 0x4cfbfb
lock sub dword [eax], 1
je 0x4d0407
cmp dword [esp + 0x50], 1
mov ebx, dword [esp + 0x20]
mov ecx, ebx
sbb eax, eax
and eax, 0xffffffe7
add eax, 0x4b
mov dword [esp], eax
call dword [0x5441f0]
sub esp, 4
xor eax, eax
mov ecx, dword [esp + 0x58]
test ecx, ecx
mov ecx, ebx
setne al
mov dword [esp], eax
call dword [0x5441dc]
sub esp, 4
xor eax, eax
mov ecx, ebx
mov edx, dword [esp + 0x5c]
test edx, edx
setne al
mov dword [esp], eax
call dword [0x5441e0]
sub esp, 4
mov eax, dword [esp + 0x4c]
mov dword [esp], eax
call dword [0x544864]
sub esp, 4
mov ecx, esi
mov dword [esp + 0x20], ebx
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
mov dword [esp], 0x40
call dword [0x543f20]
mov edx, dword [ebp + 4]
sub esp, 0xc
mov eax, dword [ebp]
mov ebx, dword [ebp + 8]
mov dword [esp + 0x84], edx
mov edx, dword [esp + 0x70]
mov ecx, eax
mov dword [esp + 0x80], eax
movzx eax, byte [ebp + 0xb]
and ebx, 0x3fffffff
mov dword [esp + 0x70], ecx
mov ecx, esi
mov dword [ebp], edx
mov edx, dword [esp + 0x74]
mov dword [ebp + 4], edx
mov edx, dword [esp + 0x78]
mov dword [ebp + 8], edx
mov edx, dword [esp + 0x88]
and edx, 0xc0000000
or edx, ebx
mov ebx, eax
and eax, 0xffffff80
mov dword [esp + 0x88], edx
shr edx, 0x18
and ebx, 0x40
and edx, 0x3f
or edx, ebx
or eax, edx
mov byte [esp + 0x8b], al
mov eax, dword [esp + 0x84]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x78], eax
call dword [0x543f30]
mov ecx, dword [esp + 0x20]
call dword [0x544200]
mov eax, dword [esp + 0x48]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
sub esp, 4
jmp 0x4ceb0a
mov eax, ebp
jmp 0x4cf024
lea ebx, [esp + 0x80]
mov dword [esp + 4], str.IUnknown
mov dword [esp], ebx
call dword [0x543d88]
mov dword [esp], ebx
mov dword [esp + 8], 1
mov dword [esp + 4], 0xffffffff
call fcn.004d6550
mov ebx, eax
mov eax, dword [esp + 0x80]
mov edx, dword [eax]
test edx, edx
je 0x4d0550
cmp edx, 0xffffffff
je 0x4cfd7e
lock sub dword [eax], 1
je 0x4d0549
mov dword [0x5060fc], ebx
jmp 0x4cefc9
cmp eax, 2
jne 0x4d0101
mov eax, dword [0x543f80]
mov ebx, dword [esp + 0x1c]
mov esi, dword [0x54484c]
mov dword [esp + 4], 1
mov dword [esp + 0x44], eax
lea eax, [esp + 0x48]
mov dword [esp], ebx
mov dword [esp + 8], eax
call esi
sub esp, 0xc
lea eax, [esp + 0x4c]
mov dword [esp + 0x1c], ebx
mov dword [esp], ebx
mov dword [esp + 4], 1
mov ebx, dword [0x544850]
mov dword [esp + 8], eax
call ebx
sub esp, 0xc
lea eax, [esp + 0x50]
mov dword [esp + 4], 2
mov dword [esp + 8], eax
mov eax, dword [esp + 0x1c]
mov dword [esp], eax
call esi
sub esp, 0xc
lea eax, [esp + 0x54]
mov dword [esp + 4], 2
mov dword [esp + 8], eax
mov eax, dword [esp + 0x1c]
mov dword [esp], eax
call ebx
sub esp, 0xc
mov eax, dword [esp + 0x48]
cmp eax, dword [esp + 0x4c]
lea esi, [esp + 0x70]
mov dword [esp + 0x30], eax
mov eax, dword [0x543f30]
mov dword [esp + 0x34], eax
jg 0x4d0aa6
lea edx, [esp + 0x58]
lea ebx, [esp + 0x80]
mov dword [esp + 0xb0], ebp
mov dword [esp + 0xbc], edi
mov ebp, eax
mov dword [esp + 0x20], edx
mov edx, dword [0x543efc]
mov edi, ebx
mov dword [esp + 0x3c], edx
lea edx, [esp + 0x44]
mov dword [esp + 0x38], edx
mov eax, dword [0x543f80]
mov ebx, dword [esp + 0x50]
cmp ebx, dword [esp + 0x54]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x60], eax
jg 0x4cff66
mov eax, dword [0x544870]
mov dword [esp + 0x2c], eax
mov eax, dword [0x544848]
mov dword [esp + 0x28], eax
mov eax, dword [0x543d74]
mov dword [esp + 0x24], eax
jmp 0x4cfedc
cmp edx, 0xffffffff
je 0x4cfeb4
lock sub dword [eax], 1
je 0x4d0afb
mov dword [esp], esi
add ebx, 1
call fcn.004d5350
mov ecx, dword [esp + 0x20]
mov dword [esp], edi
call fcn.004eb2e0
sub esp, 4
mov ecx, edi
call ebp
cmp dword [esp + 0x54], ebx
jl 0x4cff66
mov dword [esp], esi
call dword [esp + 0x2c]
sub esp, 4
lea eax, [esp + 0x60]
mov dword [esp + 0x64], ebx
mov dword [esp + 8], esi
mov dword [esp + 4], eax
mov eax, dword [esp + 0x1c]
mov dword [esp], eax
call dword [esp + 0x28]
sub esp, 0xc
lea ecx, [esp + 0x5c]
mov dword [esp + 4], 0xffffffff
mov dword [esp], 0
call dword [esp + 0x24]
sub esp, 8
lea eax, [esp + 0x5c]
mov dword [esp + 0xc], 0
mov dword [esp + 4], esi
mov dword [esp], edi
mov dword [esp + 8], eax
call fcn.004ce5e0
mov eax, dword [esp + 0x5c]
mov edx, dword [eax]
test edx, edx
jne 0x4cfea5
mov dword [esp + 8], 4
mov dword [esp + 4], 1
mov dword [esp], eax
call dword [0x543d24]
jmp 0x4cfeb4
mov ebx, dword [esp + 0x20]
mov ecx, edi
mov dword [esp], ebx
call dword [esp + 0x3c]
sub esp, 4
mov ecx, dword [esp + 0x38]
mov dword [esp], edi
call fcn.004eb2e0
mov ecx, edi
sub esp, 4
call ebp
mov ecx, ebx
call fcn.004eb530
add dword [esp + 0x30], 1
mov eax, dword [esp + 0x30]
cmp dword [esp + 0x4c], eax
jge 0x4cfe69
mov ebp, dword [esp + 0xb0]
mov edi, dword [esp + 0xbc]
mov eax, dword [esp + 0x38]
mov ecx, esi
mov dword [esp], eax
call dword [esp + 0x3c]
mov edx, dword [ebp + 4]
sub esp, 4
mov eax, dword [ebp]
mov ebx, dword [ebp + 8]
mov dword [esp + 0x84], edx
mov edx, dword [esp + 0x70]
mov ecx, eax
mov dword [esp + 0x80], eax
movzx eax, byte [ebp + 0xb]
and ebx, 0x3fffffff
mov dword [esp + 0x70], ecx
mov ecx, esi
mov esi, dword [esp + 0x34]
mov dword [ebp], edx
mov edx, dword [esp + 0x74]
mov dword [ebp + 4], edx
mov edx, dword [esp + 0x78]
mov dword [ebp + 8], edx
mov edx, dword [esp + 0x88]
and edx, 0xc0000000
or edx, ebx
mov ebx, eax
and eax, 0xffffff80
mov dword [esp + 0x88], edx
shr edx, 0x18
and ebx, 0x40
and edx, 0x3f
or edx, ebx
or eax, edx
mov byte [esp + 0x8b], al
mov eax, dword [esp + 0x84]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x78], eax
call esi
mov ecx, dword [esp + 0x38]
call fcn.004eb530
jmp 0x4ceb0a
mov eax, dword [esp + 0xb8]
mov dword [esp + 4], 0x52e647
mov ebx, dword [0x543d1c]
mov dword [esp], eax
call ebx
test eax, eax
je 0x4cf7e6
mov eax, dword [esp + 0xb8]
mov edx, str.QDate
call fcn.004ce0e0
test al, al
jne 0x4cf7e6
mov eax, dword [esp + 0xb8]
mov dword [esp + 4], str.QTime
mov dword [esp], eax
call ebx
test eax, eax
je 0x4cee8f
mov eax, dword [esp + 0xb8]
mov edx, 0x52e654
call fcn.004ce0e0
test al, al
jne 0x4cee8f
jmp 0x4ceb0e
mov eax, dword [ebp]
mov eax, dword [eax + 4]
cmp eax, 1
je 0x4cefd3
lea eax, [esp + 0x60]
mov dword [esp + 8], 1
mov dword [esp], ebx
lea ecx, [esp + 0x70]
mov dword [esp + 4], eax
call dword [0x543f20]
sub esp, 0xc
jmp 0x4cea80
mov eax, dword [0x543f80]
lea ebx, [esp + 0x60]
lea ecx, [esp + 0x70]
mov dword [esp], ebx
mov dword [esp + 0x60], eax
call dword [0x543efc]
mov edx, dword [ebp + 4]
sub esp, 4
mov eax, dword [ebp]
mov esi, dword [ebp + 8]
mov dword [esp + 0x84], edx
mov edx, dword [esp + 0x70]
mov ecx, eax
mov dword [esp + 0x80], eax
movzx eax, byte [ebp + 0xb]
and esi, 0x3fffffff
mov dword [esp + 0x70], ecx
lea ecx, [esp + 0x70]
mov dword [ebp], edx
mov edx, dword [esp + 0x74]
mov dword [ebp + 4], edx
mov edx, dword [esp + 0x78]
mov dword [ebp + 8], edx
mov edx, dword [esp + 0x88]
and edx, 0xc0000000
or edx, esi
mov esi, eax
and eax, 0xffffff80
mov dword [esp + 0x88], edx
shr edx, 0x18
and esi, 0x40
and edx, 0x3f
or edx, esi
or eax, edx
mov byte [esp + 0x8b], al
mov eax, dword [esp + 0x84]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x78], eax
call dword [0x543f30]
mov ecx, ebx
call fcn.004eb530
jmp 0x4ceb0a
mov ebp, dword [esp + 0xb0]
mov edi, dword [esp + 0xbc]
mov eax, dword [esp + 0x28]
mov ecx, esi
mov dword [esp], eax
call dword [0x543efc]
mov edx, dword [ebp + 4]
sub esp, 4
mov eax, dword [ebp]
mov ebx, dword [ebp + 8]
mov dword [esp + 0x84], edx
mov edx, dword [esp + 0x70]
mov ecx, eax
mov dword [esp + 0x80], eax
movzx eax, byte [ebp + 0xb]
and ebx, 0x3fffffff
mov dword [esp + 0x70], ecx
mov ecx, esi
mov esi, dword [esp + 0x34]
mov dword [ebp], edx
mov edx, dword [esp + 0x74]
mov dword [ebp + 4], edx
mov edx, dword [esp + 0x78]
mov dword [ebp + 8], edx
mov edx, dword [esp + 0x88]
and edx, 0xc0000000
or edx, ebx
mov ebx, eax
and eax, 0xffffff80
mov dword [esp + 0x88], edx
shr edx, 0x18
and ebx, 0x40
and edx, 0x3f
or edx, ebx
or eax, edx
mov byte [esp + 0x8b], al
mov eax, dword [esp + 0x84]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x78], eax
call esi
mov ecx, dword [esp + 0x28]
call fcn.004eb530
jmp 0x4ceb0a
mov eax, dword [esp + 0xb8]
mov dword [esp + 4], 0x52e65b
mov ebx, dword [0x543d1c]
mov dword [esp], eax
call ebx
test eax, eax
je 0x4cfa7f
mov eax, dword [esp + 0xb8]
mov edx, str.QFont
call fcn.004ce0e0
test al, al
jne 0x4cfa7f
mov eax, dword [esp + 0xb8]
mov dword [esp + 4], str.QPixmap
mov dword [esp], eax
call ebx
test eax, eax
je 0x4d02d8
mov eax, dword [esp + 0xb8]
mov edx, 0x52e668
call fcn.004ce0e0
test al, al
je 0x4cf668
mov eax, dword [esp + 0x44]
mov dword [esp + 0x5c], 0
test eax, eax
je 0x4d07a6
mov edx, dword [eax]
lea esi, [esp + 0x5c]
mov dword [esp + 4], 0x530264
mov dword [esp], eax
mov dword [esp + 8], esi
call dword [edx]
sub esp, 0xc
mov ebx, dword [esp + 0x5c]
test ebx, ebx
je 0x4d07a6
mov eax, dword [ebx]
lea esi, [esp + 0x60]
mov dword [esp], ebx
mov dword [esp + 0x20], esi
mov dword [esp + 4], esi
call dword [eax + 0x14]
sub esp, 8
cmp word [esp + 0x60], 1
je 0x4d075a
lea eax, [esp + 0x80]
mov dword [esp + 0x1c], eax
mov ecx, eax
call dword [0x544240]
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov dword [esp + 8], 0
mov dword [esp], 0x41
mov dword [esp + 4], esi
call dword [0x543f20]
mov edx, dword [ebp + 4]
sub esp, 0xc
mov eax, dword [ebp]
mov ebx, dword [ebp + 8]
mov dword [esp + 0x74], edx
mov edx, dword [esp + 0x60]
mov ecx, eax
mov dword [esp + 0x70], eax
movzx eax, byte [ebp + 0xb]
and ebx, 0x3fffffff
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x20]
mov dword [ebp], edx
mov edx, dword [esp + 0x64]
mov dword [ebp + 4], edx
mov edx, dword [esp + 0x68]
mov dword [ebp + 8], edx
mov edx, dword [esp + 0x78]
and edx, 0xc0000000
or edx, ebx
mov ebx, eax
and eax, 0xffffff80
mov dword [esp + 0x78], edx
shr edx, 0x18
and ebx, 0x40
and edx, 0x3f
or edx, ebx
or eax, edx
mov byte [esp + 0x7b], al
mov eax, dword [esp + 0x74]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x68], eax
call dword [0x543f30]
mov ecx, esi
call dword [0x544244]
mov eax, dword [esp + 0x5c]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
sub esp, 4
jmp 0x4ceb0a
mov dword [esp + 0x30], eax
jmp 0x4ce84f
mov eax, dword [esp + 0x70]
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [0x543d24]
jmp 0x4cfbfb
mov esi, dword [esp + 0x24]
lea eax, [esp + 0x58]
mov dword [esp + 4], 1
mov dword [esp + 8], eax
mov dword [esp], esi
call dword [0x54484c]
sub esp, 0xc
lea eax, [esp + 0x5c]
mov dword [esp + 4], 1
mov dword [esp], esi
mov dword [esp + 8], eax
call dword [0x544850]
sub esp, 0xc
mov eax, dword [esp + 0x58]
cmp dword [esp + 0x5c], eax
mov dword [esp + 0x60], eax
jl 0x4d06a5
lea eax, [esp + 0x60]
lea esi, [esp + 0x70]
mov ebx, dword [0x544848]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x54]
mov dword [esp + 0x28], eax
lea eax, [esp + 0x80]
mov dword [esp + 0x1c], eax
jmp 0x4d04d2
cmp edx, 0xffffffff
je 0x4d04ad
lock sub dword [eax], 1
je 0x4d0c58
mov eax, dword [esp + 0x70]
mov dword [esp], eax
call dword [0x544864]
sub esp, 4
mov eax, dword [esp + 0x60]
add eax, 1
cmp dword [esp + 0x5c], eax
mov dword [esp + 0x60], eax
jl 0x4d06b1
mov eax, dword [esp + 0x20]
mov dword [esp + 8], esi
mov dword [esp + 4], eax
mov eax, dword [esp + 0x24]
mov dword [esp], eax
call ebx
sub esp, 0xc
mov eax, dword [esp + 0x70]
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], eax
mov eax, dword [esp + 0x1c]
mov dword [esp], eax
call dword [0x543ebc]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x28]
mov dword [esp], eax
call fcn.004eaf90
sub esp, 4
mov eax, dword [esp + 0x80]
mov edx, dword [eax]
test edx, edx
jne 0x4d049e
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [0x543d24]
jmp 0x4d04ad
mov eax, dword [esp + 0x80]
mov dword [esp + 8], 4
mov dword [esp + 4], 1
mov dword [esp], eax
call dword [0x543d24]
jmp 0x4cfd7e
lea ebx, [esp + 0x70]
lea esi, [esp + 0x80]
mov ecx, ebx
call dword [0x5441fc]
mov ecx, esi
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
mov dword [esp], 0x40
call dword [0x543f20]
sub esp, 0xc
mov dword [esp + 4], esi
mov dword [esp], ebp
call fcn.004f3730
mov ecx, esi
call dword [0x543f30]
mov ecx, ebx
call dword [0x544200]
jmp 0x4ceb0a
lea eax, [esp + 0x5c]
mov dword [esp + 4], 1
mov dword [esp], ebx
mov dword [esp + 8], eax
call dword [0x54484c]
sub esp, 0xc
lea eax, [esp + 0x60]
mov dword [esp + 4], 1
mov dword [esp], ebx
mov dword [esp + 8], eax
call dword [0x544850]
sub esp, 0xc
mov eax, dword [esp + 0x60]
lea esi, [esp + 0x58]
mov dword [esp + 0x20], esi
cmp eax, 0xffffffff
je 0x4d069c
sub eax, dword [esp + 0x5c]
mov ecx, esi
add eax, 1
mov dword [esp], eax
call dword [0x543d60]
sub esp, 4
mov edx, dword [esp + 0x58]
mov eax, dword [edx]
cmp eax, 1
jbe 0x4d0c3c
movsx eax, byte [edx + 0xb]
mov ecx, dword [esp + 0x20]
shr eax, 0x1f
mov dword [esp + 4], eax
mov eax, dword [edx + 4]
add eax, 1
mov dword [esp], eax
call dword [0x543d30]
sub esp, 8
mov esi, dword [esp + 0x58]
mov eax, dword [esi + 0xc]
add esi, eax
lea eax, [esp + 0x80]
mov dword [esp], ebx
mov dword [esp + 4], eax
call dword [0x544834]
sub esp, 8
mov eax, dword [esp + 0x58]
mov eax, dword [eax + 4]
mov dword [esp], esi
mov dword [esp + 8], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 4], eax
call fcn.004d5f80
mov dword [esp], ebx
call dword [0x54485c]
sub esp, 4
mov eax, dword [esp + 0x20]
jmp 0x4cf47e
lea eax, [esp + 0x54]
lea esi, [esp + 0x70]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x28]
mov ecx, esi
mov dword [esp], eax
call dword [0x543ef8]
mov edx, dword [ebp + 4]
sub esp, 4
mov eax, dword [ebp]
mov ebx, dword [ebp + 8]
mov dword [esp + 0x84], edx
mov edx, dword [esp + 0x70]
mov ecx, eax
mov dword [esp + 0x80], eax
movzx eax, byte [ebp + 0xb]
and ebx, 0x3fffffff
mov dword [esp + 0x70], ecx
mov ecx, esi
mov dword [ebp], edx
mov edx, dword [esp + 0x74]
mov dword [ebp + 4], edx
mov edx, dword [esp + 0x78]
mov dword [ebp + 8], edx
mov edx, dword [esp + 0x88]
and edx, 0xc0000000
or edx, ebx
mov ebx, eax
and eax, 0xffffff80
mov dword [esp + 0x88], edx
shr edx, 0x18
and ebx, 0x40
and edx, 0x3f
or edx, ebx
or eax, edx
mov byte [esp + 0x8b], al
mov eax, dword [esp + 0x84]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x78], eax
call dword [0x543f30]
mov ecx, dword [esp + 0x28]
call fcn.004eb180
jmp 0x4ceb0a
mov dword [esp + 0x70], 0
mov eax, dword [ebx]
lea edx, [esp + 0x70]
mov dword [esp], ebx
mov dword [esp + 4], edx
call dword [eax + 0xc]
sub esp, 8
mov eax, dword [esp + 0x70]
test eax, eax
je 0x4d0335
lea esi, [esp + 0x80]
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov dword [esp + 0x1c], esi
mov dword [esp], esi
call dword [0x5441a8]
jmp 0x4d0348
lea ebx, [esp + 0x80]
lea esi, [esp + 0x70]
mov ecx, ebx
call dword [0x544240]
mov ecx, esi
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
mov dword [esp], 0x41
call dword [0x543f20]
sub esp, 0xc
mov dword [esp + 4], esi
mov dword [esp], ebp
call fcn.004f3730
mov ecx, esi
call dword [0x543f30]
mov ecx, ebx
call dword [0x544244]
jmp 0x4ceb0a
mov eax, dword [esp + 0xb8]
mov edx, 0x52e671
call fcn.004ce0e0
test al, al
je 0x4d0a4e
mov dword [esp], 0x10
call fcn.004d5eb8
mov ebx, eax
mov eax, dword [esp + 0x44]
mov dword [esp + 4], 0
mov ecx, ebx
mov dword [esp], eax
call fcn.004bb060
sub esp, 8
mov dword [esp + 0x70], ebx
lea ebx, [esp + 0x80]
call fcn.004d66b0
lea edx, [esp + 0x70]
mov dword [esp + 8], 1
mov dword [esp], eax
mov ecx, ebx
mov dword [esp + 4], edx
call dword [0x543f20]
sub esp, 0xc
jmp 0x4cf6bf
lea eax, [esp + 0x4c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call dword [0x544854]
sub esp, 8
cmp word [esp + 0x4c], 0x17
ja case.0x4d0894.8
movzx eax, word [esp + 0x4c]
jmp dword [eax*4 + 0x52e690]
mov esi, dword [esp + 0x30]
lea edx, [esp + 0x78]
lea eax, [esp + 0x54]
mov dword [esp + 4], 1
mov dword [esp + 0x1c], edx
mov dword [esp + 8], eax
mov dword [esp], esi
call dword [0x54484c]
sub esp, 0xc
lea eax, [esp + 0x58]
mov dword [esp + 4], 1
mov dword [esp], esi
mov dword [esp + 8], eax
call dword [0x544850]
sub esp, 0xc
mov eax, dword [esp + 0x54]
cmp eax, dword [esp + 0x58]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x5c], eax
jg 0x4d0c01
lea eax, [esp + 0x60]
mov dword [esp + 0xbc], edi
lea esi, [esp + 0x70]
mov ebx, dword [0x544848]
mov edi, edx
mov dword [esp + 0x20], eax
mov eax, dword [0x543f30]
mov dword [esp + 0x34], eax
lea eax, [esp + 0x50]
mov dword [esp + 0x28], eax
lea eax, [esp + 0x80]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x5c]
mov dword [esp + 0x24], eax
mov eax, dword [0x543d74]
mov dword [esp + 0x2c], eax
jmp 0x4d0989
cmp edx, 0xffffffff
je 0x4d094f
lock sub dword [eax], 1
je 0x4d0af2
mov dword [esp], esi
call fcn.004d5350
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x28]
mov dword [esp], eax
call fcn.004eb2e0
sub esp, 4
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x1c]
call eax
mov eax, dword [esp + 0x5c]
add eax, 1
cmp dword [esp + 0x58], eax
mov dword [esp + 0x5c], eax
jl 0x4d0a11
movzx eax, word [esp + 0x4c]
mov dword [esp + 8], edi
mov word [esp + 0x70], ax
mov eax, dword [esp + 0x24]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call ebx
sub esp, 0xc
mov ecx, dword [esp + 0x20]
mov dword [esp + 4], 0xffffffff
mov dword [esp], 0
call dword [esp + 0x2c]
sub esp, 8
mov eax, dword [esp + 0x20]
mov dword [esp + 0xc], 0
mov dword [esp + 4], esi
mov dword [esp + 8], eax
mov eax, dword [esp + 0x1c]
mov dword [esp], eax
call fcn.004ce5e0
mov eax, dword [esp + 0x60]
mov edx, dword [eax]
test edx, edx
jne 0x4d0940
mov dword [esp + 8], 4
mov dword [esp + 4], 1
mov dword [esp], eax
call dword [0x543d24]
jmp 0x4d094f
mov edi, dword [esp + 0xbc]
mov esi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x28]
mov ecx, esi
mov dword [esp], ebx
call dword [0x543efc]
sub esp, 4
mov dword [esp + 4], esi
mov dword [esp], ebp
call fcn.004f3730
mov ecx, esi
mov eax, dword [esp + 0x34]
call eax
mov ecx, ebx
call fcn.004eb530
jmp 0x4ceb0a
mov eax, dword [esp + 0xb8]
mov dword [esp + 4], str.IDispatch
mov dword [esp], eax
call dword [0x543d1c]
test eax, eax
jne 0x4d0b04
mov eax, dword [esp + 0xb8]
lea ebx, [esp + 0x80]
mov eax, dword [eax]
mov dword [esp + 8], 1
mov dword [esp + 4], 0
add eax, dword [eax + 0xc]
mov dword [esp], eax
call fcn.004d6380
lea edx, [esp + 0x44]
mov dword [esp + 4], edx
jmp 0x4cf6b1
mov eax, dword [0x543efc]
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x44]
mov dword [esp + 0x38], eax
jmp 0x4cffb1
lea ebx, [esp + 0x80]
lea eax, [esp + 0x50]
mov ecx, ebx
mov dword [esp + 0x28], eax
mov dword [esp], eax
call dword [0x543efc]
sub esp, 4
mov dword [esp + 4], ebx
mov dword [esp], ebp
call fcn.004f3730
mov ecx, ebx
call dword [0x543f30]
jmp 0x4ce90d
mov eax, dword [esp + 0x60]
jmp 0x4d09f3
mov eax, dword [esp + 0x5c]
jmp 0x4cff48
mov eax, dword [esp + 0xb8]
mov ebx, dword [0x543fa8]
mov dword [esp], eax
call ebx
test eax, eax
je 0x4d0a6e
mov eax, dword [esp + 0xb8]
mov eax, dword [eax]
mov dword [esp + 0x60], eax
mov edx, dword [eax]
add edx, 1
cmp edx, 1
jbe 0x4d0b39
lock add dword [eax], 1
mov dword [esp + 4], 0xffffffff
mov dword [esp], 0x2a
mov ecx, dword [esp + 0xb8]
call dword [0x543fcc]
sub esp, 8
cmp eax, 0xffffffff
lea esi, [esp + 0x80]
mov dword [esp + 0x1c], esi
je 0x4d0b9e
mov dword [esp + 4], eax
mov eax, dword [esp + 0xb8]
mov ecx, esi
mov dword [esp], eax
call dword [0x543fd4]
sub esp, 8
mov ecx, esi
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0x80]
mov dword [esp + 0x80], eax
mov dword [esp + 0x60], edx
call fcn.004d6670
lea esi, [esp + 0x60]
mov dword [esp], esi
call ebx
mov edx, dword [esp + 0x44]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.004bc7b0
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0xb8]
mov dword [esp], eax
call ebx
mov ebx, dword [esp + 0x1c]
lea edx, [esp + 0x70]
mov dword [esp], eax
mov dword [esp + 4], edx
mov ecx, ebx
call dword [0x543f1c]
sub esp, 8
mov dword [esp + 4], ebx
mov dword [esp], ebp
call fcn.004f3730
mov ecx, ebx
call dword [0x543f30]
mov ecx, esi
call fcn.004d6670
jmp 0x4ceb0a
mov eax, dword [0x543f30]
mov dword [esp + 0x34], eax
lea eax, [esp + 0x50]
mov dword [esp + 0x28], eax
lea eax, [esp + 0x80]
mov dword [esp + 0x1c], eax
jmp 0x4d0a18
mov eax, dword [0x543f30]
lea esi, [esp + 0x70]
mov dword [esp + 0x34], eax
lea eax, [esp + 0x50]
mov dword [esp + 0x28], eax
jmp 0x4d01c3
mov eax, dword [edx + 0xc]
mov esi, edx
cmp eax, 0x10
jne 0x4d0631
jmp 0x4d0659
mov eax, dword [esp + 0x60]
jmp 0x4cf423
mov eax, dword [esp + 0x80]
jmp 0x4d052b