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

Disassembly:
sub esp, 0x3c
push ebx
push ebp
xor eax, eax
lea ebp, [ecx + 0x60b]
push esi
push edi
mov dword [esp + 0x38], ecx
mov byte [esp + 0x13], 0
mov dword [esp + 0x28], eax
mov dword [esp + 0x20], ebp
cmp dword [ebp - 0xf], eax
je 0x4c5a36
mov ecx, dword [ebp - 0x17]
mov edx, dword [ebp + 0x49]
mov edi, dword [ebp - 0x1b]
mov dword [esp + 0x14], ecx
mov ecx, 0x1e
lea esi, [ebp - 7]
sub ecx, edx
cmp edx, 0x1e
jae 0x4c54eb
or byte [ebp], 2
jmp 0x4c5521
mov dl, byte [ebp]
and dl, 0xfd
mov byte [ebp], dl
mov edx, dword [ebp + 0x49]
sub edx, 0x1e
cmp edx, 9
jl 0x4c550c
lea ebx, [ebp + 0x3d]
mov dword [ebx], eax
mov dword [ebp + 0x29], eax
mov dword [ebp + 0x15], eax
jmp 0x4c554f
cmp edx, 6
jl 0x4c5519
mov dword [ebp + 0x3d], eax
mov dword [ebp + 0x29], eax
jmp 0x4c5521
cmp edx, 3
jl 0x4c5521
mov dword [ebp + 0x3d], eax
lea ebx, [ebp + 0x3d]
mov dword [esp + 0x1c], 3
mov edx, ebx
mov eax, dword [edx - 0x14]
mov dword [edx], eax
mov eax, dword [edx - 0x10]
mov dword [edx + 4], eax
mov eax, dword [edx - 0xc]
mov dword [edx + 8], eax
mov eax, dword [esp + 0x1c]
add edx, 0xffffffec
dec eax
mov dword [esp + 0x1c], eax
jne 0x4c552e
xor eax, eax
cmp dword [ebp + 0x49], eax
jne 0x4c555c
mov dword [ebx], eax
mov dword [ebp + 0x29], eax
mov dword [ebp + 0x15], eax
mov eax, dword [esp + 0x14]
shl eax, 9
cdq
sub eax, edx
mov ebx, eax
mov eax, 0x88888889
sar ebx, 1
imul ebx
add edx, ebx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, edx
mov dword [esp + 0x24], edx
sar eax, 0x1f
mov ebx, eax
mov edx, edi
xor ebx, dword [esp + 0x24]
sar edx, 0x1f
sub ebx, eax
mov eax, edx
xor eax, edi
sub eax, edx
cmp eax, ebx
jle 0x4c56d4
test edi, edi
jge 0x4c5648
mov edx, dword [esp + 0x14]
mov eax, edx
shl eax, 4
sub eax, edx
neg eax
shl eax, 4
cdq
idiv edi
cmp dword [ebp + 0x49], 0x1e
jae 0x4c5619
lea edi, [eax + 0x80]
lea edx, [ecx + ecx*2]
mov eax, ecx
mov word [esi + 0xa], di
shl eax, 4
lea ebx, [edx + edx + 0x10]
cdq
and edx, 3
mov word [esi + 8], bx
add eax, edx
sar eax, 2
lea ebx, [eax + ebx + 0x18]
lea eax, [ecx*8]
cdq
and edx, 3
mov ecx, edi
add eax, edx
mov word [esi + 0xc], bx
sar eax, 2
sub ecx, eax
mov word [esi + 0x10], bx
sub ecx, 0xc
lea edx, [eax + edi + 0xc]
mov word [esi + 0xe], cx
mov word [esi + 0x12], dx
jmp 0x4c5818
add eax, 0x80
mov word [esi + 8], 0x10
mov word [esi + 0xa], ax
mov ecx, 0x28
lea edx, [eax - 0xc]
add eax, 0xc
mov word [esi + 0xc], cx
mov word [esi + 0xe], dx
mov word [esi + 0x10], cx
mov word [esi + 0x12], ax
jmp 0x4c5818
mov eax, dword [esp + 0x14]
lea eax, [eax + eax*2]
lea eax, [eax + eax*4]
shl eax, 4
cdq
idiv edi
cmp dword [ebp + 0x49], 0x1e
jae 0x4c56bb
lea edx, [ecx + ecx*2]
lea ebx, [eax + 0x80]
mov eax, ecx
mov edi, 0x1f0
shl edx, 1
shl eax, 4
sub edi, edx
mov word [esi + 0xa], bx
cdq
and edx, 3
mov word [esi + 8], di
add eax, edx
sar eax, 2
sub edi, eax
lea eax, [ecx*8]
cdq
and edx, 3
mov ecx, ebx
add eax, edx
add edi, 0xffffffe8
sar eax, 2
sub ecx, eax
mov word [esi + 0xc], di
sub ecx, 0xc
lea edx, [eax + ebx + 0xc]
mov word [esi + 0xe], cx
mov word [esi + 0x10], di
mov word [esi + 0x12], dx
jmp 0x4c5818
add eax, 0x80
mov word [esi + 8], 0x1f0
mov word [esi + 0xa], ax
mov ecx, 0x1d8
jmp 0x4c562d
mov ebx, dword [esp + 0x14]
test ebx, ebx
jge 0x4c577c
lea eax, [edi*8]
sub eax, edi
shl eax, 1
sub eax, edi
neg eax
shl eax, 3
cdq
idiv ebx
cmp dword [ebp + 0x49], 0x1e
jae 0x4c575c
lea edi, [eax + 0x100]
lea eax, [ecx*4 + 0x18]
mov dword [esp + 0x24], eax
mov word [esi + 0xa], ax
lea eax, [ecx + ecx*2]
mov word [esi + 8], di
lea eax, [ecx + eax*4]
cdq
and edx, 3
add eax, edx
mov edx, edi
mov ebx, eax
lea eax, [ecx + ecx*4]
sar ebx, 2
sub edx, ebx
lea eax, [ecx + eax*2]
sub edx, 0x13
mov ecx, dword [esp + 0x24]
mov word [esi + 0xc], dx
cdq
and edx, 3
add eax, edx
lea edx, [ebx + edi + 0x13]
sar eax, 2
mov word [esi + 0x10], dx
lea eax, [eax + ecx + 0x10]
mov word [esi + 0xe], ax
mov word [esi + 0x12], ax
jmp 0x4c5818
add eax, 0x100
mov word [esi + 0xa], 0x18
mov word [esi + 8], ax
lea ecx, [eax - 0x13]
mov word [esi + 0xc], cx
mov ecx, 0x28
jmp 0x4c5809
lea edx, [edi + edi*2]
lea eax, [edi + edx*4]
shl eax, 3
cdq
idiv ebx
cmp dword [ebp + 0x49], 0x1e
jae 0x4c57ee
lea ebx, [eax + 0x100]
lea eax, [ecx + ecx*2]
mov edi, 0x3a
mov word [esi + 8], bx
lea eax, [ecx + eax*4]
sub edi, ecx
cdq
and edx, 3
add eax, edx
mov edx, ebx
sar eax, 2
mov dword [esp + 0x24], eax
sub edx, eax
lea eax, [ecx + ecx*4]
sub edx, 0x13
mov word [esi + 0xc], dx
lea eax, [ecx + eax*2]
mov ecx, dword [esp + 0x24]
cdq
and edx, 3
add eax, edx
lea edx, [ecx + ebx + 0x13]
shl edi, 2
sar eax, 2
mov word [esi + 0xa], di
sub edi, eax
add edi, 0xfffffff0
mov word [esi + 0x10], dx
mov word [esi + 0xe], di
mov word [esi + 0x12], di
jmp 0x4c5818
add eax, 0x100
mov word [esi + 0xa], 0xe8
mov word [esi + 8], ax
lea ecx, [eax - 0x13]
mov word [esi + 0xc], cx
mov ecx, 0xd8
add eax, 0x13
mov word [esi + 0xe], cx
mov word [esi + 0x10], ax
mov word [esi + 0x12], cx
cmp dword [ebp + 0x49], 0x1e
jb 0x4c5832
mov al, byte [esi + 7]
mov byte [esi + 4], 0x80
and al, 0xfd
mov byte [esi + 5], 0
mov byte [esi + 6], 0
mov byte [esi + 7], al
push 1
push 1
call fcn.00506440
xor ebx, ebx
xor edx, edx
mov bl, byte [esi + 4]
mov dl, byte [esi + 5]
or ebx, 0xffff8000
xor eax, eax
mov al, byte [esi + 6]
add esp, 8
shl ebx, 8
or ebx, edx
mov dword [esp + 0x24], 0
shl ebx, 8
or ebx, eax
mov dword [esp + 0x1c], esi
jmp 0x4c586f
mov esi, dword [esp + 0x1c]
mov eax, dword [esi + 8]
test eax, eax
je 0x4c5a22
mov ebp, dword [0x56fb04]
mov ecx, dword [0x5fcd1c]
lea eax, [ebp + 0x14]
cmp eax, ecx
ja 0x4c5a91
mov ecx, 5
mov edi, ebp
rep movsd dword es:[edi], dword [esi]
push 0x6a9090
mov dword [0x56fb04], eax
call fcn.0046cb90
fild dword [0x568158]
mov ecx, dword [0x628614]
xor edx, edx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], edx
fstp dword [esp + 0x1c]
fild qword [esp + 0x40]
movsx eax, word [ebp + 0x12]
fstp dword [esp + 0x18]
fld dword [esp + 0x1c]
fdiv dword [esp + 0x18]
mov dword [esp + 0x1c], eax
mov esi, dword [0x61b5fc]
mov dword [esp + 0x48], esi
mov dword [esp + 0x4c], edx
movsx edx, word [ebp + 0x10]
movsx edi, word [ebp + 0xe]
push 0x40a00000
push ebx
mov byte [esp + 0x1f], 1
push 0x3f800000
fstp dword [esp + 0x24]
fild dword [esp + 0x28]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fmul dword [esp + 0x24]
fstp dword [esp + 0x28]
fild dword [0x568154]
mov eax, dword [esp + 0x28]
mov ecx, eax
fstp dword [esp + 0x28]
fild qword [esp + 0x54]
fstp dword [esp + 0x3c]
fld dword [esp + 0x28]
fdiv dword [esp + 0x3c]
mov dword [esp + 0x3c], edx
fstp dword [esp + 0x28]
fild dword [esp + 0x3c]
fstp dword [esp + 0x3c]
fld dword [esp + 0x3c]
fmul dword [esp + 0x28]
fstp dword [esp + 0x3c]
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x3c], edi
fild dword [esp + 0x3c]
movsx edi, word [ebp + 0xc]
fstp dword [esp + 0x3c]
fld dword [esp + 0x3c]
fmul dword [esp + 0x24]
mov dword [esp + 0x3c], edi
mov esi, edx
movsx edi, word [ebp + 0xa]
fstp dword [esp + 0x40]
fild dword [esp + 0x3c]
fstp dword [esp + 0x3c]
fld dword [esp + 0x3c]
fmul dword [esp + 0x28]
mov dword [esp + 0x3c], edi
movsx edi, word [ebp + 8]
fstp dword [esp + 0x44]
fild dword [esp + 0x3c]
fstp dword [esp + 0x3c]
fld dword [esp + 0x3c]
fmul dword [esp + 0x24]
mov dword [esp + 0x3c], edi
fstp dword [esp + 0x24]
fild dword [esp + 0x3c]
fstp dword [esp + 0x3c]
fld dword [esp + 0x3c]
fmul dword [esp + 0x28]
fstp dword [esp + 0x3c]
push 0x3f800000
push ecx
push esi
mov ecx, dword [esp + 0x50]
push ebx
push 0x3f800000
push 0
push eax
mov eax, dword [esp + 0x5c]
push edx
mov edx, dword [esp + 0x44]
push ebx
push 0
push 0x3f800000
push eax
mov eax, dword [esp + 0x6c]
push ecx
push ebx
push 0
push 0
push edx
push eax
call fcn.00507910
mov eax, dword [esp + 0x7c]
mov edx, dword [esp + 0x74]
mov ebp, dword [esp + 0x78]
add esp, 0x58
inc eax
add edx, 0x14
cmp eax, 4
mov dword [esp + 0x24], eax
mov dword [esp + 0x1c], edx
jl 0x4c586b
mov ecx, dword [esp + 0x38]
mov eax, dword [ebp + 0x49]
mov edx, dword [ecx + 0x80]
add eax, edx
mov dword [ebp + 0x49], eax
xor eax, eax
mov ecx, dword [esp + 0x28]
add ebp, 0x68
inc ecx
mov dword [esp + 0x20], ebp
cmp ecx, 6
mov dword [esp + 0x28], ecx
jl 0x4c54c0
mov al, byte [esp + 0x13]
test al, al
je 0x4c5a91
mov eax, dword [0x56fb04]
mov ecx, dword [0x5fcd1c]
add eax, 8
cmp eax, ecx
ja 0x4c5a91
mov dword [0x56fb04], eax
mov al, byte [0x54d341]
test al, al
jne 0x4c5a84
push str.stubbed_out:_setDrawTPage
call fcn.0046cb90
add esp, 4
push 0x6a9094
call fcn.0046cb90
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3c
ret