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

Disassembly:
sub esp, 0x5c
push ebx
push ebp
mov ebx, ecx
mov eax, dword [ebx + 0x10]
xor ebp, ebp
cmp eax, ebp
push esi
push edi
je 0x4f4f60
push eax
mov ecx, 0x56ab94
call fcn.004dcc60
mov dword [ebx + 0x10], ebp
lea eax, [ebx + 0x40]
mov ecx, 0x15
jmp 0x4f4f70
mov dword [eax - 0x1c], 0xffffffff
mov dword [eax], ebp
add eax, 0x20
dec ecx
jne 0x4f4f70
mov eax, dword [ebx + 0x2d4]
push eax
call fcn.004f4130
mov edx, dword [eax + 4]
mov ecx, dword [ebx + 0x2d8]
mov dword [esp + 0x34], eax
mov eax, dword [ebx + 0x2dc]
lea ecx, [edx + ecx*8]
mov dword [esp + 0x38], ecx
mov ecx, dword [ecx + 4]
lea eax, [eax + eax*8]
lea eax, [ecx + eax*8]
push eax
mov dword [esp + 0x30], eax
call fcn.004f4150
add eax, 5
mov dword [esp + 0x18], eax
mov word [esp + 0x44], bp
xor eax, eax
mov ecx, 0xb
lea edi, [esp + 0x46]
rep stosd dword es:[edi], eax
add esp, 8
lea esi, [ebx + 4]
push 9
mov ecx, esi
stosw word es:[edi], ax
call fcn.00435120
mov word [esp + 0x3c], 0x65
mov dword [esp + 0x40], 0x10
mov dword [esp + 0x44], 0x1ed
mov dword [esp + 0x48], 0x212
mov edx, dword [eax + 0x40]
push ebp
mov dword [esp + 0x50], edx
mov eax, dword [eax + 0x44]
mov edx, dword [0x53fff4]
lea ecx, [esp + 0x40]
push ecx
mov dword [esp + 0x58], eax
mov eax, 0x30000
push edx
push ebp
mov ecx, 0x56ab94
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], ebx
mov dword [esp + 0x78], esi
call fcn.004dc5d0
cmp eax, ebp
mov dword [ebx + 0x10], eax
jne 0x4f5078
push 0x530474
lea eax, [esp + 0x38]
push ebp
push eax
mov dword [esp + 0x40], 0x543758
mov dword [esp + 0x44], 0x1f4
call fcn.0041ce50
add esp, 0xc
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x5c
ret
push 0x4f46b0
mov ecx, eax
call fcn.004dd3e0
call fcn.00433bc0
mov ecx, dword [ebx + 0x10]
push eax
call fcn.004dd4f0
mov edx, 0x5436fc
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], edx
mov esi, 0x543698
lea ebp, [ebx + 0x28]
mov dword [esp + 0x1c], 0
jmp 0x4f50b5
mov edx, dword [esp + 0x18]
xor eax, eax
mov ecx, 0xb
lea edi, [esp + 0x3e]
rep stosd dword es:[edi], eax
mov cx, word [esp + 0x14]
stosw word es:[edi], ax
mov eax, dword [edx - 4]
mov edi, dword [edx + 4]
mov word [esp + 0x3c], cx
mov ecx, dword [edx]
mov edx, dword [edx + 8]
mov dword [esp + 0x54], eax
cmp eax, 0x15
mov eax, dword [esp + 0x10]
mov dword [esp + 0x40], 1
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], edi
mov dword [esp + 0x60], edx
jne 0x4f5103
dec eax
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x10]
cmp ecx, 0x15
jne 0x4f510f
lea ecx, [eax - 1]
mov dword [esp + 0x58], ecx
cmp edi, 0x15
jne 0x4f511b
lea ecx, [eax - 1]
mov dword [esp + 0x5c], ecx
cmp edx, 0x15
jne 0x4f5125
dec eax
mov dword [esp + 0x60], eax
mov eax, dword [esi + 4]
mov edx, dword [esi]
mov ecx, dword [esi - 8]
mov dword [esp + 0x50], eax
lea eax, [ebx + 4]
push 0
mov dword [esp + 0x50], edx
mov edx, dword [esi - 4]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x48], ecx
mov ecx, dword [0x53fff8]
lea eax, [esp + 0x40]
push eax
mov dword [esp + 0x50], edx
mov edx, dword [ebx + 0x10]
push ecx
lea edi, [ebp - 4]
push edx
mov ecx, 0x56ab94
mov dword [esp + 0x74], edi
call fcn.004dc5d0
test eax, eax
mov dword [ebp + 0x18], eax
je 0x4f52be
mov byte [ebp], 1
mov eax, dword [esi + 8]
push eax
lea ecx, [ebx + 4]
call fcn.00435120
mov dword [ebp + 0x14], eax
mov dword [edi], 0
mov ecx, dword [esi]
mov edi, dword [esp + 0x14]
mov dword [ebp + 0xc], ecx
mov edx, dword [esi + 4]
mov dword [ebp + 0x10], edx
mov eax, dword [esi - 8]
mov edx, dword [esp + 0x18]
mov dword [ebp + 4], eax
mov ecx, dword [esi - 4]
mov eax, dword [esp + 0x1c]
add eax, 0x14
mov dword [ebp + 8], ecx
inc edi
add edx, 0x10
add ebp, 0x20
add esi, 0x14
cmp eax, 0x64
mov dword [esp + 0x14], edi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], edx
jb 0x4f50b1
mov eax, 0x86
mov dword [esp + 0x14], eax
mov dword [ebx + 0x36c], eax
cmp dword [esp + 0x10], 5
mov dword [esp + 0x1c], 0xffffffff
jbe 0x4f5392
mov eax, dword [esp + 0x28]
add eax, 8
mov ebp, 4
lea esi, [ebx + 0xd4]
mov dword [esp + 0x18], eax
jmp 0x4f5210
mov ecx, dword [esp + 0x10]
lea eax, [ebp + 2]
cmp eax, ecx
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], ebp
jb 0x4f522b
mov dword [esp + 0x20], 0
cmp ebp, 5
jae 0x4f5238
mov dword [esp + 0x24], 0
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx]
push edx
call fcn.00438cd0
mov dl, al
xor eax, eax
mov ecx, 0xb
lea edi, [esp + 0x42]
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x28]
stosw word es:[edi], ax
lea eax, [ebp + 1]
mov dword [esp + 0x30], eax
mov word [esp + 0x40], ax
mov eax, 4
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x18]
add esp, 4
test dl, dl
mov dword [esp + 0x40], 1
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x4c], 0xf
mov dword [esp + 0x50], 0x12
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], 0x28
jne 0x4f52ec
mov dword [esp + 0x40], 0x10
mov dword [esi - 0x10], 3
jmp 0x4f52f3
push 0x530474
lea edx, [esp + 0x38]
push 0
push edx
mov dword [esp + 0x40], 0x543758
mov dword [esp + 0x44], 0x224
call fcn.0041ce50
add esp, 0xc
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x5c
ret
mov dword [esi - 0x10], 0
lea edi, [ebx + 4]
push 8
mov ecx, edi
mov byte [esi - 0xc], dl
call fcn.00435120
mov ecx, dword [esp + 0x14]
mov dword [esi + 8], eax
cmp dword [esp + 0x1c], 0xffffffff
mov dword [esi], 0xf
mov dword [esi + 4], 0x12
mov dword [esi - 8], ecx
mov dword [esi - 4], 0x28
jne 0x4f5335
mov al, byte [esi - 0xc]
test al, al
je 0x4f5335
add ebp, 0xfffffffc
mov dword [esp + 0x1c], ebp
mov ecx, dword [ebx + 0x10]
push 0
lea eax, [esi - 0x10]
lea edx, [esp + 0x40]
mov dword [esp + 0x68], eax
mov eax, dword [0x53fff8]
push edx
push eax
push ecx
mov ecx, 0x56ab94
mov dword [esp + 0x78], edi
call fcn.004dc5d0
test eax, eax
mov dword [esi + 0xc], eax
je 0x4f53ec
mov edx, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
mov ebp, dword [esp + 0x2c]
mov eax, dword [esp + 0x10]
add edx, 4
mov dword [esp + 0x18], edx
add edi, 0x10
lea edx, [ebp + 1]
add esi, 0x20
cmp edx, eax
mov dword [esp + 0x14], edi
jb 0x4f5210
xor ecx, ecx
lea edx, [ebx + 0x390]
mov dword [edx], ecx
mov dword [edx + 4], ecx
mov edx, dword [esp + 0x1c]
xor eax, eax
lea ecx, [ebx + 0x398]
mov dword [ecx], eax
mov dword [ecx + 4], eax
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x30]
mov dword [ebx + 0x2e0], edx
mov edx, dword [esp + 0x28]
mov dword [ebx + 0x38c], 3
mov dword [ebx + 0x2c8], eax
mov dword [ebx + 0x2cc], ecx
mov dword [ebx + 0x2d0], edx
mov ecx, dword [ebx + 0x374]
test ecx, ecx
jne 0x4f541a
xor eax, eax
jmp 0x4f5425
push 0x530474
lea eax, [esp + 0x38]
push 0
push eax
mov dword [esp + 0x40], 0x543758
mov dword [esp + 0x44], 0x282
call fcn.0041ce50
add esp, 0xc
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x5c
ret
mov eax, dword [ebx + 0x378]
sub eax, ecx
sar eax, 3
mov ecx, dword [ebx + 0x80]
cmp eax, 1
seta al
test al, al
mov byte [ebx + 0x68], al
setne al
push eax
call fcn.004ddea0
mov ecx, dword [ebx + 0x374]
test ecx, ecx
jne 0x4f544d
xor eax, eax
jmp 0x4f5458
mov eax, dword [ebx + 0x378]
sub eax, ecx
sar eax, 3
mov dl, byte [ebx + 0x68]
cmp eax, 1
seta cl
test dl, dl
setne dl
mov byte [ebx + 0x48], cl
mov ecx, dword [ebx + 0x60]
push edx
call fcn.004ddea0
push 3
push 0
push 0x1f4
push 0
push 0
push 0
push 0
mov byte [ebx + 0x362], 1
mov byte [ebx + 0x361], 1
call fcn.004721c0
add esp, 0x1c
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
add esp, 0x5c
ret