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

Disassembly:
sub esp, 0x4c8
push ebx
push ebp
xor ebx, ebx
cmp dword [0x8cf02c], ebx
push esi
push edi
mov dword [esp + 0x48], ebx
jne 0x4f4e16
cmp dword [0x709fa4], ebx
je 0x4f4a34
cmp dword [0x70911c], 1
je 0x4f4a34
cmp dword [0x926d00], ebx
je 0x4f451b
cmp dword [0x926d0c], ebx
mov ecx, dword [0x8e7f8c]
mov edx, dword [0x8e7f94]
mov esi, dword [0x8e7f90]
mov edi, dword [0x8e7f98]
je 0x4f4515
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], esi
mov dword [eax + 8], edx
mov dword [eax + 0xc], edi
call fcn.005260f0
add esp, 0x10
mov dword [0x926d00], ebx
mov esi, dword [esp + 0x4dc]
cmp esi, ebx
je 0x4f45af
mov eax, dword [esi]
imul eax, dword [0x71df64]
mov ebp, dword [0x71df88]
mov ecx, dword [0x71df90]
cdq
sub ecx, ebp
idiv ecx
mov edi, dword [0x71df94]
sub edi, dword [0x71df8c]
mov ebx, eax
mov eax, dword [esi + 8]
imul eax, dword [0x71df64]
cdq
idiv ecx
add ebx, ebp
mov dword [esp + 0x54], ebx
mov ecx, eax
mov eax, dword [esi + 4]
imul eax, dword [0x71df68]
cdq
idiv edi
add ecx, ebp
mov dword [esp + 0x5c], ecx
mov ebp, eax
mov eax, dword [esi + 0xc]
imul eax, dword [0x71df68]
cdq
idiv edi
add ebp, dword [0x71df8c]
mov dword [esp + 0x58], ebp
add eax, dword [0x71df8c]
cmp ebx, ecx
mov dword [esp + 0x60], eax
je 0x4f4a34
cmp ebp, eax
je 0x4f4a34
xor ebx, ebx
call fcn.004dbe90
test eax, eax
je 0x4f46b5
mov ecx, dword [0x8e7f90]
mov edx, dword [0x8e7f94]
mov eax, dword [0x8e7f8c]
mov edi, dword [0x8e80bc]
mov ebp, dword [0x8e80c0]
mov dword [esp + 0x3c], ecx
movzx ecx, byte [0x8e80e6]
mov dword [esp + 0x40], edx
movzx edx, byte [0x8e80e5]
mov dword [esp + 0x4c], ecx
mov ecx, dword [0x71df68]
mov dword [esp + 0x38], eax
mov eax, dword [0x8e7f98]
push ecx
mov dword [esp + 0x24], edx
mov edx, dword [0x71df64]
push edx
mov dword [esp + 0x4c], eax
movzx eax, byte [0x8e80e4]
push ebx
push ebx
mov dword [esp + 0x34], eax
call fcn.004f3a40
push ebx
push ebx
call fcn.004eaea0
mov al, 0xff
add esp, 0x18
cmp byte [0x8e80e6], al
jne 0x4f4648
cmp byte [0x8e80e5], al
jne 0x4f4648
cmp byte [0x8e80e4], al
je 0x4f4669
cmp dword [0x71dfb8], ebx
mov byte [0x8e80e6], al
mov byte [0x8e80e4], al
mov byte [0x8e80e5], al
je 0x4f4669
call fcn.004e82d0
mov dword [0x7cfae0], eax
mov dword [0x8cf02c], 1
call fcn.004df3d0
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x3c]
push eax
mov eax, dword [esp + 0x3c]
push ecx
push edx
push eax
mov dword [0x8cf02c], ebx
call fcn.004f3a40
push ebp
push edi
call fcn.004eaea0
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x64]
push ecx
push edx
push eax
call fcn.004eaf10
add esp, 0x24
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x28]
push edx
call fcn.004ebdb0
mov ecx, dword [0x71df68]
mov eax, dword [0x71df64]
add esp, 8
cmp dword [0x71df74], ebx
je 0x4f4704
mov edx, dword [0x71df78]
mov dword [esp + 0x28], edx
mov edx, dword [0x71df7c]
mov dword [esp + 0x2c], edx
mov edx, dword [0x71df80]
mov dword [esp + 0x30], edx
mov edx, dword [0x71df84]
mov dword [esp + 0x34], edx
jmp 0x4f4714
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], ecx
cmp dword [0x8e8134], ebx
mov edi, 0x140
lea ebp, [edi - 0x50]
jne 0x4f472c
cmp dword [0x7c6e70], ebx
je 0x4f4753
cmp eax, 0x280
jne 0x4f4753
cmp ecx, 0x1e0
jne 0x4f4753
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], edi
mov dword [esp + 0x34], ebp
mov dword [esp + 0x48], 1
call fcn.004dc6a0
cmp eax, 1
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], ebx
jne 0x4f4809
cmp dword [0x8e8134], ebx
jne 0x4f4779
cmp dword [0x7c6e70], ebx
je 0x4f47ae
cmp dword [0x71df64], 0x280
jne 0x4f47ae
cmp dword [0x71df68], 0x1e0
jne 0x4f47ae
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x28]
push ecx
call fcn.004ebdb0
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
mov dword [esp + 0x20], edx
jmp 0x4f47e3
lea ecx, [esp + 0x38]
push ecx
lea edx, [esp + 0x50]
push edx
call fcn.004dc790
fstp st(0)
fild dword [esp + 0x2c]
fmul qword [esp + 0x54]
fstp qword [esp]
call fcn.004dc240
fild dword [esp + 0x28]
mov dword [esp + 0x20], eax
fmul qword [esp + 0x40]
fstp qword [esp]
call fcn.004dc240
add esp, 8
cmp dword [0x7139d4], ebx
mov dword [esp + 0x1c], eax
je 0x4f481c
mov eax, dword [0x709104]
sub eax, dword [0x7090fc]
mov ecx, eax
sub ecx, dword [esp + 0x20]
mov dword [esp + 0x14], ecx
jmp 0x4f4818
mov edx, dword [0x71df64]
mov eax, dword [0x71df68]
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], eax
cmp dword [0x71dfb8], ebx
je 0x4f4aee
call fcn.004ea2c0
call fcn.004e85d0
cmp dword [0x714048], ebx
je 0x4f48a3
cmp dword [0x8e812c], ebx
jne 0x4f4847
call fcn.004e8380
mov ecx, dword [0x71df64]
mov edx, dword [0x71df68]
mov esi, dword [0x8e7f74]
push 1
push 0xffffffffffffffff
lea eax, [esp + 0xa4]
mov dword [esp + 0x48], ecx
push eax
lea ecx, [esp + 0x44]
push ecx
mov dword [0x8e7f74], 0xfffffffe
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x54], edx
call fcn.004eb400
add esp, 0x10
test eax, eax
jl 0x4f4a34
push ebx
push ebx
lea edx, [esp + 0xa4]
push edx
jmp 0x4f4b7f
cmp dword [esp + 0x48], ebx
je 0x4f48d1
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], 0x280
mov dword [esp + 0x1c], 0x1e0
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], edi
mov dword [esp + 0x34], ebp
mov ecx, dword [0x7cf914]
cmp ecx, ebx
je 0x4f48fe
mov edi, dword [0x7cf910]
mov eax, dword [0x7cf900]
mov edx, dword [eax]
push ebx
push ebx
push edi
push ebx
push ecx
push eax
mov eax, dword [edx + 0x88]
call eax
test eax, eax
jne 0x4f4a34
cmp dword [0x7cf908], ebx
je 0x4f4e16
push ebx
call fcn.004dcfc0
add esp, 4
cmp dword [0x709138], ebx
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], edx
jne 0x4f4a98
call fcn.004dc6a0
test eax, eax
je 0x4f4a42
cmp esi, ebx
jne 0x4f49b0
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x30]
mov dword [0x71df88], ecx
mov ecx, dword [esp + 0x34]
mov dword [0x71df8c], edx
mov edx, dword [esp + 0x10]
mov dword [0x71df90], eax
mov eax, dword [esp + 0x14]
mov dword [0x71df94], ecx
mov ecx, dword [esp + 0x18]
mov dword [0x71df98], edx
mov edx, dword [esp + 0x1c]
mov dword [0x71df9c], eax
mov eax, dword [0x7cf908]
push ebx
mov dword [0x71dfa0], ecx
mov dword [0x71dfa4], edx
mov esi, dword [eax]
push ebx
call fcn.004dc690
mov ecx, dword [0x7cf908]
mov edx, dword [esi + 0xc]
push eax
push 0x71df98
push 0x71df88
push ecx
call edx
jmp 0x4f4a30
mov eax, dword [esi]
imul eax, dword [0x71df64]
mov ebp, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
cdq
sub ecx, ebp
idiv ecx
mov edi, dword [esp + 0x1c]
sub edi, dword [esp + 0x14]
push ebx
push ebx
add eax, ebp
mov dword [esp + 0x5c], eax
mov eax, dword [esi + 8]
imul eax, dword [0x71df64]
cdq
idiv ecx
mov ecx, dword [0x71df68]
add eax, ebp
mov dword [esp + 0x64], eax
mov eax, dword [esi + 4]
imul eax, ecx
cdq
idiv edi
mov ebp, dword [esp + 0x1c]
add eax, ebp
mov dword [esp + 0x60], eax
mov eax, dword [esi + 0xc]
imul eax, ecx
cdq
idiv edi
add eax, ebp
mov dword [esp + 0x68], eax
mov eax, dword [0x7cf908]
mov edi, dword [eax]
call fcn.004dc690
mov edx, dword [0x7cf908]
push eax
mov eax, dword [edi + 0xc]
push esi
lea ecx, [esp + 0x64]
push ecx
push edx
call eax
test eax, eax
je 0x4f4a98
or eax, 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4c8
ret
cmp dword [esp + 0x48], ebx
jne 0x4f4a6e
cmp dword [0x71df74], ebx
jne 0x4f4a6e
mov ecx, dword [0x7cf908]
mov esi, dword [ecx]
push ebx
push ebx
call fcn.004dc690
mov edx, dword [0x7cf908]
push eax
mov eax, dword [esi + 0xc]
push ebx
push ebx
push edx
jmp 0x4f4a2e
mov ecx, dword [0x7cf908]
mov esi, dword [ecx]
push ebx
push ebx
call fcn.004dc690
mov ecx, dword [0x7cf908]
push eax
lea edx, [esp + 0x1c]
push edx
mov edx, dword [esi + 0xc]
lea eax, [esp + 0x38]
push eax
push ecx
call edx
test eax, eax
jne 0x4f4a34
push ebx
call fcn.004dcfc0
mov edi, eax
add esp, 4
sub edi, dword [esp + 0x4c]
mov esi, edx
sbb esi, dword [esp + 0x50]
call fcn.004dc760
test eax, eax
je 0x4f4e16
cmp dword [0x8e812c], ebx
jne 0x4f4e16
cmp esi, ebx
jg 0x4f4e16
jl 0x4f4adc
cmp edi, 0x1f4
jae 0x4f4e16
call fcn.004e8380
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4c8
ret
push 0x8c6a98
call fcn.0052a710
add esp, 4
test eax, eax
je 0x4f4e16
cmp dword [0x8e812c], ebx
jne 0x4f4b10
call fcn.004e8380
cmp dword [0x714048], ebx
je 0x4f4b9f
cmp dword [0x8e812c], ebx
jne 0x4f4b29
call fcn.004e8380
mov eax, dword [0x71df64]
mov ecx, dword [0x71df68]
mov esi, dword [0x8e7f74]
push 1
push 0xffffffffffffffff
lea edx, [esp + 0xa4]
mov dword [esp + 0x48], eax
push edx
lea eax, [esp + 0x44]
push eax
mov dword [0x8e7f74], 0xfffffffe
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x54], ecx
call fcn.004eb400
add esp, 0x10
test eax, eax
jl 0x4f4a34
push ebx
push ebx
lea ecx, [esp + 0xa4]
push ecx
call fcn.004dd2a0
add esp, 0xc
call fcn.004eb210
mov dword [0x8e7f74], esi
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4c8
ret
push 0x38
lea edx, [esp + 0x68]
push ebx
push edx
call fcn.004dc0b0
mov eax, dword [0x71df64]
mov ecx, dword [0x71df68]
mov dword [esp + 0x74], eax
mov eax, dword [0x8c6aac]
mov dword [esp + 0x70], 0x28
mov word [esp + 0x7c], 1
neg ecx
mov dword [esp + 0x78], ecx
mov edx, dword [eax + 0x14]
mov cx, word [edx]
mov word [esp + 0x7e], cx
mov dword [esp + 0x80], 3
mov edx, dword [eax + 0x14]
mov ecx, dword [edx + 0xc]
mov dword [esp + 0x98], ecx
mov edx, dword [eax + 0x14]
mov ecx, dword [edx + 0x10]
mov dword [esp + 0x9c], ecx
mov edx, dword [eax + 0x14]
mov eax, dword [edx + 0x14]
add esp, 0xc
mov dword [esp + 0x94], eax
call fcn.004dc690
push eax
call dword [sym.imp.USER32.dll_GetDC]
mov edi, eax
cmp edi, ebx
je 0x4f4e16
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
sub eax, dword [esp + 0x14]
mov ecx, edx
sub ecx, dword [esp + 0x10]
cmp dword [esp + 0x48], ebx
je 0x4f4ca1
push 0xcc0020
push ebx
lea edx, [esp + 0x6c]
push edx
mov edx, dword [0x8c6aa4]
push edx
push 0xf0
mov ecx, 0x280
mov eax, 0x1e0
push 0x140
mov dword [0x71df88], ebx
mov dword [0x71df8c], ebx
mov dword [0x71df90], ecx
mov dword [0x71df94], eax
mov dword [0x71df98], ebx
mov dword [0x71df9c], ebx
mov dword [0x71dfa0], ecx
mov dword [0x71dfa4], eax
push 0xf0
jmp 0x4f4dfd
cmp esi, ebx
je 0x4f4cef
mov ebp, dword [esp + 0x5c]
push 0xcc0020
push ebx
mov eax, dword [esi + 4]
mov ecx, dword [esi]
lea edx, [esp + 0x6c]
push edx
mov edx, dword [0x8c6aa4]
push edx
mov edx, dword [esp + 0x70]
mov ebx, edx
sub ebx, dword [esp + 0x68]
push ebx
mov ebx, dword [esp + 0x68]
sub ebp, ebx
push ebp
mov ebp, dword [0x71df68]
sub ebp, edx
mov edx, dword [esi + 0xc]
push ebp
push ebx
sub edx, eax
push edx
mov edx, dword [esi + 8]
sub edx, ecx
push edx
push eax
push ecx
jmp 0x4f4e02
cmp dword [0x71df74], ebx
je 0x4f4d87
mov ebp, dword [0x71df78]
mov dword [0x71df88], ebp
mov ebp, dword [0x71df7c]
mov dword [0x71df8c], ebp
mov ebp, dword [0x71df80]
mov dword [0x71df90], ebp
mov ebp, dword [0x71df84]
mov dword [0x71df94], ebp
mov ebp, dword [esp + 0x10]
mov dword [0x71df98], ebp
mov ebp, dword [esp + 0x14]
mov dword [0x71df9c], ebp
push 0xcc0020
push ebx
mov dword [0x71dfa0], edx
mov edx, dword [esp + 0x24]
lea ebp, [esp + 0x6c]
push ebp
mov ebp, dword [0x8c6aa4]
push ebp
mov dword [0x71dfa4], edx
mov edx, dword [0xc]
mov esi, dword [esi]
mov ebp, edx
sub ebp, dword [4]
push ebp
mov ebp, dword [8]
sub ebp, esi
push ebp
mov ebp, dword [0x71df68]
sub ebp, edx
push ebp
push esi
jmp 0x4f4dfe
mov edx, dword [0x71df64]
cmp edx, ecx
mov esi, dword [0x71df68]
mov dword [0x71df88], ebx
mov dword [0x71df8c], ebx
mov dword [0x71df90], ecx
mov dword [0x71df94], eax
jne 0x4f4de8
cmp esi, eax
jne 0x4f4de8
push ebx
lea edx, [esp + 0x68]
push edx
mov edx, dword [0x8c6aa4]
push edx
push eax
push ebx
push ebx
push ebx
push eax
push ecx
push ebx
push ebx
push edi
call dword [sym.imp.GDI32.dll_SetDIBitsToDevice]
push edi
call fcn.004dc690
push eax
call dword [sym.imp.USER32.dll_ReleaseDC]
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4c8
ret
push 0xcc0020
push ebx
lea ebp, [esp + 0x6c]
push ebp
mov ebp, dword [0x8c6aa4]
push ebp
push esi
push edx
push ebx
push ebx
push eax
push ecx
push ebx
push ebx
push edi
call dword [sym.imp.GDI32.dll_StretchDIBits]
push edi
call fcn.004dc690
push eax
call dword [sym.imp.USER32.dll_ReleaseDC]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4c8
ret