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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x20
mov esi, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x38]
mov ebx, dword [esp + 0x58]
mov edi, dword [esp + 0x4c]
imul ecx, esi
add ecx, edx
imul eax, ecx, 0x1e8
add eax, dword [esp + 0x34]
test edx, edx
setne dl
cmp ebx, ecx
mov ebp, edx
jge 0xb5fc8d
test dl, dl
jne 0xb5fd80
mov dword [esp + 0x1c], edi
mov dword [esp + 0x14], 0
add ebx, esi
cmp ecx, ebx
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
mov dword [esp + 0x18], 0
jl 0xb5fcd1
mov edx, ecx
mov ebx, dword [esp + 0x34]
sub edx, esi
imul edx, edx, 0x1e8
add ebx, edx
mov edx, dword [ebx + 0xec]
sub edx, 3
cmp edx, 1
jbe 0xb5fe36
mov ebx, ebp
xor edx, edx
test bl, bl
je 0xb5fce3
cmp ecx, dword [esp + 8]
jg 0xb5fde0
cmp dword [esp + 0x44], 5
lea ebx, [eax + 0x20]
jbe 0xb5fdd0
movzx ebx, word [0x1264858]
mov esi, 0x1264858
movsx edx, bx
mov word [esp + 0xe], bx
mov dword [esp + 8], edx
mov edx, dword [esp + 0x44]
mov dword [eax + edx*4 + 0xd4], 2
mov eax, dword [esp + 0x50]
sar eax, 1
cmp word [esp + 0xe], 0
jle 0xb5fe20
add eax, dword [esp + 8]
mov edx, eax
sar edx, 0x1f
idiv dword [esp + 0x50]
mov ebx, dword [esp + 0x54]
mov ebp, edi
mov ecx, 1
sar ebp, 1
mov word [ebx], ax
movsx edx, word [esi + ecx*2 + 0xe]
xor eax, eax
test edx, edx
je 0xb5fd69
imul edx, dword [esp + 0x1c]
test edx, edx
jle 0xb5fe10
lea eax, [edx + ebp]
mov edx, eax
sar edx, 0x1f
idiv edi
mov word [ebx + ecx*2], ax
add ecx, 1
cmp ecx, 8
jne 0xb5fd47
add esp, 0x20
pop ebx
pop esi
pop edi
pop ebp
ret
lea edx, [ecx - 1]
imul edx, edx, 0x1e8
add edx, dword [esp + 0x34]
mov dword [esp + 0x1c], edi
mov dword [esp + 0x14], 0
mov dword [esp + 4], edx
mov edx, dword [edx + 0xec]
sub edx, 3
cmp edx, 1
ja 0xb5fc99
mov edx, dword [esp + 4]
add edx, 0x20
mov dword [esp + 0x14], edx
mov edx, dword [esp + 4]
mov edx, dword [edx + 0xf0]
mov dword [esp + 0x1c], edx
jmp 0xb5fc99
mov ecx, dword [esp + 0x44]
jmp dword [ecx*4 + 0x1264840]
sub ecx, esi
mov ebx, dword [esp + 0x34]
imul ecx, ecx, 0x1e8
lea ecx, [ebx + ecx - 0x1e8]
mov esi, dword [ecx + 0xec]
add ecx, 0x20
sub esi, 3
cmp esi, 1
cmovbe edx, ecx
jmp 0xb5fce3
mov eax, edx
sub eax, ebp
mov edx, eax
sar edx, 0x1f
idiv edi
jmp 0xb5fd69
mov ecx, dword [esp + 8]
sub ecx, eax
mov edx, ecx
mov eax, ecx
sar edx, 0x1f
idiv dword [esp + 0x50]
jmp 0xb5fd37
lea edx, [ebx + 0x20]
mov ebx, dword [ebx + 0xf0]
mov dword [esp + 0x18], edx
mov dword [esp + 4], ebx
jmp 0xb5fcd1
movzx ebx, word [eax + 0x5c]
lea esi, [eax + 0x5c]
lea ecx, [eax + 0x3e]
mov dword [esp + 4], edi
mov dword [esp + 0x1c], edi
movsx edx, bx
mov word [esp + 0xe], bx
movsx ebx, word [eax + 0x20]
mov ebp, edx
mov dword [esp + 8], edx
sub ebp, ebx
mov edx, ebp
sar edx, 0x1f
xor ebp, edx
sub ebp, edx
movzx edx, word [eax + 0x3e]
mov word [esp + 0x14], dx
movsx edx, dx
mov dword [esp + 0x18], edx
mov edx, ebx
sub edx, dword [esp + 0x18]
mov ebx, edx
sar ebx, 0x1f
xor edx, ebx
sub edx, ebx
nop
cmp ebp, edx
jge 0xb5fd09
mov edx, dword [esp + 0x44]
mov dword [eax + edx*4 + 0xd4], 1
mov eax, dword [esp + 0x50]
sar eax, 1
cmp word [esp + 0x14], 0
jle 0xb60106
add eax, dword [esp + 0x18]
mov edx, eax
sar edx, 0x1f
idiv dword [esp + 0x50]
mov ebx, dword [esp + 0x54]
mov ebp, edi
mov esi, 1
sar ebp, 1
mov word [ebx], ax
movsx edx, word [ecx + esi*2]
xor eax, eax
test edx, edx
je 0xb5ff07
imul edx, dword [esp + 4]
test edx, edx
jle 0xb600f6
lea eax, [edx + ebp]
mov edx, eax
sar edx, 0x1f
idiv edi
mov word [ebx + esi*2], ax
add esi, 1
cmp esi, 8
jne 0xb5fee6
add esp, 0x20
pop ebx
pop esi
pop edi
pop ebp
ret
mov ebp, dword [esp + 0x14]
mov ecx, 0x1264858
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
add esi, 0x78
test ebp, ebp
mov ebp, dword [esp + 0x18]
cmove esi, ecx
add ebp, 0x78
test ebx, ebx
cmovne ecx, ebp
test edx, edx
je 0xb60120
movzx ebx, word [esi]
mov word [esp + 0xe], bx
movsx ebx, bx
mov dword [esp + 8], ebx
movsx ebx, word [edx + 0x78]
mov ebp, dword [esp + 8]
sub ebp, ebx
mov edx, ebp
sar edx, 0x1f
xor ebp, edx
sub ebp, edx
movzx edx, word [ecx]
mov word [esp + 0x14], dx
movsx edx, dx
mov dword [esp + 0x18], edx
mov edx, ebx
sub edx, dword [esp + 0x18]
mov ebx, edx
sar ebx, 0x1f
xor edx, ebx
sub edx, ebx
jmp 0xb5fea0
mov ebx, dword [esp + 0x14]
mov ecx, 0x1264858
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
add esi, 0x1e
test ebx, ebx
mov ebx, dword [esp + 0x18]
cmove esi, ecx
add ebp, 0x3c
test ebx, ebx
movzx ebx, word [esi]
cmovne ecx, ebp
test edx, edx
mov word [esp + 0xe], bx
je 0xb60179
movsx ebx, bx
mov dword [esp + 8], ebx
movsx ebx, word [edx + 0x5a]
mov ebp, dword [esp + 8]
jmp 0xb5ff64
mov ebp, dword [esp + 0x18]
test ebp, ebp
je 0xb6015e
movzx edx, word [eax + 0x20]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x1c], edi
mov word [esp + 0xe], dx
movsx edx, dx
mov dword [esp + 8], edx
mov edx, dword [esp + 0x18]
add ecx, 0x5a
mov ebp, dword [esp + 8]
movsx esi, word [edx + 0x3c]
sub ebp, esi
mov edx, ebp
sar edx, 0x1f
xor ebp, edx
sub ebp, edx
mov edx, dword [esp + 0x18]
movzx edx, word [edx + 0x5a]
mov word [esp + 0x14], dx
movsx edx, dx
mov dword [esp + 0x18], edx
mov edx, esi
sub edx, dword [esp + 0x18]
mov esi, edx
sar esi, 0x1f
xor edx, esi
sub edx, esi
mov esi, ebx
jmp 0xb5fea0
mov ebx, dword [esp + 0x14]
mov ecx, 0x1264858
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
add esi, 0x96
test ebx, ebx
mov ebx, dword [esp + 0x18]
cmove esi, ecx
add ebp, 0x96
test ebx, ebx
cmovne ecx, ebp
test edx, edx
je 0xb60120
movzx ebx, word [esi]
mov word [esp + 0xe], bx
movsx ebx, bx
mov dword [esp + 8], ebx
movsx ebx, word [edx + 0x96]
mov ebp, dword [esp + 8]
jmp 0xb5ff64
mov esi, dword [esp + 0x14]
test esi, esi
je 0xb6013f
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x14]
movzx ecx, word [ecx + 0x5a]
add esi, 0x5a
movsx edx, cx
mov word [esp + 0xe], cx
mov ecx, dword [esp + 0x14]
mov dword [esp + 8], edx
mov ebp, dword [esp + 8]
movsx edx, word [ecx + 0x1e]
sub ebp, edx
mov ecx, ebp
sar ecx, 0x1f
xor ebp, ecx
sub ebp, ecx
movzx ecx, word [eax + 0x20]
mov dword [esp + 4], edi
mov word [esp + 0x14], cx
movsx ecx, cx
sub edx, ecx
mov dword [esp + 0x18], ecx
mov ecx, edx
sar ecx, 0x1f
xor edx, ecx
sub edx, ecx
mov ecx, ebx
jmp 0xb5fea0
mov eax, edx
sub eax, ebp
mov edx, eax
sar edx, 0x1f
idiv edi
jmp 0xb5ff07
mov ebx, dword [esp + 0x18]
sub ebx, eax
mov edx, ebx
mov eax, ebx
sar edx, 0x1f
idiv dword [esp + 0x50]
jmp 0xb5fed6
movzx edx, word [esi]
movsx ebx, dx
mov dword [esp + 8], ebx
movsx ebx, word [0x1264858]
mov word [esp + 0xe], dx
mov ebp, dword [esp + 8]
jmp 0xb5ff64
movzx ecx, word [0x1264858]
xor ebp, ebp
mov esi, 0x1264858
movsx edx, cx
mov word [esp + 0xe], cx
mov dword [esp + 8], edx
jmp 0xb600d0
movzx edx, word [eax + 0x20]
mov esi, ebx
mov dword [esp + 0x1c], edi
movsx ecx, dx
mov word [esp + 0xe], dx
mov dword [esp + 8], ecx
jmp 0xb5fd09
movsx edx, bx
movsx ebx, word [0x1264858]
mov dword [esp + 8], edx
mov ebp, edx
jmp 0xb5ff64