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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0xbc
mov ebx, dword [esp + 0xd0]
mov dword [esp + 0x88], 0
mov esi, dword [ebx]
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
mov dword [esp + 4], 0x14
mov dword [esp], 0x68b710
mov eax, dword [0x68bb7c]
call dword [eax + 0x4cc]
mov dword [esp + 0x50], eax
mov edx, dword [eax + 4]
mov dword [esp + 0x54], edx
mov eax, dword [ebx + 0x114]
and eax, 0xfffffffe
mov dword [ebx + 0x114], eax
mov ecx, dword [ebx]
test ecx, ecx
je 0x4a9dfe
test byte [esi + 0x98], 1
je 0x4a9dfe
mov edx, dword [ebx + 0x44]
mov dword [esp + 0x48], edx
mov edi, dword [ebx + 0x40]
cmp edi, 1
je 0x4aa48c
test edi, edi
je 0x4aa4d0
mov ebp, dword [ebx + 0x84]
and eax, 2
je 0x4a98e0
mov edx, dword [ebx + 0x40]
test edx, edx
je 0x4a98e0
mov ecx, dword [ebx + 0xd0]
test ecx, ecx
je 0x4a98e0
mov edi, dword [ebx + 0xcc]
test edi, edi
je 0x4aa6f4
mov edx, dword [ebx + 0x54]
mov dword [esp + 0x60], edx
cmp dword [ebx + 0x10], 1
jle 0x4aa4a8
mov ecx, dword [ebx + 0xcc]
test ecx, ecx
je 0x4a9e0c
mov dword [esp + 0x64], 0
mov dword [esp + 0x58], 0
mov eax, dword [esi + 0x10]
mov dword [esp + 0x10], eax
mov eax, dword [esi + 0x44]
mov dword [esp + 0xc], eax
mov eax, dword [esi + 0x40]
mov dword [esp + 8], eax
mov eax, dword [esi + 0x14]
mov dword [esp + 4], eax
mov eax, dword [ebx + 4]
mov dword [esp], eax
call fcn.0046d754
mov dword [esp + 0x4c], eax
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0
mov eax, dword [esi + 0x44]
mov dword [esp + 0x18], eax
mov eax, dword [esi + 0x40]
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov ecx, dword [esp + 0x48]
mov dword [esp + 8], ecx
mov eax, dword [esp + 0x4c]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.00477128
mov eax, dword [ebx + 0x2c]
test eax, eax
je 0x4aa264
lea ecx, [esp + 0x94]
mov dword [esp + 8], ecx
lea ecx, [esp + 0x90]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.0042ec20
mov edi, 1
mov edx, dword [esp + 0x90]
mov dword [esp + 0x6c], edx
mov ecx, dword [esp + 0x94]
mov dword [esp + 0x70], ecx
mov eax, dword [ebx + 0xd4]
mov dword [esp + 0x5c], eax
test eax, eax
je 0x4a9e38
xor edx, edx
mov eax, dword [ebx + 0xd8]
test eax, eax
setne dl
mov ecx, dword [ebx + 0x108]
cmp ecx, 3
je 0x4a9be0
test edi, edi
je 0x4a9be8
test edx, edx
je 0x4a9e40
cmp ecx, 5
jbe switch.0x004aa700
mov ecx, dword [ebx + 0xc0]
mov edx, dword [ebx + 0xb8]
mov dword [esp + 0x7c], edx
xor edi, edi
xor edx, edx
mov dword [esp + 0x78], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x68], 0
lea eax, [esp + 0x8c]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x88]
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], edi
mov eax, dword [ebx + 0xe0]
add eax, edx
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ecx
mov edx, dword [esp + 0x7c]
mov dword [esp + 8], edx
mov dword [esp + 4], esi
mov eax, dword [ebx + 0xc4]
mov dword [esp], eax
call fcn.0047e5c0
mov eax, dword [ebx + 0xe0]
add eax, dword [esp + 0x88]
mov dword [esp + 0x88], eax
cmp dword [esp + 0x60], 5
je 0x4aac34
mov ecx, dword [esp + 0x8c]
add eax, dword [esp + 0x5c]
mov dword [esp + 0x5c], eax
add ecx, dword [esp + 0x78]
mov dword [esp + 0x64], ecx
mov eax, dword [ebx + 0x2c]
test eax, eax
je 0x4aae8b
mov ecx, dword [ebx + 0x34]
test ecx, ecx
je 0x4a9ad8
test byte [ebx + 0x114], 2
jne 0x4aaafc
mov ecx, dword [ebx + 0x3c]
mov edx, dword [esp + 0x64]
test ecx, ecx
je 0x4a9af0
test byte [ebx + 0x114], 0x10
jne 0x4aab00
mov dword [esp + 0x1c], edx
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x18], ecx
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x14], edx
mov ecx, dword [esp + 0x94]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x90]
mov dword [esp + 0xc], ecx
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.0042e928
cmp dword [ebx + 0x40], 1
je 0x4aac58
mov dword [esp + 0x1c], 0xffffffff
mov dword [esp + 0x18], 0
mov eax, dword [esp + 0x74]
add eax, dword [esp + 0x8c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x68]
add eax, dword [esp + 0x88]
mov dword [esp + 0x10], eax
mov eax, dword [ebx + 0xdc]
mov dword [esp + 0xc], eax
mov dword [esp + 8], ebp
mov eax, dword [esp + 0x4c]
mov dword [esp + 4], eax
mov eax, dword [ebx + 4]
mov dword [esp], eax
call fcn.004305dc
mov eax, dword [ebx + 0x1c]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x74]
add eax, dword [esp + 0x8c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x68]
add eax, dword [esp + 0x88]
mov dword [esp + 0x10], eax
mov eax, dword [ebx + 0xdc]
mov dword [esp + 0xc], eax
mov dword [esp + 8], ebp
mov eax, dword [esp + 0x4c]
mov dword [esp + 4], eax
mov eax, dword [ebx + 4]
mov dword [esp], eax
call fcn.00430a58
mov dword [esp + 0x94], edi
jmp 0x4a9d17
test edi, edi
jne 0x4a9e40
lea ecx, [esp + 0x8c]
mov dword [esp + 0x1c], ecx
lea ecx, [esp + 0x88]
mov dword [esp + 0x18], ecx
mov ecx, dword [ebx + 0xd8]
mov dword [esp + 0x14], ecx
mov eax, dword [esp + 0x5c]
add eax, dword [ebx + 0xe0]
mov dword [esp + 0x10], eax
mov eax, dword [ebx + 0xc0]
mov dword [esp + 0xc], eax
mov eax, dword [ebx + 0xb8]
mov dword [esp + 8], eax
mov dword [esp + 4], esi
mov eax, dword [ebx + 0xc4]
mov dword [esp], eax
call fcn.0047e5c0
mov eax, dword [ebx + 0xe0]
add eax, dword [esp + 0x88]
cmp dword [esp + 0x60], 5
je 0x4aa94c
mov dword [esp + 0x88], eax
cmp dword [ebx + 0x40], 1
je 0x4aa968
mov dword [esp + 0x1c], 0xffffffff
mov dword [esp + 0x18], 0
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x10], eax
mov eax, dword [ebx + 0xdc]
mov dword [esp + 0xc], eax
mov dword [esp + 8], ebp
mov eax, dword [esp + 0x4c]
mov dword [esp + 4], eax
mov eax, dword [ebx + 4]
mov dword [esp], eax
call fcn.004305dc
mov eax, dword [ebx + 0x1c]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x10], eax
mov eax, dword [ebx + 0xdc]
mov dword [esp + 0xc], eax
mov dword [esp + 8], ebp
mov eax, dword [esp + 0x4c]
mov dword [esp + 4], eax
mov eax, dword [ebx + 4]
mov dword [esp], eax
call fcn.00430a58
mov eax, dword [ebx + 0xd8]
mov dword [esp + 0x94], eax
mov dword [esp + 0x64], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x68], 0
test byte [ebx + 0x114], 4
je 0x4a9f37
mov edi, dword [ebx + 0x10]
test edi, edi
jne 0x4aab48
mov ecx, dword [esp + 0x94]
mov eax, ecx
shr eax, 0x1f
add eax, ecx
sar eax, 1
add dword [esp + 0x8c], eax
nop
cmp dword [ebx + 0x40], 1
je 0x4aa3c4
mov ecx, dword [esp + 0x60]
test ecx, ecx
jne 0x4aa374
mov edx, dword [esp + 0x58]
test edx, edx
jne 0x4aa278
test byte [ebx + 0x114], 4
je 0x4a9d99
mov dword [esp + 0xc], 0
mov eax, dword [esp + 0x8c]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.00434bd0
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0
mov eax, dword [esi + 0x44]
mov dword [esp + 0x1c], eax
mov eax, dword [esi + 0x40]
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov eax, dword [ebx + 0x98]
mov dword [esp + 0xc], eax
mov eax, dword [esi + 0x14]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 4], eax
mov eax, dword [ebx + 4]
mov dword [esp], eax
call fcn.00471fe0
mov eax, dword [esp + 0x4c]
mov dword [esp + 4], eax
mov eax, dword [ebx + 4]
mov dword [esp], eax
call fcn.0046d990
add esp, 0xbc
pop ebx
pop esi
pop edi
pop ebp
ret
test eax, eax
jne 0x4aa4f8
cmp dword [ebx + 0x58], edx
je 0x4a9e20
mov ecx, dword [ebx + 0x5c]
mov dword [esp + 0x60], ecx
mov dword [esp + 0x64], 1
mov dword [esp + 0x58], 0
jmp 0x4a990f
xor edx, edx
jmp 0x4a99e3
lea eax, [esp + 0x8c]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x88]
mov dword [esp + 0x18], eax
mov edx, dword [esp + 0x70]
mov dword [esp + 0x14], edx
mov eax, dword [esp + 0x6c]
add eax, dword [ebx + 0xe0]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], esi
mov eax, dword [ebx + 0xc4]
mov dword [esp], eax
call fcn.0047e5c0
mov ecx, dword [ebx + 0xe0]
mov eax, dword [esp + 0x88]
add ecx, eax
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x88], ecx
cmp dword [esp + 0x60], 5
je 0x4aa920
mov edx, dword [esp + 0x8c]
mov dword [esp + 0x64], edx
mov eax, dword [ebx + 0x2c]
test eax, eax
je 0x4aad9c
mov ecx, dword [ebx + 0x34]
test ecx, ecx
je 0x4a9edd
test byte [ebx + 0x114], 2
jne 0x4aa68c
mov ecx, dword [ebx + 0x3c]
mov edx, dword [esp + 0x64]
test ecx, ecx
je 0x4a9ef5
test byte [ebx + 0x114], 0x10
jne 0x4aa690
mov dword [esp + 0x1c], edx
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x18], ecx
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x14], edx
mov ecx, dword [esp + 0x94]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x90]
mov dword [esp + 0xc], ecx
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.0042e928
mov ecx, dword [ebx + 0x10]
mov edi, dword [esp + 0x94]
mov eax, edi
shr eax, 0x1f
add eax, edi
sar eax, 1
add eax, dword [esp + 0x8c]
mov dword [esp + 0x8c], eax
cmp ecx, 1
jle 0x4a9d48
mov edx, dword [ebx + 0xcc]
test edx, edx
je 0x4a9d48
mov edx, dword [esp + 0x50]
mov edi, dword [edx]
test edi, edi
je 0x4a9d48
mov edi, dword [ebx + 0xe0]
sub dword [esp + 0x88], edi
mov edx, dword [ebx + 0xe4]
mov edi, edx
shr edi, 0x1f
add edi, edx
sar edi, 1
sub eax, edi
mov dword [esp + 0x8c], eax
test byte [ebx + 0x114], 0x12
je 0x4aa6d8
mov eax, dword [esp + 0x50]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x68], eax
mov eax, dword [ebx + 0x40]
test eax, eax
jne 0x4a9fd3
mov edx, dword [esp + 0x50]
mov edi, dword [edx + 0x10]
mov edx, dword [esp + 0x68]
lea edx, [edx + edi*2]
mov dword [esp + 0x68], edx
cmp ecx, 3
je 0x4aaaec
mov ecx, dword [esp + 0x50]
mov ecx, dword [ecx + 0xc]
mov dword [esp + 0x74], ecx
dec eax
je 0x4aaa6c
mov ecx, dword [ebp + 8]
movzx eax, cl
shl eax, 0x10
mov edi, ecx
shr edi, 0x10
and edi, 0xff
or eax, edi
and ecx, 0xff00
or eax, ecx
mov ecx, dword [esp + 0x54]
mov dword [ecx], eax
mov dword [esp + 8], 3
mov edx, dword [esp + 0x48]
mov dword [esp + 4], edx
mov dword [esp], esi
call fcn.00477ed4
mov ebp, eax
mov dword [esp + 8], 3
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
mov dword [esp], esi
call fcn.00477ed4
mov edi, eax
mov dword [esp + 8], 3
mov edx, dword [esp + 0x48]
mov dword [esp + 4], edx
mov dword [esp], esi
call fcn.00477ed4
and eax, 0xff
shl eax, 0x10
shr ebp, 0x10
and ebp, 0xff
or eax, ebp
and edi, 0xff00
or eax, edi
mov ecx, dword [esp + 0x54]
mov dword [ecx + 4], eax
mov dword [esp + 8], 5
mov edx, dword [esp + 0x48]
mov dword [esp + 4], edx
mov dword [esp], esi
call fcn.00477ed4
mov ebp, eax
mov dword [esp + 8], 5
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
mov dword [esp], esi
call fcn.00477ed4
mov edi, eax
mov dword [esp + 8], 5
mov edx, dword [esp + 0x48]
mov dword [esp + 4], edx
mov dword [esp], esi
call fcn.00477ed4
and eax, 0xff
shl eax, 0x10
shr ebp, 0x10
and ebp, 0xff
or eax, ebp
and edi, 0xff00
or eax, edi
mov ecx, dword [esp + 0x54]
mov dword [ecx + 0x14], eax
mov dword [esp + 8], 4
mov edx, dword [esp + 0x48]
mov dword [esp + 4], edx
mov dword [esp], esi
call fcn.00477ed4
mov ebp, eax
mov dword [esp + 8], 4
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
mov dword [esp], esi
call fcn.00477ed4
mov edi, eax
mov dword [esp + 8], 4
mov edx, dword [esp + 0x48]
mov dword [esp + 4], edx
mov dword [esp], esi
call fcn.00477ed4
and eax, 0xff
shl eax, 0x10
shr ebp, 0x10
and ebp, 0xff
or eax, ebp
and edi, 0xff00
or eax, edi
mov ecx, dword [esp + 0x54]
mov dword [ecx + 0xc], eax
mov dword [esp + 8], 2
mov edx, dword [esp + 0x48]
mov dword [esp + 4], edx
mov dword [esp], esi
call fcn.00477ed4
mov ebp, eax
mov dword [esp + 8], 2
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
mov dword [esp], esi
call fcn.00477ed4
mov edi, eax
mov dword [esp + 8], 2
mov edx, dword [esp + 0x48]
mov dword [esp + 4], edx
mov dword [esp], esi
call fcn.00477ed4
and eax, 0xff
shl eax, 0x10
shr ebp, 0x10
and ebp, 0xff
or eax, ebp
and edi, 0xff00
or eax, edi
mov ecx, dword [esp + 0x54]
mov dword [ecx + 8], eax
cmp dword [ebx + 0x40], 1
je 0x4aa508
test byte [ebx + 0x114], 0x10
jne 0x4aa508
mov eax, dword [ebx + 0xd0]
test eax, eax
je 0x4aa8cb
mov dword [esp + 8], 1
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.00477ed4
mov ebp, eax
mov dword [esp + 8], 1
mov eax, dword [ebx + 0xd0]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.00477ed4
mov edi, eax
mov dword [esp + 8], 1
mov eax, dword [ebx + 0xd0]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.00477ed4
and eax, 0xff
shl eax, 0x10
shr ebp, 0x10
and ebp, 0xff
or eax, ebp
and edi, 0xff00
or eax, edi
mov edx, dword [esp + 0x54]
mov dword [edx + 0x10], eax
jmp 0x4aa576
mov eax, dword [ebx + 0x24]
test eax, eax
jne 0x4aaa3c
xor edi, edi
jmp 0x4a99ae
lea edi, [esp + 0x98]
mov dword [esp + 8], edi
mov eax, dword [esp + 0x4c]
mov dword [esp + 4], eax
mov eax, dword [ebx + 4]
mov dword [esp], eax
call fcn.004719f8
mov ebp, eax
mov eax, dword [ebx + 0x6c]
mov eax, dword [eax]
mov dword [esp + 0x14], eax
mov edx, dword [esp + 0x58]
mov dword [esp + 0x10], edx
mov eax, dword [esi + 0x40]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], ebp
call fcn.0047326c
mov eax, dword [ebx + 0x6c]
mov eax, dword [eax]
mov dword [esp + 0x14], eax
mov eax, dword [esi + 0x44]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x58]
mov dword [esp + 0xc], ecx
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], ebp
call fcn.0047326c
mov eax, dword [ebx + 0x6c]
mov eax, dword [eax]
mov dword [esp + 0x14], eax
mov edx, dword [esp + 0x58]
mov dword [esp + 0x10], edx
mov eax, dword [esi + 0x40]
mov dword [esp + 0xc], eax
mov eax, dword [esi + 0x44]
sub eax, edx
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov dword [esp], ebp
call fcn.0047326c
mov eax, dword [ebx + 0x6c]
mov eax, dword [eax]
mov dword [esp + 0x14], eax
mov eax, dword [esi + 0x44]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x58]
mov dword [esp + 0xc], ecx
mov dword [esp + 8], 0
mov eax, dword [esi + 0x40]
sub eax, ecx
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.0047326c
mov dword [esp + 8], edi
mov dword [esp + 4], ebp
mov eax, dword [esp + 0x4c]
mov dword [esp], eax
call fcn.00471a9c
jmp 0x4a9d6a
mov eax, dword [esp + 0x58]
neg eax
shl eax, 1
mov edx, dword [esp + 0x60]
mov dword [esp + 0x20], edx
mov ecx, dword [ebx + 0x50]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esi + 0x44]
add ecx, eax
mov dword [esp + 0x18], ecx
add eax, dword [esi + 0x40]
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], ecx
mov edx, dword [esp + 0x48]
mov dword [esp + 8], edx
mov eax, dword [esp + 0x4c]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.004766d8
jmp 0x4a9d5e
mov eax, dword [ebx + 0x80]
test eax, eax
je 0x4aa3d9
mov ecx, dword [ebx + 0x2c]
test ecx, ecx
je 0x4a9d52
test byte [ebx + 0x114], 2
je 0x4aa3f0
mov edx, dword [ebx + 0xcc]
test edx, edx
je 0x4aa708
test eax, eax
je 0x4aad78
mov edx, dword [esp + 0x70]
mov dword [esp + 0x18], edx
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x14], ecx
mov edx, dword [esp + 0x64]
mov dword [esp + 0x10], edx
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0xc], ecx
mov eax, dword [ebx + 0x90]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 4], eax
mov eax, dword [ebx + 4]
mov dword [esp], eax
call fcn.00482f48
test byte [ebx + 0x114], 2
je 0x4a9d52
mov ebp, dword [ebx + 0xcc]
test ebp, ebp
jne 0x4a9d52
mov edi, dword [ebx + 0xd0]
test edi, edi
je 0x4a9d52
mov eax, dword [ebx + 0x44]
mov dword [esp], eax
call fcn.00476854
mov eax, dword [eax]
mov dword [esp + 8], eax
mov eax, dword [ebx + 0x90]
mov dword [esp + 4], eax
mov eax, dword [ebx + 4]
mov dword [esp], eax
call fcn.00473774
jmp 0x4a9d52
mov ecx, dword [ebx + 0x80]
test ecx, ecx
je 0x4a98b6
mov ebp, dword [ebx + 0x8c]
jmp 0x4a98bc
jne 0x4a98ff
mov eax, dword [ebx + 0xe8]
test eax, eax
jne 0x4a9e20
mov edx, dword [ebx + 0x64]
mov dword [esp + 0x58], edx
mov dword [esp + 0x64], 1
jmp 0x4a990f
mov dword [esp], ecx
call fcn.00405e2c
test eax, eax
jne 0x4aa6e8
mov ebp, dword [ebx + 0x88]
mov ecx, dword [ebx + 0x48]
mov dword [esp + 0x48], ecx
mov eax, dword [ebx + 0x114]
jmp 0x4a98bc
mov dword [esp + 0x60], 5
jmp 0x4a9e20
mov dword [esp + 8], 4
mov edx, dword [esp + 0x48]
mov dword [esp + 4], edx
mov dword [esp], esi
call fcn.00477ed4
mov ebp, eax
mov dword [esp + 8], 4
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
mov dword [esp], esi
call fcn.00477ed4
mov edi, eax
mov dword [esp + 8], 4
mov edx, dword [esp + 0x48]
mov dword [esp + 4], edx
mov dword [esp], esi
call fcn.00477ed4
and eax, 0xff
shl eax, 0x10
shr ebp, 0x10
and ebp, 0xff
or eax, ebp
and edi, 0xff00
or eax, edi
mov ecx, dword [esp + 0x54]
mov dword [ecx + 0x10], eax
mov dword [esp + 8], 1
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
mov dword [esp], esi
call fcn.00477ed4
mov ebp, eax
mov dword [esp + 8], 1
mov edx, dword [esp + 0x48]
mov dword [esp + 4], edx
mov dword [esp], esi
call fcn.00477ed4
mov edi, eax
mov dword [esp + 8], 1
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
mov dword [esp], esi
call fcn.00477ed4
and eax, 0xff
shl eax, 0x10
shr ebp, 0x10
and ebp, 0xff
or eax, ebp
and edi, 0xff00
or eax, edi
mov edx, dword [esp + 0x54]
mov dword [edx + 0x18], eax
lea ebp, [esp + 0x98]
mov dword [esp + 8], ebp
mov eax, dword [esp + 0x4c]
mov dword [esp + 4], eax
mov eax, dword [ebx + 4]
mov dword [esp], eax
call fcn.004719f8
mov edi, eax
mov eax, dword [esp + 0x50]
mov ecx, dword [eax + 0xc]
mov edx, eax
mov eax, dword [eax + 0x10]
mov dword [esp + 0x30], 0xcc0020
mov dword [esp + 0x2c], 0
mov edx, dword [edx]
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x50]
mov edx, dword [edx + 8]
mov dword [esp + 0x24], edx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x1c], eax
mov edx, dword [esp + 0x74]
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x68]
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x8c]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 4], eax
mov dword [esp], edi
call sub.GDI32.dll_StretchDIBits
sub esp, 0x34
mov dword [esp + 8], ebp
mov dword [esp + 4], edi
mov eax, dword [esp + 0x4c]
mov dword [esp], eax
call fcn.00471a9c
jmp 0x4a9d48
mov edx, dword [esp + 0x64]
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x18], edx
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], ecx
call fcn.0042e928
jmp 0x4a9f37
mov dword [esp + 0x68], 0
jmp 0x4a9fba
mov eax, dword [ebx + 0x114]
jmp 0x4a98b6
mov dword [esp + 0x48], ecx
jmp 0x4a98e0
jmp dword [ecx*4 + 0x616960]
mov ecx, dword [ebx + 0xd0]
test ecx, ecx
je 0x4aa3f0
mov dword [esp], ecx
call fcn.00476854
mov eax, dword [eax]
mov dword [esp + 8], eax
mov eax, dword [ebx + 0x90]
mov dword [esp + 4], eax
mov eax, dword [ebx + 4]
mov dword [esp], eax
call fcn.00473774
mov eax, dword [ebx + 0x80]
jmp 0x4aa3f0
cmp ecx, 2
je 0x4aae64
mov eax, dword [ebx + 0xb8]
mov dword [esp + 0x7c], eax
mov edx, dword [esp + 0x5c]
add edx, eax
mov dword [esp + 0x5c], edx
mov eax, edx
mov dword [esp + 0x68], 0
mov edx, dword [esp + 0x6c]
add edx, eax
mov eax, dword [ebx + 0xd8]
mov edi, eax
cmp eax, dword [esp + 0x70]
jge 0x4aa783
mov edi, dword [esp + 0x70]
mov ecx, edi
sub ecx, eax
mov eax, ecx
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
mov dword [esp + 0x74], ecx
mov eax, edi
sub eax, dword [esp + 0x70]
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
mov dword [esp + 0x78], ecx
mov ecx, dword [ebx + 0xc0]
jmp 0x4a9a3f
mov edx, dword [esp + 0x5c]
mov ecx, dword [esp + 0x6c]
cmp edx, ecx
jge 0x4aa7c0
mov edx, ecx
mov ecx, dword [ebx + 0xd8]
mov edi, ecx
cmp ecx, dword [esp + 0x70]
jge 0x4aa7d2
mov edi, dword [esp + 0x70]
mov eax, edx
sub eax, dword [esp + 0x5c]
mov dword [esp + 0x68], eax
shr eax, 0x1f
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x68]
add eax, dword [esp + 0x5c]
sar eax, 1
mov dword [esp + 0x68], eax
mov eax, edx
sub eax, dword [esp + 0x6c]
mov dword [esp + 0x74], eax
shr eax, 0x1f
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x74]
add eax, dword [esp + 0x5c]
sar eax, 1
mov dword [esp + 0x5c], eax
mov eax, edi
sub eax, ecx
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
mov dword [esp + 0x74], ecx
mov eax, edi
sub eax, dword [esp + 0x70]
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
mov dword [esp + 0x78], ecx
mov ecx, dword [ebx + 0xc0]
mov eax, dword [ebx + 0xb8]
mov dword [esp + 0x7c], eax
jmp 0x4a9a3f
je 0x4aae41
mov edi, dword [ebx + 0xd8]
mov ecx, dword [ebx + 0xc0]
lea eax, [edi + ecx]
mov dword [esp + 0x78], eax
mov dword [esp + 0x74], 0
add edi, dword [esp + 0x70]
add edi, ecx
mov edx, dword [esp + 0x5c]
mov eax, dword [esp + 0x6c]
cmp edx, eax
jge 0x4aa87e
mov edx, eax
mov eax, edx
sub eax, dword [esp + 0x5c]
mov dword [esp + 0x68], eax
shr eax, 0x1f
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x68]
add eax, dword [esp + 0x5c]
sar eax, 1
mov dword [esp + 0x68], eax
mov eax, edx
sub eax, dword [esp + 0x6c]
mov dword [esp + 0x7c], eax
shr eax, 0x1f
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x7c]
add eax, dword [esp + 0x5c]
sar eax, 1
mov dword [esp + 0x5c], eax
mov eax, dword [ebx + 0xb8]
mov dword [esp + 0x7c], eax
jmp 0x4a9a3f
mov dword [esp], 5
call sub.USER32.dll_GetSysColor
push edi
mov edi, eax
mov dword [esp], 5
call sub.USER32.dll_GetSysColor
push ebp
mov ebp, eax
mov dword [esp], 5
call sub.USER32.dll_GetSysColor
push edx
movzx ecx, al
shl ecx, 0x10
mov eax, edi
shr eax, 0x10
and eax, 0xff
or ecx, eax
mov eax, ebp
and eax, 0xff00
or ecx, eax
mov edx, dword [esp + 0x54]
mov dword [edx + 0x10], ecx
jmp 0x4aa576
mov ecx, dword [esp + 0x64]
add dword [esp + 0x5c], ecx
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x88], edx
add ecx, dword [esp + 0x8c]
mov dword [esp + 0x64], ecx
mov dword [esp + 0x8c], ecx
jmp 0x4a9ebe
add eax, dword [esp + 0x64]
mov dword [esp + 0x88], eax
mov edx, dword [esp + 0x64]
add dword [esp + 0x8c], edx
jmp 0x4a9c5b
mov edi, dword [ebx + 0x80]
test edi, edi
je 0x4a9c65
mov ecx, dword [ebp + 8]
mov dword [esp + 0x5c], ecx
mov edi, dword [ebp + 0xc]
mov dword [esp], 0xf
call sub.USER32.dll_GetSysColor
push ecx
cmp edi, eax
jne 0x4a9c65
mov dword [esp], 0x14
call sub.USER32.dll_GetSysColor
push edx
mov dword [ebp + 8], eax
mov dword [esp + 0x1c], 0xffffffff
mov dword [esp + 0x18], 0
mov eax, dword [esp + 0x8c]
inc eax
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x88]
inc eax
mov dword [esp + 0x10], eax
mov eax, dword [ebx + 0xdc]
mov dword [esp + 0xc], eax
mov dword [esp + 8], ebp
mov eax, dword [esp + 0x4c]
mov dword [esp + 4], eax
mov eax, dword [ebx + 4]
mov dword [esp], eax
call fcn.004305dc
mov eax, dword [ebx + 0x1c]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x8c]
inc eax
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x88]
inc eax
mov dword [esp + 0x10], eax
mov eax, dword [ebx + 0xdc]
mov dword [esp + 0xc], eax
mov dword [esp + 8], ebp
mov eax, dword [esp + 0x4c]
mov dword [esp + 4], eax
mov eax, dword [ebx + 4]
mov dword [esp], eax
call fcn.00430a58
mov edx, dword [esp + 0x5c]
mov dword [ebp + 8], edx
jmp 0x4a9c65
lea ecx, [esp + 0x94]
mov dword [esp + 0xc], ecx
lea ecx, [esp + 0x90]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov eax, dword [ebx + 4]
mov dword [esp], eax
call fcn.0047a4b0
mov edi, 1
jmp 0x4a99ae
mov ecx, dword [ebx + 0x80]
test ecx, ecx
jne 0x4a9fee
mov dword [esp + 8], 3
mov edx, dword [esp + 0x48]
mov dword [esp + 4], edx
mov dword [esp], esi
call fcn.00477ed4
mov edi, eax
mov dword [esp + 8], 3
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
mov dword [esp], esi
call fcn.00477ed4
mov ebp, eax
mov dword [esp + 8], 3
mov edx, dword [esp + 0x48]
mov dword [esp + 4], edx
mov dword [esp], esi
call fcn.00477ed4
movzx ecx, al
shl ecx, 0x10
mov eax, edi
shr eax, 0x10
and eax, 0xff
or ecx, eax
mov eax, ebp
and eax, 0xff00
or ecx, eax
mov edx, dword [esp + 0x54]
mov dword [edx], ecx
jmp 0x4aa012
mov dword [esp + 0x74], 0
jmp 0x4a9fe7
mov edx, dword [esp + 0x64]
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x18], edx
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], ecx
call fcn.0042e928
jmp 0x4a9b32
lea edx, [esp + 0x98]
mov dword [esp + 8], edx
mov eax, dword [esp + 0x4c]
mov dword [esp + 4], eax
mov eax, dword [ebx + 4]
mov dword [esp], eax
call fcn.004719f8
mov edi, eax
cmp dword [ebx + 0x10], 1
je 0x4aad40
mov ecx, dword [ebx + 0xcc]
test ecx, ecx
je 0x4aad40
mov edx, dword [esp + 0x74]
mov ecx, dword [esp + 0x8c]
lea eax, [edx + ecx - 1]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x88]
mov edx, dword [esp + 0x68]
lea ecx, [edx + eax - 1]
mov dword [esp + 0xa0], ecx
add eax, dword [ebx + 0xd4]
lea eax, [edx + eax + 1]
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x8c]
add eax, dword [ebx + 0xd8]
mov ecx, dword [esp + 0x74]
lea eax, [ecx + eax + 2]
mov dword [esp + 0xac], eax
mov eax, dword [ebp + 8]
mov dword [esp + 4], eax
mov dword [esp], edi
call sub.GDI32.dll_SetTextColor
sub esp, 8
mov eax, dword [ebp + 0xc]
mov dword [esp + 4], eax
mov dword [esp], edi
call sub.GDI32.dll_SetBkColor
sub esp, 8
lea eax, [esp + 0xa0]
mov dword [esp + 4], eax
mov dword [esp], edi
call sub.USER32.dll_DrawFocusRect
sub esp, 8
lea eax, [esp + 0x98]
mov dword [esp + 8], eax
mov dword [esp + 4], edi
mov eax, dword [esp + 0x4c]
mov dword [esp], eax
call fcn.00471a9c
jmp 0x4a9f37
add eax, dword [esp + 0x64]
mov dword [esp + 0x88], eax
mov ecx, dword [esp + 0x64]
add ecx, dword [esp + 0x8c]
mov dword [esp + 0x8c], ecx
jmp 0x4a9aa9
mov eax, dword [ebx + 0x80]
test eax, eax
je 0x4a9b3c
mov edx, dword [ebp + 8]
mov dword [esp + 0x7c], edx
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x78], ecx
mov dword [esp], 0xf
call sub.USER32.dll_GetSysColor
push ecx
cmp dword [esp + 0x78], eax
jne 0x4a9b3c
mov dword [esp], 0x14
call sub.USER32.dll_GetSysColor
push edx
mov dword [ebp + 8], eax
mov dword [esp + 0x1c], 0xffffffff
mov dword [esp + 0x18], 0
mov eax, dword [esp + 0x74]
add eax, dword [esp + 0x8c]
inc eax
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x68]
add eax, dword [esp + 0x88]
inc eax
mov dword [esp + 0x10], eax
mov eax, dword [ebx + 0xdc]
mov dword [esp + 0xc], eax
mov dword [esp + 8], ebp
mov eax, dword [esp + 0x4c]
mov dword [esp + 4], eax
mov eax, dword [ebx + 4]
mov dword [esp], eax
call fcn.004305dc
mov eax, dword [ebx + 0x1c]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x74]
add eax, dword [esp + 0x8c]
inc eax
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x68]
add eax, dword [esp + 0x88]
inc eax
mov dword [esp + 0x10], eax
mov eax, dword [ebx + 0xdc]
mov dword [esp + 0xc], eax
mov dword [esp + 8], ebp
mov eax, dword [esp + 0x4c]
mov dword [esp + 4], eax
mov eax, dword [ebx + 4]
mov dword [esp], eax
call fcn.00430a58
mov edx, dword [esp + 0x7c]
mov dword [ebp + 8], edx
jmp 0x4a9b3c
mov eax, dword [ebx + 0x50]
mov edx, dword [esp + 0x58]
lea eax, [edx + eax + 1]
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa0], eax
mov ecx, dword [esi + 0x40]
sub ecx, eax
mov dword [esp + 0xa8], ecx
mov ecx, dword [esi + 0x44]
sub ecx, eax
mov dword [esp + 0xac], ecx
jmp 0x4aabd9
mov eax, dword [esi + 0x44]
mov dword [esp + 0x18], eax
mov eax, dword [esi + 0x40]
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
jmp 0x4aa418
mov ecx, dword [esp + 0x64]
mov dword [esp + 0xc], ecx
mov edx, dword [esp + 0x5c]
mov dword [esp + 8], edx
mov dword [esp + 4], ebp
mov eax, dword [ebx + 4]
mov dword [esp], eax
call fcn.0047388c
mov dword [esp + 0x28], 1
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], ebp
mov eax, dword [esp + 0x4c]
mov dword [esp + 8], eax
mov eax, dword [ebx + 0x24]
mov dword [esp + 4], eax
mov eax, dword [ebx + 4]
mov dword [esp], eax
call fcn.00472120
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], ebp
mov eax, dword [ebx + 4]
mov dword [esp], eax
call fcn.0047388c
jmp 0x4a9f37
mov ecx, dword [ebx + 0xc0]
mov edx, dword [esp + 0x70]
add edx, ecx
mov dword [esp + 0x74], edx
mov edi, dword [ebx + 0xd8]
mov dword [esp + 0x78], 0
jmp 0x4aa86a
mov edx, dword [ebx + 0xb8]
mov dword [esp + 0x7c], edx
mov ecx, dword [esp + 0x6c]
add ecx, edx
mov dword [esp + 0x68], ecx
mov eax, dword [esp + 0x5c]
add eax, edx
mov dword [esp + 0x5c], 0
jmp 0x4aa76b
mov ecx, dword [esp + 0x64]
mov dword [esp + 0xc], ecx
mov edx, dword [esp + 0x5c]
mov dword [esp + 8], edx
mov dword [esp + 4], ebp
mov eax, dword [ebx + 4]
mov dword [esp], eax
call fcn.0047388c
mov dword [esp + 0x28], 1
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x24], ecx
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x20], edx
mov eax, dword [esp + 0x94]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], ebp
mov eax, dword [esp + 0x4c]
mov dword [esp + 8], eax
mov eax, dword [ebx + 0x24]
mov dword [esp + 4], eax
mov eax, dword [ebx + 4]
mov dword [esp], eax
call fcn.00472120
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], ebp
mov eax, dword [ebx + 4]
mov dword [esp], eax
call fcn.0047388c
jmp 0x4a9b32