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

Disassembly:
push edi
push esi
push ebp
push ebx
sub esp, 0x2c
mov ebp, ecx
imul ebp, dword [esp + 0x4c]
mov ebx, dword [esp + 0x58]
mov dword [esp + 0x24], edx
mov dword [esp + 0x1c], eax
mov dword [esp + 4], ebx
add ebp, edx
mov dword [esp + 8], ebx
mov ebx, 0x1008b660
mov ecx, 0x1008b660
mov esi, 0x1008b660
lea edi, [ebp + ebp]
add edi, edi
add edi, edi
sub edi, ebp
add edi, edi
add edi, edi
add edi, edi
sub edi, ebp
mov dword [esp + 0x14], edi
lea edi, [edi + edi]
add edi, edi
add edi, edi
mov dword [esp + 0x28], edi
mov edi, dword [esp + 0x50]
lea edi, [edi + edi]
add edi, edi
add edi, eax
mov dword [esp + 0xc], edi
xor eax, eax
mov dword [esp + 0x10], eax
xor eax, eax
mov dword [esp + 0x20], eax
xor eax, eax
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x28]
test edx, edx
je 0x10056c0a
mov edx, dword [esp + 0x64]
lea edi, [edx + 1]
cmp ebp, edi
jl 0x10056c04
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x14]
add eax, edx
lea edx, [edx + edi*8 - 0x1b8]
mov edx, dword [edx + 0xec]
cmp edx, 3
je 0x10056be9
cmp edx, 4
jne 0x10056c0e
mov edx, dword [esp + 0x1c]
lea edx, [edx + edi*8 - 0x198]
mov dword [esp + 0x18], edx
mov edx, dword [edx + 0xd0]
mov dword [esp + 4], edx
jmp 0x10056c0e
add eax, dword [esp + 0x1c]
jmp 0x10056c0e
add eax, dword [esp + 0x1c]
mov edi, dword [esp + 0x64]
mov edx, dword [esp + 0x4c]
lea edx, [edx + edi]
cmp ebp, edx
jl 0x10056c68
mov edx, ebp
sub edx, dword [esp + 0x4c]
lea edi, [edx + edx]
add edi, edi
add edi, edi
sub edi, edx
add edi, edi
add edi, edi
add edi, edi
sub edi, edx
mov dword [esp], edi
lea edx, [edi + edi]
add edx, edx
add edx, edx
add edx, dword [esp + 0x1c]
mov edx, dword [edx + 0xec]
cmp edx, 3
je 0x10056c52
cmp edx, 4
jne 0x10056c68
mov edx, dword [esp + 0x1c]
lea edx, [edx + edi*8 + 0x20]
mov dword [esp + 0x20], edx
mov edx, dword [edx + 0xd0]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x24]
test edx, edx
je 0x10056cc6
mov edi, dword [esp + 0x64]
mov edx, dword [esp + 0x4c]
lea edx, [edx + edi + 1]
cmp ebp, edx
jl 0x10056cc6
sub ebp, dword [esp + 0x4c]
lea edx, [ebp + ebp]
add edx, edx
add edx, edx
sub edx, ebp
add edx, edx
add edx, edx
add edx, edx
sub edx, ebp
lea ebp, [edx + edx]
mov dword [esp], edx
add ebp, ebp
add ebp, ebp
add ebp, dword [esp + 0x1c]
mov edx, dword [ebp - 0xcc]
cmp edx, 3
je 0x10056cb4
cmp edx, 4
jne 0x10056cc6
mov ebp, dword [esp]
mov edx, dword [esp + 0x1c]
lea edi, [edx + ebp*8 - 0x198]
mov dword [esp + 0x10], edi
mov edx, dword [esp + 0x50]
add eax, 0x20
test edx, edx
je 0x10056ef2
mov edx, dword [esp + 0x50]
cmp edx, 1
je 0x10056ecf
mov edx, dword [esp + 0x50]
cmp edx, 2
je 0x10056eb2
mov edx, dword [esp + 0x50]
cmp edx, 3
je 0x10056d59
mov eax, dword [esp + 0x50]
cmp eax, 4
jne 0x10056d24
mov eax, dword [esp + 0x18]
test eax, eax
je 0x10056d0c
lea ebx, [eax + 0x78]
mov eax, dword [esp + 0x20]
test eax, eax
je 0x10056d17
lea ecx, [eax + 0x78]
mov eax, dword [esp + 0x10]
test eax, eax
je 0x10056d6d
lea esi, [eax + 0x78]
jmp 0x10056d6d
mov eax, dword [esp + 0x50]
cmp eax, 5
jne 0x10056d6d
mov eax, dword [esp + 0x18]
test eax, eax
je 0x10056d3b
lea ebx, [eax + 0x96]
mov eax, dword [esp + 0x20]
test eax, eax
je 0x10056d49
lea ecx, [eax + 0x96]
mov eax, dword [esp + 0x10]
test eax, eax
je 0x10056d6d
lea esi, [eax + 0x96]
jmp 0x10056d6d
mov edx, dword [esp + 0x58]
mov dword [esp + 4], edx
mov esi, eax
mov dword [esp + 8], edx
lea ebx, [eax + 0x3c]
lea ecx, [eax + 0x1e]
movsx ebp, word [esi]
movsx esi, word [ebx]
movsx edi, word [ecx]
sub esi, ebp
mov eax, esi
cdq
sub ebp, edi
mov eax, ebp
xor esi, edx
sub esi, edx
cdq
xor ebp, edx
sub ebp, edx
cmp esi, ebp
jge 0x10056e01
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x14]
mov dword [eax + edx*8 + 0xd4], 1
movsx edx, word [ecx]
mov eax, dword [esp + 0x5c]
sar eax, 1
test edx, edx
jle 0x10056e87
mov ebx, dword [esp + 0x5c]
add eax, edx
cdq
idiv ebx
mov edx, dword [esp + 0x60]
mov ebp, dword [esp + 8]
mov esi, dword [esp + 0x60]
mov edi, dword [esp + 0x58]
mov word [edx], ax
mov ebx, 1
movsx eax, word [ecx + ebx*2]
test eax, eax
je 0x10056df1
imul eax, ebp
test eax, eax
jle 0x10056e79
mov edx, edi
sar edx, 1
add edx, eax
mov eax, edx
cdq
idiv edi
jmp 0x10056df3
xor eax, eax
mov word [esi + ebx*2], ax
add ebx, 1
cmp ebx, 8
jb 0x10056dd1
jmp 0x10056e71
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x14]
mov dword [eax + edx*8 + 0xd4], 2
movsx edx, word [ebx]
mov eax, dword [esp + 0x5c]
sar eax, 1
test edx, edx
jle 0x10056ea2
mov ecx, dword [esp + 0x5c]
add eax, edx
cdq
idiv ecx
mov edx, dword [esp + 0x60]
mov ebp, dword [esp + 4]
mov esi, dword [esp + 0x60]
mov edi, dword [esp + 0x58]
mov word [edx], ax
mov ecx, 1
movsx eax, word [ebx + ecx*2 + 0xe]
test eax, eax
je 0x10056e63
imul eax, ebp
test eax, eax
jle 0x10056e97
mov edx, edi
sar edx, 1
add edx, eax
mov eax, edx
cdq
idiv edi
jmp 0x10056e65
xor eax, eax
mov word [esi + ecx*2], ax
add ecx, 1
cmp ecx, 8
jb 0x10056e46
add esp, 0x2c
pop ebx
pop ebp
pop esi
pop edi
ret
mov edx, edi
sar edx, 1
sub eax, edx
cdq
idiv edi
jmp 0x10056df3
mov ebx, dword [esp + 0x5c]
sub edx, eax
mov eax, edx
cdq
idiv ebx
jmp 0x10056db9
mov edx, edi
sar edx, 1
sub eax, edx
cdq
idiv edi
jmp 0x10056e65
mov ecx, dword [esp + 0x5c]
sub edx, eax
mov eax, edx
cdq
idiv ecx
jmp 0x10056e2e
mov edx, dword [esp + 0x18]
test edx, edx
je 0x10056ec0
lea ebx, [edx + 0x5a]
lea esi, [edx + 0x1e]
mov ecx, eax
mov eax, dword [esp + 0x58]
mov dword [esp + 8], eax
jmp 0x10056d6d
mov edx, dword [esp + 0x20]
mov ebx, eax
mov eax, dword [esp + 0x58]
mov dword [esp + 4], eax
test edx, edx
je 0x10056d6d
mov eax, edx
lea ecx, [eax + 0x5a]
lea esi, [eax + 0x3c]
jmp 0x10056d6d
mov eax, dword [esp + 0x18]
test eax, eax
je 0x10056efd
lea ebx, [eax + 0x1e]
mov eax, dword [esp + 0x20]
test eax, eax
je 0x10056f08
lea ecx, [eax + 0x3c]
mov eax, dword [esp + 0x10]
test eax, eax
je 0x10056d6d
lea esi, [eax + 0x5a]
jmp 0x10056d6d