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

Disassembly:
push edi
push esi
push ebp
push ebx
push ecx
mov eax, 0x3c
call fcn.006021b0
mov ecx, dword [esp + 0x3c]
mov esi, ecx
lea ecx, [esp + 0x1c]
push 0
call fcn.004ff268
xor bl, bl
mov edx, dword [esi + 0xf]
mov ebp, dword [edx + 0xf]
xor eax, eax
mov al, byte [ebp + 0xa]
shl eax, 0x1a
sar eax, 0x1a
cmp eax, 2
jne 0x4f7b77
mov eax, dword [esi + 0x2d]
test eax, eax
je 0x4f79f4
movsx edi, word [ebp + 0x3d]
cmp edi, dword [esi + 0x25]
jg 0x4f7a9c
test eax, eax
je 0x4f7a56
movzx eax, word [esi + 0x1f]
movzx edx, word [0x65f474]
cmp eax, edx
je 0x4f7c36
movzx edx, word [0x65f470]
cmp eax, edx
je 0x4f7c36
movzx edx, word [0x65f46c]
cmp eax, edx
je 0x4f7c36
movzx edx, word [0x65f420]
cmp eax, edx
je 0x4f7c36
movzx edx, word [0x65f484]
cmp eax, edx
je 0x4f7c36
movzx edx, word [0x65f480]
cmp eax, edx
je 0x4f7c36
mov edi, 1
mov eax, dword [esi + 0x25]
test eax, eax
jle 0x4f7c36
mov eax, dword [ebp]
lea edx, [esp + 0x1c]
movzx ecx, word [esi + 0x1f]
push 0
push dword [esi + 0xf]
push edi
push ecx
push edx
mov ecx, ebp
call dword [eax + 0x14]
test eax, eax
jne 0x4f7a91
lea eax, [esp + 0x1c]
push edi
push eax
mov ecx, esi
call fcn.004f8040
mov bl, 1
inc edi
cmp edi, dword [esi + 0x25]
jle 0x4f7a66
jmp 0x4f7c36
lea eax, [edi + edi]
add eax, eax
add eax, edi
lea ecx, [eax + eax + 4]
call fcn.004dbd80
test eax, eax
je 0x4f7ae2
mov dword [eax], edi
add eax, 4
mov edx, edi
mov dword [esp + 4], eax
test edi, edi
je 0x4f7ae8
mov dword [esp + 0xc], ebp
mov dword [esp], esi
mov ebp, eax
mov esi, edx
push 0
mov ecx, ebp
call fcn.004ff268
add ebp, 0xa
dec esi
jne 0x4f7aca
mov ebp, dword [esp + 0xc]
mov esi, dword [esp]
jmp 0x4f7ae8
xor eax, eax
mov dword [esp + 4], eax
mov ecx, dword [esi + 0x29]
xor eax, eax
mov edx, dword [esi + 0x25]
test edx, edx
jle 0x4f7b3c
lea edx, [eax + eax]
add edx, edx
add edx, eax
add edx, edx
add edx, dword [esp + 4]
mov byte [esp + 0x10], bl
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebp
mov ebp, eax
mov ebx, edx
mov edi, esi
mov esi, ecx
push esi
mov ecx, ebx
call fcn.004ffea4
add esi, 0xa
add ebx, 0xa
inc ebp
cmp ebp, dword [edi + 0x25]
jl 0x4f7b15
mov eax, ebp
mov esi, edi
mov bl, byte [esp + 0x10]
mov edi, dword [esp + 8]
mov ebp, dword [esp + 0xc]
mov ecx, dword [esi + 0x29]
cmp eax, edi
jge 0x4f7dd4
lea edx, [eax + eax]
add edx, edx
add edx, eax
add edx, edx
add edx, dword [esp + 4]
mov byte [esp + 0x10], bl
mov dword [esp + 0xc], ebp
mov ebp, eax
mov ebx, edx
jmp 0x4f7b62
mov ecx, dword [esi + 0x29]
push ecx
mov ecx, ebx
call fcn.004ffea4
add ebx, 0xa
inc ebp
cmp ebp, edi
jl 0x4f7b5f
jmp 0x4f7dc9
cmp eax, 5
jne 0x4f7d1f
mov eax, dword [esi + 0x2d]
test eax, eax
jne 0x4f7b8c
mov eax, dword [esi + 0x25]
jmp 0x4f7ba3
mov eax, dword [ebp]
mov ecx, ebp
call dword [eax + 0x2c]
movsx edi, word [eax + 0x3d]
mov eax, dword [esi + 0x25]
cmp edi, eax
jg 0x4f7c46
cmp eax, 1
je 0x4f7df1
mov eax, dword [esi + 0x2d]
test eax, eax
je 0x4f7bf9
movzx eax, word [esi + 0x1f]
movzx edx, word [0x65f474]
cmp eax, edx
je 0x4f7c36
movzx edx, word [0x65f470]
cmp eax, edx
je 0x4f7c36
movzx edx, word [0x65f46c]
cmp eax, edx
je 0x4f7c36
movzx edx, word [0x65f420]
cmp eax, edx
je 0x4f7c36
movzx edx, word [0x65f484]
cmp eax, edx
je 0x4f7c36
movzx edx, word [0x65f480]
cmp eax, edx
je 0x4f7c36
mov edi, 1
mov eax, dword [esi + 0x25]
test eax, eax
jle 0x4f7c36
mov eax, dword [ebp]
lea ecx, [esp + 0x1c]
movzx edx, word [esi + 0x1f]
push 0
push dword [esi + 0xf]
push edi
push edx
push ecx
mov ecx, ebp
call dword [eax + 0x14]
test eax, eax
jne 0x4f7c30
lea eax, [esp + 0x1c]
push edi
push eax
mov ecx, esi
call fcn.004f8040
mov bl, 1
inc edi
cmp edi, dword [esi + 0x25]
jle 0x4f7c05
test bl, bl
je 0x4f7d28
mov ebx, dword [esi + 0x25]
jmp 0x4f7db6
lea eax, [edi + edi]
add eax, eax
add eax, edi
lea ecx, [eax + eax + 4]
call fcn.004dbd80
mov ecx, eax
test ecx, ecx
je 0x4f7c8e
mov dword [ecx], edi
add ecx, 4
mov eax, edi
mov dword [esp + 8], ecx
test edi, edi
je 0x4f7c94
mov dword [esp + 0xc], ebp
mov dword [esp], esi
mov ebp, eax
mov esi, ecx
push 0
mov ecx, esi
call fcn.004ff268
add esi, 0xa
dec ebp
jne 0x4f7c76
mov ebp, dword [esp + 0xc]
mov esi, dword [esp]
jmp 0x4f7c94
xor eax, eax
mov dword [esp + 8], eax
mov ecx, dword [esi + 0x29]
xor eax, eax
mov edx, dword [esi + 0x25]
test edx, edx
jle 0x4f7ce4
lea edx, [eax + eax]
add edx, edx
add edx, eax
add edx, edx
add edx, dword [esp + 8]
mov byte [esp + 0x10], bl
mov dword [esp + 4], edi
mov dword [esp + 0xc], ebp
mov ebp, eax
mov edi, edx
mov ebx, ecx
push ebx
mov ecx, edi
call fcn.004ffea4
add ebx, 0xa
add edi, 0xa
inc ebp
cmp ebp, dword [esi + 0x25]
jl 0x4f7cbf
mov eax, ebp
mov bl, byte [esp + 0x10]
mov edi, dword [esp + 4]
mov ebp, dword [esp + 0xc]
mov ecx, dword [esi + 0x29]
cmp eax, edi
jge 0x4f7e99
lea edx, [eax + eax]
add edx, edx
add edx, eax
add edx, edx
add edx, dword [esp + 8]
mov byte [esp + 0x10], bl
mov dword [esp + 0xc], ebp
mov ebp, eax
mov ebx, edx
jmp 0x4f7d0a
mov ecx, dword [esi + 0x29]
push ecx
mov ecx, ebx
call fcn.004ffea4
add ebx, 0xa
inc ebp
cmp ebp, edi
jl 0x4f7d07
jmp 0x4f7e8e
cmp eax, 6
je 0x4f8006
mov edx, dword [ebp]
movzx eax, word [esi + 0x1f]
push eax
mov ecx, ebp
call dword [edx + 0x20]
mov ebp, eax
test ebp, ebp
je 0x4f7fac
mov edx, dword [esi + 0x2d]
cmp edx, 1
je 0x4f7eb5
mov ebx, dword [esi + 0x25]
mov edi, 1
test ebx, ebx
jle 0x4f7db6
cmp edi, dword [ebp + 0x25]
jle 0x4f7d63
mov eax, 1
jmp 0x4f7d71
mov edx, 1
cmp edi, 1
mov eax, edx
jl 0x4f7d71
mov eax, edi
mov edx, dword [ebp + 0x29]
lea ebx, [eax + eax]
add ebx, ebx
add ebx, eax
lea ecx, [edx + ebx*2 - 0xa]
mov eax, dword [ebp + 0x31]
cmp eax, dword [edx + ebx*2 - 4]
je 0x4f7d95
push eax
call fcn.004fa970
mov edx, dword [ebp + 0x29]
lea ecx, [edx + ebx*2 - 0xa]
lea eax, [esp + 0x1c]
push ecx
mov ecx, eax
call fcn.004ffea4
lea edx, [esp + 0x1c]
push edi
push edx
mov ecx, esi
call fcn.004f8040
inc edi
mov ebx, dword [esi + 0x25]
cmp edi, ebx
jle 0x4f7d57
lea ecx, [esp + 0x1c]
call fcn.005003d8
mov eax, ebx
add esp, 0x40
pop ebx
pop ebp
pop esi
pop edi
ret
mov bl, byte [esp + 0x10]
mov ebp, dword [esp + 0xc]
mov ecx, dword [esi + 0x29]
test ecx, ecx
je 0x4f7ddf
push 3
call fcn.004f8300
mov eax, dword [esp + 4]
mov dword [esi + 0x29], eax
mov dword [esi + 0x25], edi
mov eax, dword [esi + 0x2d]
jmp 0x4f79f4
mov ecx, dword [ebp + 0x29]
mov eax, dword [ecx]
call dword [eax + 0x78]
cmp eax, 0x30
jne 0x4f7bac
movzx edx, word [esi + 0x1f]
movzx eax, word [0x65f474]
cmp edx, eax
je 0x4f7e20
movzx eax, word [0x65f470]
cmp edx, eax
jne 0x4f7bac
mov ebx, dword [ebp + 0x29]
lea ecx, [esp + 0x28]
call fcn.004eae9c
lea edx, [esp + 0x3c]
lea eax, [esp + 0x38]
push eax
push edx
mov ecx, ebx
call fcn.0052efcc
movzx eax, word [esi + 0x1f]
movzx edx, word [0x65f474]
cmp eax, edx
jne 0x4f7e5b
lea ecx, [esp + 0x28]
push dword [esp + 0x3c]
call fcn.004e870c
jmp 0x4f7e68
lea ecx, [esp + 0x28]
push dword [esp + 0x38]
call fcn.004e870c
lea ecx, [esp + 0x1c]
lea eax, [esp + 0x28]
push eax
push 8
call fcn.004ffc7c
lea eax, [esp + 0x1c]
push 1
push eax
mov ecx, esi
call fcn.004f8040
mov ebx, dword [esi + 0x25]
jmp 0x4f7db6
mov bl, byte [esp + 0x10]
mov ebp, dword [esp + 0xc]
mov ecx, dword [esi + 0x29]
test ecx, ecx
je 0x4f7ea4
push 3
call fcn.004f8300
mov eax, dword [esp + 8]
mov dword [esi + 0x29], eax
mov eax, edi
mov dword [esi + 0x25], edi
jmp 0x4f7ba3
mov edi, dword [ebp + 0x25]
mov ebx, dword [esi + 0x25]
cmp edi, ebx
jle 0x4f7d4e
lea edx, [edi + edi]
add edx, edx
add edx, edi
lea ecx, [edx + edx + 4]
call fcn.004dbd80
mov ecx, eax
test ecx, ecx
je 0x4f7f09
mov dword [ecx], edi
add ecx, 4
mov eax, edi
mov ebx, ecx
test edi, edi
je 0x4f7f0b
mov dword [esp + 4], ebp
mov dword [esp], esi
mov ebp, eax
mov esi, ecx
push 0
mov ecx, esi
call fcn.004ff268
add esi, 0xa
dec ebp
jne 0x4f7ef1
mov ebp, dword [esp + 4]
mov esi, dword [esp]
jmp 0x4f7f0b
xor ebx, ebx
mov ecx, dword [esi + 0x29]
xor eax, eax
mov edx, dword [esi + 0x25]
test edx, edx
jle 0x4f7f59
lea edx, [eax + eax]
add edx, edx
add edx, eax
add edx, edx
add edx, ebx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edi
mov dword [esp + 4], ebp
mov ebp, eax
mov edi, edx
mov ebx, ecx
push ebx
mov ecx, edi
call fcn.004ffea4
add ebx, 0xa
add edi, 0xa
inc ebp
cmp ebp, dword [esi + 0x25]
jl 0x4f7f34
mov eax, ebp
mov ebx, dword [esp + 8]
mov edi, dword [esp + 0xc]
mov ebp, dword [esp + 4]
mov ecx, dword [esi + 0x29]
cmp eax, edi
jge 0x4f7f94
lea edx, [eax + eax]
add edx, edx
add edx, eax
add edx, edx
add edx, ebx
mov dword [esp + 8], ebx
mov dword [esp + 4], ebp
mov ebp, eax
mov ebx, edx
jmp 0x4f7f79
mov ecx, dword [esi + 0x29]
push ecx
mov ecx, ebx
call fcn.004ffea4
add ebx, 0xa
inc ebp
cmp ebp, edi
jl 0x4f7f76
mov ebx, dword [esp + 8]
mov ebp, dword [esp + 4]
mov ecx, dword [esi + 0x29]
test ecx, ecx
je 0x4f7f9f
push 3
call fcn.004f8300
mov dword [esi + 0x29], ebx
mov ebx, edi
mov dword [esi + 0x25], edi
jmp 0x4f7d4e
mov eax, dword [esi + 0x31]
cmp eax, 0xa
je 0x4f7fbc
mov ebx, dword [esi + 0x25]
jmp 0x4f7db6
lea eax, [esp + 0x1c]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], 1
lea ecx, [esp + 0x1c]
lea edx, [esp + 0x18]
push edx
push 0xa
call fcn.004ffc7c
mov ebp, 1
mov ebx, dword [esi + 0x25]
test ebx, ebx
jle 0x4f7db6
lea eax, [esp + 0x1c]
push ebp
push eax
mov ecx, esi
call fcn.004f8040
inc ebp
mov ebx, dword [esi + 0x25]
cmp ebp, ebx
jle 0x4f7fec
jmp 0x4f7db6
mov eax, dword [ebp]
lea edi, [esp + 0x1c]
movzx ecx, word [esi + 0x1f]
movsx ebx, word [ebp + 0x59]
push 0
push edx
push ebx
push ecx
push edi
mov ecx, ebp
call dword [eax + 0x14]
test eax, eax
jne 0x4f7d28
lea eax, [esp + 0x1c]
push 1
push eax
mov ecx, esi
call fcn.004f8040
mov ebx, dword [esi + 0x25]
jmp 0x4f7db6