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

Disassembly:
sub esp, 0x40
push ebx
push ebp
mov ebp, ecx
push esi
push edi
push 0x1e4
mov eax, dword [ebp + 0xc]
push 0x7a4c60
mov dword [esp + 0x30], ebp
mov dword [esp + 0x40], 1
mov ecx, dword [eax + 0x9e6]
mov edx, dword [eax + 0x9ea]
add eax, 0x15a0
add ecx, 0xfffffffe
add edx, 0xfffffffe
push eax
push 4
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], edx
call fcn.0059cec2
mov edi, dword [esp + 0x88]
mov dword [esp + 0x44], eax
mov eax, dword [ebp + 8]
mov ebx, dword [esp + 0x84]
add esp, 0x10
mov ecx, dword [eax + 0x2a]
sar edi, 0xc
mov edx, dword [ecx + 0x1105]
mov ecx, dword [ebp + 0xc]
sar ebx, 0xc
mov eax, dword [ecx]
push edi
push ebx
mov dword [esp + 0x28], edx
call dword [eax + 0x1d8]
mov ecx, dword [esp + 0x58]
mov esi, eax
push esi
add ecx, ebp
push edi
push ebx
mov dword [esp + 0x3c], ecx
call dword [esp + 0x60]
test eax, eax
je 0x4b6af0
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40
ret 0x2c
mov eax, dword [esp + 0x7c]
cmp eax, 0x1000
jl 0x4b6f56
cdq
and edx, 0xfff
add eax, edx
sar eax, 0xc
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x64]
test eax, eax
je 0x4b6b28
mov edx, dword [esp + 0x68]
push esi
push edi
push ebx
lea ecx, [ebp + edx]
call eax
mov dword [esp + 0x34], eax
dec ebx
dec edi
mov eax, ebx
mov dword [esp + 0x74], ebx
sub eax, edi
lea ecx, [ebx + 1]
inc eax
lea edx, [ebx - 1]
mov dword [esp + 0x3c], eax
mov eax, edi
sub eax, ebx
xor esi, esi
mov dword [esp + 0x78], edi
mov dword [esp + 0x24], ecx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x40], eax
mov dword [esp + 0x64], esi
mov dword [esp + 0x4c], esi
jmp 0x4b6b6d
mov eax, dword [esp + 0x40]
mov ebp, dword [esp + 0x28]
mov ebx, dword [esp + 0x74]
mov edi, dword [esp + 0x78]
mov esi, dword [esp + 0x34]
cmp esi, 3
ja case.default.0x4b6b7a
jmp dword [esi*4 + 0x4b6f68]
lea esi, [eax + edx]
mov eax, ecx
test esi, esi
jge 0x4b6b90
mov ebx, dword [esp + 0x3c]
xor esi, esi
mov edx, dword [esp + 0x44]
cmp ecx, edx
jl 0x4b6b9b
lea eax, [edx - 1]
sub eax, ebx
lea edi, [ebx + 1]
inc eax
lea edx, [esi + 1]
test eax, eax
mov dword [esp + 0x2c], eax
jg 0x4b6bb5
inc dword [esp + 0x64]
jmp 0x4b6ed7
mov ecx, dword [ebp + 0xc]
push edx
push edi
mov eax, dword [ecx]
call dword [eax + 0x1d8]
add esi, edi
mov ebp, eax
sub esi, ebx
mov word [esp + 0x14], di
mov word [esp + 0x16], si
test byte [ebp + 0xb], 0x20
je 0x4b6c0a
mov ebx, dword [esp + 0x20]
lea ecx, [esp + 0x12]
lea edx, [esp + 0x14]
push ecx
push edx
push 1
mov ecx, ebx
call fcn.0055262b
test eax, eax
jne 0x4b6c0a
lea eax, [esp + 0x12]
lea ecx, [esp + 0x14]
push eax
push ecx
push 2
mov ecx, ebx
call fcn.0055262b
test eax, eax
je 0x4b6c1d
mov ecx, dword [esp + 0x30]
push ebp
push esi
push edi
call dword [esp + 0x60]
test eax, eax
jne 0x4b6f47
mov edx, dword [0x6b8a70]
mov eax, dword [esp + 0x2c]
inc edi
inc esi
inc edx
shl edx, 4
add ebp, edx
dec eax
test eax, eax
mov dword [esp + 0x2c], eax
jg 0x4b6bc8
jmp 0x4b6ed3
mov dword [esp + 0x18], ebx
mov ebx, dword [esp + 0x44]
cmp ecx, ebx
mov esi, ecx
mov ebp, edi
jl 0x4b6c58
mov esi, edi
sub esi, ebx
lea ebp, [esi + ecx + 1]
lea esi, [ebx - 1]
lea ebx, [eax + ecx]
mov eax, dword [esp + 0x48]
cmp ebx, eax
jl 0x4b6c6d
sub edi, eax
lea eax, [edi + ecx + 1]
mov dword [esp + 0x18], eax
mov edi, dword [esp + 0x18]
mov eax, esi
sub eax, edi
inc eax
inc esi
inc ebp
test eax, eax
jg 0x4b6c85
inc dword [esp + 0x64]
jmp case.default.0x4b6b7a
mov ecx, dword [esp + 0x28]
push ebp
push esi
mov ecx, dword [ecx + 0xc]
mov edx, dword [ecx]
call dword [edx + 0x1d8]
mov edi, eax
mov eax, dword [esp + 0x18]
mov ebx, esi
sub ebx, eax
mov word [esp + 0x14], si
mov word [esp + 0x16], bp
test byte [edi + 0xb], 0x20
je 0x4b6ce2
lea eax, [esp + 0x12]
lea ecx, [esp + 0x14]
push eax
push ecx
mov ecx, dword [esp + 0x28]
push 1
call fcn.0055262b
test eax, eax
jne 0x4b6ce2
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x12]
lea eax, [esp + 0x14]
push edx
push eax
push 2
call fcn.0055262b
test eax, eax
je 0x4b6cf5
mov ecx, dword [esp + 0x30]
push edi
push ebp
push esi
call dword [esp + 0x60]
test eax, eax
jne 0x4b6f47
mov ecx, dword [0x6b8a70]
dec esi
dec ebx
inc ebp
shl ecx, 4
test ebx, ebx
lea edi, [edi + ecx - 0x10]
jg 0x4b6ca0
jmp 0x4b6ed3
lea edi, [eax + ecx]
mov eax, dword [esp + 0x48]
cmp edi, eax
mov ebp, ebx
mov dword [esp + 0x18], edx
jl 0x4b6d2c
mov esi, dword [esp + 0x74]
lea ebp, [eax + esi]
sub ebp, edi
lea edi, [eax - 1]
dec ebp
test edx, edx
jge 0x4b6d38
mov dword [esp + 0x18], 0
mov esi, dword [esp + 0x18]
mov eax, ebp
sub eax, esi
lea esi, [ebp + 1]
inc eax
lea edx, [edi + 1]
test eax, eax
jg 0x4b6d54
inc dword [esp + 0x64]
jmp 0x4b6ed7
mov eax, dword [esp + 0x28]
push edx
push esi
mov ecx, dword [eax + 0xc]
mov eax, dword [ecx]
call dword [eax + 0x1d8]
mov ecx, dword [esp + 0x18]
mov ebx, esi
add edi, esi
sub ebx, ecx
mov dword [esp + 0x2c], eax
sub edi, ebp
mov ecx, dword [esp + 0x2c]
mov word [esp + 0x14], si
mov word [esp + 0x16], di
test byte [ecx + 0xb], 0x20
je 0x4b6dbb
mov ebp, dword [esp + 0x20]
lea edx, [esp + 0x12]
lea eax, [esp + 0x14]
push edx
push eax
push 1
mov ecx, ebp
call fcn.0055262b
test eax, eax
jne 0x4b6dbb
lea ecx, [esp + 0x12]
lea edx, [esp + 0x14]
push ecx
push edx
push 2
mov ecx, ebp
call fcn.0055262b
test eax, eax
je 0x4b6dd2
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
push eax
push edi
push esi
call dword [esp + 0x60]
test eax, eax
jne 0x4b6f47
mov eax, dword [0x6b8a70]
mov edx, dword [esp + 0x2c]
or ecx, 0xffffffff
dec esi
sub ecx, eax
dec edi
shl ecx, 4
dec ebx
add edx, ecx
test ebx, ebx
mov dword [esp + 0x2c], edx
jg 0x4b6d75
jmp 0x4b6ed3
mov ebp, edx
mov dword [esp + 0x18], edi
test edx, edx
mov dword [esp + 0x2c], ebp
mov edi, ebx
jge 0x4b6e1b
mov eax, dword [esp + 0x78]
mov dword [esp + 0x2c], 0
mov ebp, dword [esp + 0x2c]
add eax, edx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x40]
add eax, edx
test eax, eax
jge 0x4b6e2c
mov eax, dword [esp + 0x78]
lea edi, [eax + edx]
mov esi, dword [esp + 0x18]
mov eax, edi
sub eax, ebp
inc eax
inc ebp
inc esi
test eax, eax
jg 0x4b6e44
inc dword [esp + 0x64]
jmp case.default.0x4b6b7a
mov ecx, dword [esp + 0x28]
push esi
push ebp
mov ecx, dword [ecx + 0xc]
mov edx, dword [ecx]
call dword [edx + 0x1d8]
mov ecx, dword [esp + 0x2c]
add edi, esi
mov ebx, eax
mov eax, dword [esp + 0x18]
sub edi, ecx
sub edi, eax
mov word [esp + 0x14], bp
mov word [esp + 0x16], si
test byte [ebx + 0xb], 0x20
je 0x4b6ea7
lea eax, [esp + 0x12]
lea ecx, [esp + 0x14]
push eax
push ecx
mov ecx, dword [esp + 0x28]
push 1
call fcn.0055262b
test eax, eax
jne 0x4b6ea7
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x12]
lea eax, [esp + 0x14]
push edx
push eax
push 2
call fcn.0055262b
test eax, eax
je 0x4b6eba
mov ecx, dword [esp + 0x30]
push ebx
push esi
push ebp
call dword [esp + 0x60]
test eax, eax
jne 0x4b6f47
mov ecx, dword [0x6b8a70]
mov edx, 0x10
shl ecx, 4
inc ebp
dec esi
sub edx, ecx
dec edi
add ebx, edx
test edi, edi
jg 0x4b6e65
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x34]
inc eax
and eax, 3
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x4c]
inc eax
cmp eax, 4
mov dword [esp + 0x4c], eax
jl 0x4b6b5d
mov eax, dword [esp + 0x38]
mov esi, dword [esp + 0x7c]
cmp eax, esi
jg 0x4b6f56
mov esi, dword [esp + 0x3c]
mov ebp, eax
mov eax, dword [esp + 0x64]
inc ebp
inc ecx
dec edx
inc esi
cmp eax, 4
mov dword [esp + 0x38], ebp
mov dword [esp + 0x24], ecx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x3c], esi
je 0x4b6f56
mov eax, dword [esp + 0x40]
mov ebp, dword [esp + 0x28]
mov ebx, dword [esp + 0x74]
mov edi, dword [esp + 0x78]
xor esi, esi
mov dword [esp + 0x64], esi
mov dword [esp + 0x4c], esi
jmp 0x4b6b6d
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40
ret 0x2c
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x40
ret 0x2c