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

Disassembly:
mov eax, dword [esp + 4]
sub esp, 0x44
mov dword [esp + 0xc], 0
push ebx
push esi
push edi
mov esi, dword [eax + 0x1c]
push ebp
test esi, esi
je 0x4f31f9
mov eax, dword [esi + 0xac]
test eax, eax
je 0x4f31f9
mov ecx, dword [eax + 0x2c]
jmp 0x4f31fb
xor ecx, ecx
mov eax, dword [esp + 0x5c]
push 0
lea edx, [esp + 0x2c]
push eax
push edx
push ecx
push esi
call fcn.004aec90
add esp, 0x14
test esi, esi
je 0x4f3224
mov eax, dword [esi + 0xac]
test eax, eax
je 0x4f3224
mov ecx, dword [eax + 0x2c]
jmp 0x4f3226
xor ecx, ecx
mov eax, dword [esp + 0x60]
push 0
lea edx, [esp + 0x3c]
push eax
push edx
push ecx
push esi
call fcn.004aec90
add esp, 0x14
cmp dword [esp + 0x64], 0
jne 0x4f324e
xor ax, ax
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x44
ret
test byte [esp + 0x34], 1
je 0x4f3279
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
xor edx, edx
mov dl, byte [eax + ecx]
mov dword [esp + 0x14], edx
test edx, edx
je 0x4f3274
mov bx, 1
inc dword [esp + 0x2c]
jmp 0x4f32dd
xor bx, bx
jmp 0x4f32dd
test byte [esp + 0x34], 2
je 0x4f32b2
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
cmp word [eax + ecx], 0
je 0x4f32a3
mov dword [esp + 0x14], 2
add dword [esp + 0x2c], 2
mov bx, word [esp + 0x14]
jmp 0x4f32dd
mov dword [esp + 0x14], 0
mov bx, word [esp + 0x14]
jmp 0x4f32dd
test esi, esi
je 0x4f32c5
mov eax, dword [esi + 0xac]
test eax, eax
je 0x4f32c5
mov ecx, dword [eax + 0x2c]
jmp 0x4f32c7
xor ecx, ecx
lea eax, [esp + 0x14]
lea edx, [esp + 0x28]
push eax
push edx
push ecx
call fcn.004ae200
mov bx, ax
add esp, 0xc
test bx, bx
jge 0x4f32ee
mov ax, 1
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x44
ret
test byte [esp + 0x44], 1
je 0x4f3319
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x38]
xor ecx, ecx
mov cl, byte [eax + edx]
mov dword [esp + 0x18], ecx
test ecx, ecx
je 0x4f3314
mov bp, 1
inc dword [esp + 0x3c]
jmp 0x4f337d
xor bp, bp
jmp 0x4f337d
test byte [esp + 0x44], 2
je 0x4f3352
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
cmp word [eax + ecx], 0
je 0x4f3343
mov dword [esp + 0x18], 2
add dword [esp + 0x3c], 2
mov bp, word [esp + 0x18]
jmp 0x4f337d
mov dword [esp + 0x18], 0
mov bp, word [esp + 0x18]
jmp 0x4f337d
test esi, esi
je 0x4f3365
mov eax, dword [esi + 0xac]
test eax, eax
je 0x4f3365
mov ecx, dword [eax + 0x2c]
jmp 0x4f3367
xor ecx, ecx
lea eax, [esp + 0x18]
lea edx, [esp + 0x38]
push eax
push edx
push ecx
call fcn.004ae200
mov bp, ax
add esp, 0xc
test bp, bp
jge 0x4f338e
mov ax, 0xffff
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x44
ret
lea eax, [esp + 0x20]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x68]
push eax
push ebx
push ecx
push edx
call fcn.004f6e60
lea ecx, [esp + 0x34]
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x78]
add esp, 0x10
push ecx
push ebp
push edx
push eax
call fcn.004f6e60
mov edi, dword [esp + 0x30]
add esp, 0x10
sub di, word [esp + 0x24]
movsx ecx, bx
mov eax, dword [esp + 0x1c]
add eax, ecx
mov dword [esp + 0x48], eax
cmp eax, dword [esp + 0x64]
ja 0x4f3637
test bx, bx
je 0x4f3637
test bp, bp
je 0x4f3637
mov eax, dword [esp + 0x14]
cmp dword [esp + 0x18], eax
je 0x4f3484
lea eax, [esp + 0x4c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x6c]
push eax
push ebx
push ecx
push edx
call fcn.004f6e60
mov word [esp + 0x2c], ax
lea ecx, [esp + 0x60]
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x7c]
add esp, 0x10
push ecx
push ebp
push edx
push eax
call fcn.004f6e60
mov word [esp + 0x22], ax
mov ecx, dword [esp + 0x5c]
add esp, 0x10
cmp dword [esp + 0x50], ecx
jne 0x4f35ce
test di, di
jne 0x4f3484
lea eax, [esp + 0x20]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x68]
push eax
push ebx
push ecx
push edx
call fcn.004f6e60
lea ecx, [esp + 0x34]
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x78]
add esp, 0x10
push ecx
push ebp
push edx
push eax
call fcn.004f6e60
mov edi, dword [esp + 0x30]
add esp, 0x10
sub di, word [esp + 0x24]
mov eax, dword [esp + 0x48]
mov dword [esp + 0x1c], eax
cmp eax, dword [esp + 0x64]
je 0x4f3617
test byte [esp + 0x34], 1
je 0x4f34c1
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
xor ecx, ecx
mov cl, byte [eax + edx]
mov dword [esp + 0x14], ecx
test ecx, ecx
je 0x4f34bc
mov bx, 1
inc dword [esp + 0x2c]
jmp 0x4f3525
xor bx, bx
jmp 0x4f3525
test byte [esp + 0x34], 2
je 0x4f34fa
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
cmp word [eax + ecx], 0
je 0x4f34eb
mov dword [esp + 0x14], 2
add dword [esp + 0x2c], 2
mov bx, word [esp + 0x14]
jmp 0x4f3525
mov dword [esp + 0x14], 0
mov bx, word [esp + 0x14]
jmp 0x4f3525
test esi, esi
je 0x4f350d
mov eax, dword [esi + 0xac]
test eax, eax
je 0x4f350d
mov ecx, dword [eax + 0x2c]
jmp 0x4f350f
xor ecx, ecx
lea eax, [esp + 0x14]
lea edx, [esp + 0x28]
push eax
push edx
push ecx
call fcn.004ae200
mov bx, ax
add esp, 0xc
test byte [esp + 0x44], 1
je 0x4f3550
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x38]
xor eax, eax
mov al, byte [ecx + edx]
mov dword [esp + 0x18], eax
test eax, eax
je 0x4f354b
mov bp, 1
inc dword [esp + 0x3c]
jmp 0x4f35b4
xor bp, bp
jmp 0x4f35b4
test byte [esp + 0x44], 2
je 0x4f3589
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
cmp word [eax + ecx], 0
je 0x4f357a
mov dword [esp + 0x18], 2
add dword [esp + 0x3c], 2
mov bp, word [esp + 0x18]
jmp 0x4f35b4
mov dword [esp + 0x18], 0
mov bp, word [esp + 0x18]
jmp 0x4f35b4
test esi, esi
je 0x4f359c
mov eax, dword [esi + 0xac]
test eax, eax
je 0x4f359c
mov ecx, dword [eax + 0x2c]
jmp 0x4f359e
xor ecx, ecx
lea eax, [esp + 0x18]
lea edx, [esp + 0x38]
push eax
push edx
push ecx
call fcn.004ae200
mov bp, ax
add esp, 0xc
test bx, bx
jl 0x4f3622
test bp, bp
jge 0x4f33c7
mov ax, 0xffff
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x44
ret
lea eax, [esp + 0x20]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x4c]
push eax
mov eax, dword [esp + 0x6c]
push ecx
push edx
push eax
call fcn.004f6e60
lea ecx, [esp + 0x34]
mov edx, dword [esp + 0x22]
mov eax, dword [esp + 0x60]
add esp, 0x10
push ecx
push edx
mov ecx, dword [esp + 0x70]
push eax
push ecx
call fcn.004f6e60
mov eax, dword [esp + 0x30]
add esp, 0x10
sub ax, word [esp + 0x24]
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x44
ret
mov ax, di
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x44
ret
mov ax, 0
test bp, bp
jl 0x4f3655
pop ebp
mov ax, 1
pop edi
pop esi
pop ebx
add esp, 0x44
ret
movsx eax, bx
add eax, dword [esp + 0x1c]
cmp eax, dword [esp + 0x64]
jbe 0x4f364f
mov ax, di
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x44
ret
mov ax, bx
sub ax, bp
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x44
ret