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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0xfc
lea eax, [esp + 0x88]
lea esi, [esp + 0x88]
mov dword [esp + 0x80], eax
lea eax, [esp + 0xbc]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x118]
sar eax, 1
lea edi, [eax*4]
mov dword [esp + 0x28], eax
add esi, edi
mov dword [esp + 0x4c], edi
mov dword [esi], 0x10000
mov dword [esp + 0x54], esi
lea esi, [esp + 0xbc]
add esi, edi
test eax, eax
mov dword [esp + 0x5c], esi
mov dword [esi], 0x10000
jle 0xb6f1f9
mov eax, dword [esp + 0x4c]
mov ebx, dword [esp + 0x114]
mov edi, dword [esp + 0x28]
lea ebp, [eax - 4]
add eax, dword [esp + 0x114]
add ebx, ebp
mov dword [esp + 0x14], ebp
mov esi, eax
mov dword [esp + 0x74], eax
xor eax, eax
mov ebp, esi
mov esi, dword [ebx]
mov edx, dword [ebp + eax*4]
sub ebx, 4
mov ecx, esi
neg ecx
sub ecx, edx
sub edx, esi
mov dword [esp + eax*4 + 0x88], ecx
mov dword [esp + eax*4 + 0xbc], edx
add eax, 1
cmp edi, eax
jne 0xb6e465
mov edi, dword [esp + 0x4c]
lea eax, [esp + 0x88]
lea edx, [esp + 0xbc]
mov ebp, dword [esp + 0x14]
add eax, edi
add edx, edi
lea edi, [esp + 0x88]
mov ecx, dword [eax]
sub dword [eax - 4], ecx
sub eax, 4
mov ecx, dword [edx]
add dword [edx - 4], ecx
sub edx, 4
cmp edi, eax
jne 0xb6e4a5
cmp dword [esp + 0x28], 1
jle 0xb6f20b
mov eax, dword [esp + 0x28]
mov edi, dword [esp + 0x54]
lea edx, [esp + 0x90]
mov ecx, 2
lea ebx, [eax + 1]
mov esi, eax
cmp esi, ecx
mov eax, edi
jle 0xb6e500
mov dword [esp + 0x14], ecx
nop
mov ecx, dword [eax]
sub dword [eax - 8], ecx
sub eax, 4
cmp edx, eax
jne 0xb6e4f0
mov ecx, dword [esp + 0x14]
mov eax, dword [edx]
add ecx, 1
add eax, eax
sub dword [edx - 8], eax
add edx, 4
cmp ecx, ebx
jne 0xb6e4e4
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x5c]
lea edx, [esp + 0xc4]
mov ebx, 2
cmp esi, ebx
mov eax, edi
jle 0xb6e540
mov dword [esp + 0x14], ecx
nop
mov ecx, dword [eax]
sub dword [eax - 8], ecx
sub eax, 4
cmp edx, eax
jne 0xb6e530
mov ecx, dword [esp + 0x14]
mov eax, dword [edx]
add ebx, 1
add eax, eax
sub dword [edx - 8], eax
add edx, 4
cmp ebx, ecx
jne 0xb6e525
movsx eax, word [0xe0f040]
mov edi, dword [esp + 0x54]
mov edi, dword [edi]
mov dword [esp + 0x68], eax
shl eax, 4
cmp dword [esp + 0x28], 8
mov dword [esp + 0x14], eax
mov ecx, edi
mov dword [esp + 0x20], edi
jne 0xb6f227
movsx ebx, ax
mov edi, eax
mov edx, ecx
movzx eax, cx
sar edx, 0x10
imul eax, ebx
imul edx, ebx
sar eax, 0x10
add eax, edx
mov edx, edi
add eax, dword [esp + 0xa4]
sar edx, 0xf
add edx, 1
mov esi, edx
mov edx, ecx
sar esi, 1
imul edx, esi
add eax, edx
movzx edx, ax
mov ecx, eax
imul edx, ebx
sar ecx, 0x10
imul ecx, ebx
sar edx, 0x10
add edx, ecx
add edx, dword [esp + 0xa0]
imul eax, esi
add edx, eax
movzx eax, dx
mov ecx, edx
imul eax, ebx
sar ecx, 0x10
imul ecx, ebx
sar eax, 0x10
add eax, ecx
add eax, dword [esp + 0x9c]
imul edx, esi
add eax, edx
movzx edx, ax
mov ecx, eax
imul edx, ebx
sar ecx, 0x10
imul ecx, ebx
sar edx, 0x10
add edx, ecx
add edx, dword [esp + 0x98]
imul eax, esi
add edx, eax
movzx eax, dx
mov ecx, edx
imul eax, ebx
sar ecx, 0x10
imul ecx, ebx
sar eax, 0x10
add eax, ecx
add eax, dword [esp + 0x94]
imul edx, esi
add eax, edx
movzx edx, ax
mov ecx, eax
imul edx, ebx
sar ecx, 0x10
imul ecx, ebx
sar edx, 0x10
add edx, ecx
add edx, dword [esp + 0x90]
imul eax, esi
add edx, eax
movzx eax, dx
mov ecx, edx
imul eax, ebx
sar ecx, 0x10
imul ecx, ebx
sar eax, 0x10
add eax, ecx
add eax, dword [esp + 0x8c]
imul edx, esi
add eax, edx
movzx edx, ax
mov ecx, eax
imul edx, ebx
sar ecx, 0x10
imul ecx, ebx
sar edx, 0x10
add edx, ecx
add edx, dword [esp + 0x88]
imul eax, esi
add edx, eax
mov dword [esp + 0x18], edx
js 0xb6f0b2
lea edi, [esp + 0x88]
mov dword [esp + 0x44], 0
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x4c]
add ebp, dword [esp + 0x114]
mov dword [esp + 0x40], 0
mov dword [esp + 0x30], 1
mov dword [esp + 0x50], 0
mov eax, esi
sar eax, 0xf
add eax, 1
mov dword [esp + 0x78], ebp
mov ebp, edi
sar eax, 1
mov dword [esp + 0x6c], eax
lea eax, [esp + 0x88]
add eax, ecx
mov dword [esp + 0x64], eax
lea eax, [esp + 0xbc]
add eax, ecx
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x2c], eax
movsx eax, word [0xe0f042]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x28]
add eax, 1
mov dword [esp + 0x7c], eax
movsx eax, si
mov dword [esp + 0x70], eax
nop
lea esi, [esi]
mov eax, dword [esp + 0x48]
mov dword [esp + 0x24], eax
shl eax, 4
cmp dword [esp + 0x28], 8
jne 0xb6edfe
mov edi, dword [esp + 0x20]
movsx edx, ax
sar eax, 0xf
add eax, 1
sar eax, 1
movzx ebx, di
mov ecx, edi
imul ebx, edx
sar ecx, 0x10
imul ecx, edx
sar ebx, 0x10
add ecx, ebx
mov ebx, edi
add ecx, dword [ebp + 0x1c]
imul ebx, eax
add ecx, ebx
movzx ebx, cx
mov esi, ecx
imul ebx, edx
sar esi, 0x10
imul esi, edx
sar ebx, 0x10
add ebx, esi
add ebx, dword [ebp + 0x18]
imul ecx, eax
add ecx, ebx
movzx ebx, cx
mov esi, ecx
imul ebx, edx
sar esi, 0x10
imul esi, edx
sar ebx, 0x10
add ebx, esi
add ebx, dword [ebp + 0x14]
imul ecx, eax
add ecx, ebx
movzx ebx, cx
mov esi, ecx
imul ebx, edx
sar esi, 0x10
imul esi, edx
sar ebx, 0x10
add ebx, esi
add ebx, dword [ebp + 0x10]
imul ecx, eax
add ecx, ebx
movzx ebx, cx
mov esi, ecx
imul ebx, edx
sar esi, 0x10
imul esi, edx
sar ebx, 0x10
add ebx, esi
add ebx, dword [ebp + 0xc]
imul ecx, eax
add ecx, ebx
movzx ebx, cx
mov esi, ecx
imul ebx, edx
sar esi, 0x10
imul esi, edx
sar ebx, 0x10
add ebx, esi
add ebx, dword [ebp + 8]
imul ecx, eax
add ecx, ebx
movzx ebx, cx
mov esi, ecx
imul ebx, edx
sar esi, 0x10
imul esi, edx
sar ebx, 0x10
add ebx, esi
add ebx, dword [ebp + 4]
imul ecx, eax
add ecx, ebx
movzx ebx, cx
mov esi, ecx
imul ebx, edx
sar esi, 0x10
imul edx, esi
sar ebx, 0x10
add edx, ebx
add edx, dword [ebp]
imul ecx, eax
lea eax, [edx + ecx]
mov dword [esp + 0x1c], eax
mov edi, dword [esp + 0x18]
test edi, edi
jg 0xb6ea80
mov edi, dword [esp + 0x1c]
cmp dword [esp + 0x40], edi
jg 0xb6ea80
mov ebx, dword [esp + 0x1c]
mov edi, dword [esp + 0x20]
xor eax, eax
mov dword [esp + 0x3c], 0xffffff00
mov dword [esp + 0x14], 0
test ebx, ebx
sete al
mov dword [esp + 0x40], eax
mov eax, edi
sar eax, 0x10
mov dword [esp + 0x34], eax
movzx eax, di
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x2c]
add eax, dword [esp + 0x24]
mov edx, eax
and eax, 1
sar edx, 1
lea edi, [edx + eax]
mov edx, edi
shl edx, 4
cmp dword [esp + 0x28], 8
jne 0xb6ed80
mov eax, dword [esp + 0x38]
mov ebx, dword [esp + 0x34]
movsx ecx, dx
sar edx, 0xf
add edx, 1
imul eax, ecx
sar edx, 1
imul ebx, ecx
sar eax, 0x10
add eax, ebx
mov ebx, dword [esp + 0x20]
add eax, dword [ebp + 0x1c]
imul ebx, edx
add eax, ebx
movzx ebx, ax
mov esi, eax
imul ebx, ecx
sar esi, 0x10
imul esi, ecx
sar ebx, 0x10
add ebx, esi
add ebx, dword [ebp + 0x18]
imul eax, edx
add eax, ebx
movzx ebx, ax
mov esi, eax
imul ebx, ecx
sar esi, 0x10
imul esi, ecx
sar ebx, 0x10
add ebx, esi
add ebx, dword [ebp + 0x14]
imul eax, edx
add eax, ebx
movzx ebx, ax
mov esi, eax
imul ebx, ecx
sar esi, 0x10
imul esi, ecx
sar ebx, 0x10
add ebx, esi
add ebx, dword [ebp + 0x10]
imul eax, edx
add eax, ebx
movzx ebx, ax
mov esi, eax
imul ebx, ecx
sar esi, 0x10
imul esi, ecx
sar ebx, 0x10
add ebx, esi
add ebx, dword [ebp + 0xc]
imul eax, edx
add eax, ebx
movzx ebx, ax
mov esi, eax
imul ebx, ecx
sar esi, 0x10
imul esi, ecx
sar ebx, 0x10
add ebx, esi
add ebx, dword [ebp + 8]
imul eax, edx
add eax, ebx
movzx ebx, ax
mov esi, eax
imul ebx, ecx
sar esi, 0x10
imul esi, ecx
sar ebx, 0x10
add ebx, esi
add ebx, dword [ebp + 4]
imul eax, edx
add eax, ebx
movzx ebx, ax
mov esi, eax
imul ebx, ecx
sar esi, 0x10
imul ecx, esi
sar ebx, 0x10
add ecx, ebx
add ecx, dword [ebp]
imul eax, edx
add eax, ecx
mov ecx, dword [esp + 0x18]
test ecx, ecx
jg 0xb6ea50
test eax, eax
js 0xb6ea50
mov dword [esp + 0x1c], eax
mov dword [esp + 0x24], edi
add dword [esp + 0x14], 1
mov eax, dword [esp + 0x14]
cmp eax, 3
jne 0xb6e871
mov ecx, dword [esp + 0x18]
mov eax, ecx
add eax, 0xffff
cmp eax, 0x1fffe
ja 0xb6ed60
mov eax, ecx
sub ecx, dword [esp + 0x1c]
je 0xb6e9d6
mov edx, ecx
shl eax, 5
sar edx, 1
add eax, edx
cdq
idiv ecx
add dword [esp + 0x3c], eax
mov eax, dword [esp + 0x30]
shl eax, 8
add eax, dword [esp + 0x3c]
cmp eax, 0x7fff
jle 0xb6e9ed
mov eax, 0x7fff
mov edi, dword [esp + 0x44]
mov esi, dword [esp + 0x110]
mov word [esi + edi*2], ax
add edi, 1
cmp dword [esp + 0x118], edi
mov dword [esp + 0x44], edi
jle 0xb6efed
mov eax, edi
mov edx, edi
and eax, 1
and edx, 2
mov ebp, dword [esp + eax*4 + 0x80]
mov eax, dword [esp + 0x30]
movsx eax, word [eax + eax + 0xe0f03e]
mov dword [esp + 0x2c], eax
mov eax, 1
sub eax, edx
shl eax, 0xc
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x4c]
mov eax, dword [ebp + eax]
mov dword [esp + 0x20], eax
jmp 0xb6e720
mov edx, dword [esp + 0x18]
test edx, edx
js 0xb6ea60
test eax, eax
jle 0xb6e98e
movzx ecx, byte [esp + 0x14]
mov edx, pe_nt_image_headers32
mov dword [esp + 0x18], eax
mov dword [esp + 0x2c], edi
sar edx, cl
add dword [esp + 0x3c], edx
jmp 0xb6e996
mov esi, dword [esp + 0x18]
test esi, esi
js 0xb6ea98
mov eax, dword [esp + 0x40]
neg eax
cmp eax, dword [esp + 0x1c]
jge 0xb6e83e
add dword [esp + 0x30], 1
mov eax, dword [esp + 0x30]
add eax, 0xffffff80
jle 0xb6edd1
add dword [esp + 0x50], 1
mov eax, dword [esp + 0x50]
cmp eax, 0x10
jg 0xb6efa4
movzx ecx, byte [esp + 0x50]
mov eax, 1
shl eax, cl
mov edx, eax
mov eax, 0x10000
sub eax, edx
mov dword [esp + 8], eax
mov eax, dword [esp + 0x118]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x114]
mov dword [esp], eax
call fcn.00b6f930
mov eax, dword [esp + 0x54]
mov esi, dword [esp + 0x28]
mov ebx, dword [esp + 0x78]
mov dword [eax], 0x10000
mov eax, dword [esp + 0x5c]
mov dword [eax], 0x10000
xor eax, eax
test esi, esi
jle 0xb6f001
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x74]
lea esi, [esi]
mov ebp, dword [ebx]
mov edx, dword [edi + eax*4]
sub ebx, 4
mov ecx, ebp
neg ecx
sub ecx, edx
sub edx, ebp
mov dword [esp + eax*4 + 0x88], ecx
mov dword [esp + eax*4 + 0xbc], edx
add eax, 1
cmp esi, eax
jne 0xb6eb20
mov edx, dword [esp + 0x60]
mov eax, dword [esp + 0x64]
lea esi, [esi]
lea edi, [esp + 0x88]
mov ecx, dword [eax]
sub dword [eax - 4], ecx
sub eax, 4
mov ecx, dword [edx]
add dword [edx - 4], ecx
sub edx, 4
cmp edi, eax
jne 0xb6eb50
cmp dword [esp + 0x28], 1
jle 0xb6f001
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x64]
lea ebx, [esp + 0x90]
mov ebp, dword [esp + 0x7c]
mov ecx, 2
nop
cmp esi, ecx
mov eax, edi
jle 0xb6ebac
lea esi, [esi]
lea edi, [edi]
mov edx, dword [eax]
sub dword [eax - 8], edx
sub eax, 4
cmp ebx, eax
jne 0xb6eba0
mov eax, dword [ebx]
add ecx, 1
add eax, eax
sub dword [ebx - 8], eax
add ebx, 4
cmp ecx, ebp
jne 0xb6eb90
mov edi, dword [esp + 0x28]
mov ebp, dword [esp + 0x60]
lea edx, [esp + 0xc4]
mov ebx, 2
cmp edi, ebx
mov eax, ebp
jle 0xb6ebec
mov esi, esi
lea edi, [edi]
mov esi, dword [eax]
sub dword [eax - 8], esi
sub eax, 4
cmp edx, eax
jne 0xb6ebe0
mov eax, dword [edx]
add ebx, 1
add eax, eax
sub dword [edx - 8], eax
add edx, 4
cmp ebx, ecx
jne 0xb6ebd1
mov eax, dword [esp + 0x54]
cmp dword [esp + 0x28], 8
mov eax, dword [eax]
mov ecx, eax
mov dword [esp + 0x20], eax
jne 0xb6f00b
mov edi, dword [esp + 0x70]
movzx eax, ax
mov esi, dword [esp + 0x6c]
imul eax, edi
sar eax, 0x10
mov edx, eax
mov eax, ecx
sar eax, 0x10
imul eax, edi
add eax, edx
mov edx, ecx
add eax, dword [esp + 0xa4]
imul edx, esi
add eax, edx
movzx edx, ax
mov ecx, eax
imul edx, edi
sar ecx, 0x10
imul ecx, edi
sar edx, 0x10
add edx, ecx
add edx, dword [esp + 0xa0]
imul eax, esi
add eax, edx
movzx edx, ax
mov ecx, eax
imul edx, edi
sar ecx, 0x10
imul ecx, edi
sar edx, 0x10
add edx, ecx
add edx, dword [esp + 0x9c]
imul eax, esi
add eax, edx
movzx edx, ax
mov ecx, eax
imul edx, edi
sar ecx, 0x10
imul ecx, edi
sar edx, 0x10
add edx, ecx
add edx, dword [esp + 0x98]
imul eax, esi
add eax, edx
movzx edx, ax
mov ecx, eax
imul edx, edi
sar ecx, 0x10
imul ecx, edi
sar edx, 0x10
add edx, ecx
add edx, dword [esp + 0x94]
imul eax, esi
add eax, edx
movzx edx, ax
mov ecx, eax
imul edx, edi
sar ecx, 0x10
imul ecx, edi
sar edx, 0x10
add edx, ecx
add edx, dword [esp + 0x90]
imul eax, esi
add eax, edx
movzx edx, ax
mov ecx, eax
imul edx, edi
sar ecx, 0x10
imul ecx, edi
sar edx, 0x10
add edx, ecx
add edx, dword [esp + 0x8c]
imul eax, esi
add eax, edx
movzx edx, ax
mov ecx, eax
imul edx, edi
sar ecx, 0x10
imul ecx, edi
sar edx, 0x10
add edx, ecx
add edx, dword [esp + 0x88]
imul eax, esi
add edx, eax
mov dword [esp + 0x18], edx
js 0xb6ee4f
mov eax, dword [esp + 0x68]
lea ebp, [esp + 0x88]
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x30], 1
mov dword [esp + 0x2c], eax
movsx eax, word [0xe0f042]
mov dword [esp + 0x48], eax
jmp 0xb6e720
mov eax, dword [esp + 0x18]
mov ecx, eax
sub ecx, dword [esp + 0x1c]
cdq
sar ecx, 5
idiv ecx
add dword [esp + 0x3c], eax
jmp 0xb6e9d6
mov esi, dword [esp + 0x28]
sub esi, 1
js 0xb6eff8
movsx eax, dx
sar edx, 0xf
mov dword [esp + 0x58], edi
mov ecx, eax
mov eax, dword [esp + 0x20]
add edx, 1
sar edx, 1
mov edi, ecx
movzx ecx, ax
mov ebx, eax
imul ecx, edi
sar ebx, 0x10
imul ebx, edi
sar ecx, 0x10
add ecx, ebx
add ecx, dword [ebp + esi*4]
sub esi, 1
imul eax, edx
add eax, ecx
cmp esi, 0xffffffff
jne 0xb6eda4
mov edi, dword [esp + 0x58]
jmp 0xb6e97a
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x40], 0
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x30]
movsx eax, word [eax + eax + 0xe0f040]
mov dword [esp + 0x48], eax
jmp 0xb6e720
mov ebx, dword [esp + 0x28]
sub ebx, 1
js 0xb6f1ec
mov edi, dword [esp + 0x20]
movsx esi, ax
sar eax, 0xf
add eax, 1
sar eax, 1
mov ecx, edi
lea esi, [esi]
movzx edx, cx
imul edx, esi
mov edi, edx
mov edx, ecx
sar edx, 0x10
sar edi, 0x10
imul edx, esi
imul ecx, eax
add edx, edi
add edx, dword [ebp + ebx*4]
sub ebx, 1
add ecx, edx
cmp ebx, 0xffffffff
jne 0xb6ee20
mov dword [esp + 0x1c], ecx
jmp 0xb6e824
mov eax, dword [esp + 0x110]
xor ebx, ebx
mov edi, dword [esp + 0x70]
mov word [eax], bx
mov eax, dword [esp + 0x5c]
mov eax, dword [eax]
mov esi, eax
mov dword [esp + 0x20], eax
movzx eax, ax
mov edx, esi
imul eax, edi
sar edx, 0x10
imul edx, edi
sar eax, 0x10
add eax, edx
mov edx, esi
mov esi, dword [esp + 0x6c]
add eax, dword [esp + 0xd8]
imul edx, esi
add eax, edx
movzx edx, ax
mov ecx, eax
imul edx, edi
sar ecx, 0x10
imul ecx, edi
sar edx, 0x10
add edx, ecx
add edx, dword [esp + 0xd4]
imul eax, esi
add edx, eax
movzx eax, dx
mov ecx, edx
imul eax, edi
sar ecx, 0x10
imul ecx, edi
sar eax, 0x10
add eax, ecx
add eax, dword [esp + 0xd0]
imul edx, esi
add eax, edx
movzx edx, ax
mov ecx, eax
imul edx, edi
sar ecx, 0x10
imul ecx, edi
sar edx, 0x10
add edx, ecx
add edx, dword [esp + 0xcc]
imul eax, esi
add edx, eax
movzx eax, dx
mov ecx, edx
imul eax, edi
sar ecx, 0x10
imul ecx, edi
sar eax, 0x10
add eax, ecx
add eax, dword [esp + 0xc8]
imul edx, esi
add eax, edx
movzx edx, ax
mov ecx, eax
imul edx, edi
sar ecx, 0x10
imul ecx, edi
sar edx, 0x10
add edx, ecx
add edx, dword [esp + 0xc4]
imul eax, esi
add edx, eax
movzx eax, dx
mov ecx, edx
imul eax, edi
sar ecx, 0x10
imul ecx, edi
sar eax, 0x10
add eax, ecx
add eax, dword [esp + 0xc0]
imul edx, esi
add eax, edx
movzx edx, ax
mov ecx, eax
imul edx, edi
sar ecx, 0x10
imul ecx, edi
sar edx, 0x10
add edx, ecx
add edx, dword [esp + 0xbc]
imul eax, esi
add eax, edx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x68]
lea ebp, [esp + 0xbc]
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 1
mov dword [esp + 0x30], 1
mov dword [esp + 0x2c], eax
movsx eax, word [0xe0f042]
mov dword [esp + 0x48], eax
jmp 0xb6e720
mov eax, dword [esp + 0x118]
mov edi, dword [esp + 0x110]
lea ecx, [eax + 1]
mov eax, 0x8000
cdq
idiv ecx
cmp dword [esp + 0x118], 1
mov edx, eax
mov word [edi], ax
jle 0xb6efed
mov esi, dword [esp + 0x118]
mov eax, edi
mov ebx, edi
lea ecx, [edi + esi*2 - 2]
jmp 0xb6efe0
movzx edx, word [ebx]
add dx, word [eax]
add eax, 2
mov word [eax], dx
cmp eax, ecx
jne 0xb6efdd
add esp, 0xfc
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [esp + 0x20]
jmp 0xb6e97a
mov eax, dword [esp + 0x54]
mov eax, dword [eax]
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x28]
test ecx, ecx
jle 0xb6f2e5
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x64]
mov edi, dword [esp + 0x6c]
mov esi, dword [esp + 0x70]
mov ebx, eax
movzx eax, bx
sub ecx, 4
imul eax, esi
sar eax, 0x10
mov edx, eax
mov eax, ebx
sar eax, 0x10
imul eax, esi
imul ebx, edi
add eax, edx
add eax, dword [ecx]
add ebx, eax
lea eax, [esp + 0x88]
cmp eax, ecx
jne 0xb6f029
test ebx, ebx
mov dword [esp + 0x18], ebx
jns 0xb6ed22
mov eax, dword [esp + 0x110]
xor edx, edx
mov ecx, dword [esp + 0x60]
mov ebx, dword [esp + 0x70]
mov word [eax], dx
mov eax, dword [esp + 0x5c]
mov eax, dword [eax]
mov dword [esp + 0x20], eax
mov edx, eax
movzx eax, dx
mov esi, edx
sub ecx, 4
imul eax, ebx
sar esi, 0x10
imul esi, ebx
imul edx, dword [esp + 0x6c]
sar eax, 0x10
add eax, esi
add eax, dword [ecx]
add edx, eax
lea eax, [esp + 0xbc]
cmp ecx, eax
jne 0xb6f07f
mov dword [esp + 0x18], edx
jmp 0xb6ef6d
mov eax, dword [esp + 0x110]
xor edi, edi
mov dword [esp + 0x44], 1
mov word [eax], di
mov eax, dword [esp + 0x5c]
mov eax, dword [eax]
mov edi, eax
mov dword [esp + 0x20], eax
movzx eax, ax
imul eax, ebx
sar eax, 0x10
mov edx, eax
mov eax, edi
sar eax, 0x10
imul eax, ebx
add eax, edx
mov edx, edi
add eax, dword [esp + 0xd8]
imul edx, esi
lea edi, [esp + 0xbc]
add edx, eax
movzx eax, dx
imul eax, ebx
sar eax, 0x10
mov ecx, eax
mov eax, edx
sar eax, 0x10
imul eax, ebx
imul edx, esi
add eax, ecx
add eax, dword [esp + 0xd4]
add edx, eax
movzx eax, dx
imul eax, ebx
sar eax, 0x10
mov ecx, eax
mov eax, edx
sar eax, 0x10
imul eax, ebx
imul edx, esi
add eax, ecx
add eax, dword [esp + 0xd0]
add edx, eax
movzx eax, dx
imul eax, ebx
sar eax, 0x10
mov ecx, eax
mov eax, edx
sar eax, 0x10
imul eax, ebx
imul edx, esi
add eax, ecx
add eax, dword [esp + 0xcc]
add edx, eax
movzx eax, dx
imul eax, ebx
sar eax, 0x10
mov ecx, eax
mov eax, edx
sar eax, 0x10
imul eax, ebx
imul edx, esi
add eax, ecx
add eax, dword [esp + 0xc8]
add edx, eax
movzx eax, dx
imul eax, ebx
sar eax, 0x10
mov ecx, eax
mov eax, edx
sar eax, 0x10
imul eax, ebx
imul edx, esi
add eax, ecx
add eax, dword [esp + 0xc4]
add edx, eax
movzx eax, dx
imul eax, ebx
sar eax, 0x10
mov ecx, eax
mov eax, edx
sar eax, 0x10
imul eax, ebx
imul edx, esi
add eax, ecx
add eax, dword [esp + 0xc0]
add edx, eax
movzx eax, dx
imul eax, ebx
sar eax, 0x10
mov ecx, eax
mov eax, edx
sar eax, 0x10
imul eax, ebx
imul edx, esi
add eax, ecx
add eax, dword [esp + 0xbc]
add eax, edx
mov dword [esp + 0x18], eax
jmp 0xb6e69e
mov eax, dword [esp + 0x20]
mov dword [esp + 0x1c], eax
jmp 0xb6e824
mov eax, edi
lea ebp, [edi - 4]
mov edi, dword [esp + 0x114]
add eax, edi
mov dword [esp + 0x74], eax
mov edi, dword [esp + 0x54]
movsx eax, word [0xe0f040]
mov edi, dword [edi]
mov dword [esp + 0x68], eax
shl eax, 4
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], edi
mov eax, dword [esp + 0x28]
test eax, eax
jle 0xb6f2f6
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x54]
movsx ebx, ax
sar eax, 0xf
add eax, 1
sar eax, 1
mov esi, eax
mov eax, dword [esp + 0x20]
mov edx, eax
movzx eax, dx
mov edi, edx
sub ecx, 4
imul eax, ebx
sar edi, 0x10
imul edi, ebx
sar eax, 0x10
add eax, edi
add eax, dword [ecx]
imul edx, esi
add edx, eax
lea eax, [esp + 0x88]
cmp eax, ecx
jne 0xb6f24e
test edx, edx
mov dword [esp + 0x18], edx
jns 0xb6e68f
mov eax, dword [esp + 0x110]
xor ecx, ecx
mov word [eax], cx
mov ecx, dword [esp + 0x5c]
mov eax, dword [ecx]
mov edi, eax
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x14]
mov edx, edi
sar eax, 0xf
add eax, 1
sar eax, 1
mov esi, eax
movzx eax, dx
mov edi, edx
sub ecx, 4
imul eax, ebx
sar edi, 0x10
imul edi, ebx
sar eax, 0x10
add eax, edi
add eax, dword [ecx]
imul edx, esi
add edx, eax
lea eax, [esp + 0xbc]
cmp eax, ecx
jne 0xb6f2aa
mov dword [esp + 0x18], edx
mov edi, eax
mov dword [esp + 0x44], 1
jmp 0xb6e69e
mov eax, dword [esp + 0x20]
test eax, eax
js 0xb6f316
mov dword [esp + 0x18], eax
jmp 0xb6ed22
mov eax, dword [esp + 0x20]
test eax, eax
js 0xb6f331
mov dword [esp + 0x18], eax
lea edi, [esp + 0x88]
mov dword [esp + 0x44], 0
jmp 0xb6e69e
mov eax, dword [esp + 0x110]
xor esi, esi
mov word [eax], si
mov eax, dword [esp + 0x5c]
mov eax, dword [eax]
mov dword [esp + 0x20], eax
jmp 0xb6ef69
mov eax, dword [esp + 0x110]
xor edx, edx
lea edi, [esp + 0xbc]
mov dword [esp + 0x44], 1
mov word [eax], dx
mov eax, dword [esp + 0x5c]
mov eax, dword [eax]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], eax
jmp 0xb6e69e