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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0xdc
mov ebp, dword [esp + 0xf0]
mov ebx, dword [ebp + 0x6b8]
mov dword [esp + 0x4c], ebx
mov esi, dword [ebp + 0x888]
mov dword [esp + 0x94], esi
mov ebx, dword [ebp + 0x8dc]
mov dword [esp + 0x8c], ebx
mov ebx, dword [ebp + 0x8b4]
mov ecx, dword [ebp + 0x2f08]
mov esi, dword [esp + 0x4c]
mov esi, dword [esi + 0x18]
mov dword [esp + 0x54], esi
mov esi, dword [esp + 0x4c]
mov esi, dword [esi + 0x1c]
mov dword [esp + 0x5c], esi
mov esi, dword [esp + 0x4c]
mov esi, dword [esi + 0x20]
mov dword [esp + 0x60], esi
mov esi, dword [ebp + 0x820]
mov dword [esp + 0x58], esi
mov esi, dword [ebp + 0x824]
mov dword [esp + 0x64], esi
mov esi, dword [ebp + 0x828]
mov dword [esp + 0x68], esi
mov edx, dword [ebp + 0x898]
test edx, edx
jle 0x6a83a349
mov esi, dword [esp + 0x4c]
mov esi, dword [esi + 8]
mov dword [esp + 0x3c], esi
mov edi, dword [ebp + 0x810]
mov eax, dword [ebp + 0x89c]
sub ebx, ecx
mov esi, ebx
sar esi, 3
mov dword [esp + 0x9c], esi
sar ecx, 2
mov dword [esp + 0x90], ecx
sar ebx, 5
mov dword [esp + 0xac], ebx
mov dword [esp + 0xa8], 0
mov dword [esp + 0x88], 0
test eax, eax
jle 0x6a83ad38
mov dword [esp + 0x48], ebp
cmp dword [esp + 0x94], 1
je 0x6a839d97
nop
mov eax, dword [esp + 0x94]
test eax, eax
jne 0x6a83a130
mov ebx, dword [esp + 0x48]
mov esi, dword [ebx + 0x81c]
mov ebx, dword [esp + 0x4c]
mov ebx, dword [ebx + 0x14]
mov dword [esp + 0x40], ebx
lea eax, [esp + 0xbc]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x6ac55aa0
mov dword [esp + 4], edi
mov ebx, dword [esp + 0x58]
mov dword [esp], ebx
call dword [0x6b33a4c0]
lea ebx, [eax + 0x80]
mov edx, ebx
shr edx, 8
mov dword [esp + 0x50], edx
lea ecx, [esp + 0xbc]
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x6ac55aa0
mov eax, dword [esp + 0x3c]
mov dword [esp + 4], eax
mov edx, dword [esp + 0x54]
mov dword [esp], edx
call dword [0x6b33a4c0]
mov dword [esp + 0x6c], eax
lea ecx, [esp + 0xbc]
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], edi
mov eax, dword [esp + 0x58]
mov dword [esp + 8], eax
mov edx, dword [esp + 0x3c]
mov dword [esp + 4], edx
mov ecx, dword [esp + 0x54]
mov dword [esp], ecx
call dword [0x6b33a4c0]
mov eax, dword [esp + 0xbc]
sub eax, 0xffffff80
shr eax, 8
mov dword [esp + 0x44], eax
lea edx, [esp + 0xbc]
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], esi
mov ecx, dword [esp + 0x64]
mov dword [esp + 8], ecx
mov eax, dword [esp + 0x40]
mov dword [esp + 4], eax
mov edx, dword [esp + 0x5c]
mov dword [esp], edx
call dword [0x6b33a4cc]
mov ebp, dword [esp + 0xbc]
lea ecx, [esp + 0xbc]
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], esi
mov eax, dword [esp + 0x68]
mov dword [esp + 8], eax
mov edx, dword [esp + 0x40]
mov dword [esp + 4], edx
mov ecx, dword [esp + 0x60]
mov dword [esp], ecx
call dword [0x6b33a4cc]
mov ecx, dword [esp + 0xbc]
mov eax, ebx
mov ebx, dword [esp + 0x9c]
shr eax, 9
je 0x6a839c79
inc ebx
shr eax, 1
jne 0x6a839c74
mov eax, dword [esp + 0x90]
test eax, eax
je 0x6a839c92
mov eax, dword [esp + 0x90]
nop
inc ebx
sar eax, 2
jne 0x6a839c8c
mov eax, ebx
imul eax, ebx
cmp dword [esp + 0x44], eax
jae 0x6a839cd0
lea edx, [ebp + 0x20]
shr edx, 6
shl edx, 2
cmp eax, edx
jbe 0x6a839cd0
add ecx, 0x20
shr ecx, 6
shl ecx, 2
cmp eax, ecx
jbe 0x6a839cd0
mov eax, dword [esp + 0x6c]
sub eax, 0xffffff80
shr eax, 8
lea eax, [eax + eax*4]
cmp dword [esp + 0x50], eax
jbe 0x6a83ad41
nop
mov dword [esp + 0xc], edi
mov ebx, dword [esp + 0x58]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x3c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x54]
mov dword [esp], ebx
call dword [0x6b33a51c]
mov dword [esp + 0xc], esi
mov ebx, dword [esp + 0x64]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x40]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x5c]
mov dword [esp], ebx
call dword [0x6b33a518]
mov dword [esp + 0xc], esi
mov esi, dword [esp + 0x68]
mov dword [esp + 8], esi
mov ebx, dword [esp + 0x40]
mov dword [esp + 4], ebx
mov esi, dword [esp + 0x60]
mov dword [esp], esi
call dword [0x6b33a518]
nop
add dword [esp + 0x54], 0x10
add dword [esp + 0x5c], 8
add dword [esp + 0x60], 8
add dword [esp + 0x58], 0x10
add dword [esp + 0x64], 8
add dword [esp + 0x68], 8
add dword [esp + 0x8c], 0x4c
inc dword [esp + 0x88]
mov esi, dword [esp + 0x48]
mov eax, dword [esi + 0x89c]
cmp eax, dword [esp + 0x88]
jle 0x6a83a2d7
mov edi, dword [esi + 0x810]
mov esi, dword [esp + 0x4c]
mov esi, dword [esi + 8]
mov dword [esp + 0x3c], esi
cmp dword [esp + 0x94], 1
jne 0x6a839b30
mov ebx, dword [esp + 0x8c]
cmp byte [ebx + 9], 0
jne 0x6a83a354
mov al, byte [ebx]
cmp al, 9
je 0x6a83a9de
cmp al, 4
jbe 0x6a83a385
mov ebx, dword [esp + 0x8c]
mov bx, word [ebx + 4]
mov eax, ebx
add eax, 2
cmp ax, 4
ja 0x6a83a385
mov esi, dword [esp + 0x8c]
mov si, word [esi + 6]
mov edx, esi
add edx, 2
cmp dx, 5
sbb eax, eax
and eax, 4
cmp dx, 5
sbb edx, edx
and edx, 1
mov dword [esp + 0xcc], edx
mov dword [esp + 0xc8], edx
mov dword [esp + 0xc4], edx
mov dword [esp + 0xc0], edx
test eax, eax
je 0x6a83a130
cmp eax, 4
je 0x6a839b3f
mov ebx, dword [esp + 0x4c]
mov ebp, dword [ebx + 0x14]
mov ebx, dword [esp + 0x48]
mov esi, dword [ebx + 0x81c]
lea ebx, [esp + 0xc0]
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], edi
mov edi, ebp
xor ebp, ebp
mov ebx, dword [esp + 0x6c]
mov eax, dword [ebx + ebp*4]
test eax, eax
je 0x6a83a1b4
mov eax, dword [esp + 0x40]
imul eax, esi
add eax, ebp
shl eax, 2
mov ebx, dword [esp + 0x68]
add ebx, eax
mov dword [esp + 0x70], ebx
add eax, dword [esp + 0x64]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x40]
imul eax, dword [esp + 0x44]
add eax, ebp
mov ebx, dword [esp + 0x58]
lea eax, [ebx + eax*8]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x40]
imul eax, edi
add eax, ebp
shl eax, 2
mov ebx, dword [esp + 0x60]
add ebx, eax
mov dword [esp + 0x7c], ebx
add eax, dword [esp + 0x5c]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x40]
imul eax, dword [esp + 0x3c]
add eax, ebp
mov ebx, dword [esp + 0x54]
lea eax, [ebx + eax*8]
mov dword [esp + 0x84], eax
lea eax, [esp + 0xbc]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x6ac55aa0
mov ebx, dword [esp + 0x44]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x78]
mov dword [esp], ebx
call dword [0x6b33a4cc]
lea ebx, [eax + 0x20]
mov edx, ebx
shr edx, 6
mov dword [esp + 0xa0], edx
lea ecx, [esp + 0xbc]
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x6ac55aa0
mov eax, dword [esp + 0x3c]
mov dword [esp + 4], eax
mov edx, dword [esp + 0x84]
mov dword [esp], edx
call dword [0x6b33a4cc]
mov dword [esp + 0xa4], eax
lea ecx, [esp + 0xbc]
mov dword [esp + 0x10], ecx
mov eax, dword [esp + 0x44]
mov dword [esp + 0xc], eax
mov edx, dword [esp + 0x78]
mov dword [esp + 8], edx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 4], ecx
mov eax, dword [esp + 0x84]
mov dword [esp], eax
call dword [0x6b33a4cc]
mov edx, dword [esp + 0xbc]
add edx, 0x20
shr edx, 6
mov dword [esp + 0x50], edx
lea ecx, [esp + 0xbc]
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], esi
mov eax, dword [esp + 0x74]
mov dword [esp + 8], eax
mov dword [esp + 4], edi
mov edx, dword [esp + 0x80]
mov dword [esp], edx
call dword [0x6b33a4d0]
mov ecx, dword [esp + 0xbc]
mov dword [esp + 0x98], ecx
lea eax, [esp + 0xbc]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], esi
mov edx, dword [esp + 0x70]
mov dword [esp + 8], edx
mov dword [esp + 4], edi
mov ecx, dword [esp + 0x7c]
mov dword [esp], ecx
call dword [0x6b33a4d0]
mov edx, dword [esp + 0xbc]
mov eax, ebx
mov ebx, dword [esp + 0x9c]
shr eax, 7
je 0x6a83a005
nop
inc ebx
shr eax, 1
jne 0x6a83a000
mov eax, dword [esp + 0x90]
test eax, eax
je 0x6a83a01e
mov eax, dword [esp + 0x90]
nop
inc ebx
sar eax, 2
jne 0x6a83a018
mov eax, ebx
imul eax, ebx
cmp dword [esp + 0x50], eax
jae 0x6a83a068
mov ecx, dword [esp + 0x98]
add ecx, 8
shr ecx, 4
shl ecx, 2
cmp eax, ecx
jbe 0x6a83a068
add edx, 8
shr edx, 4
shl edx, 2
cmp eax, edx
jbe 0x6a83a068
mov eax, dword [esp + 0xa4]
add eax, 0x20
shr eax, 6
lea eax, [eax + eax*4]
cmp dword [esp + 0xa0], eax
jbe 0x6a83a38e
nop
mov ebx, dword [esp + 0x44]
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x78]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x3c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x84]
mov dword [esp], ebx
call dword [0x6b33a518]
mov ebx, dword [esp + 0x80]
mov eax, dword [ebx]
mov ebx, dword [esp + 0x74]
mov dword [ebx], eax
mov edx, dword [esp + 0x80]
add edx, edi
mov eax, ebx
add eax, esi
mov ecx, dword [edx]
mov dword [eax], ecx
add edx, edi
add eax, esi
mov ecx, dword [edx]
mov dword [eax], ecx
mov edx, dword [edx + edi]
mov dword [eax + esi], edx
mov ebx, dword [esp + 0x7c]
mov eax, dword [ebx]
mov ebx, dword [esp + 0x70]
mov dword [ebx], eax
mov edx, dword [esp + 0x7c]
add edx, edi
mov eax, ebx
add eax, esi
mov ecx, dword [edx]
mov dword [eax], ecx
add edx, edi
add eax, esi
mov ecx, dword [edx]
mov dword [eax], ecx
mov edx, dword [edx + edi]
mov dword [eax + esi], edx
inc ebp
cmp ebp, 2
jne 0x6a83a2ac
inc dword [esp + 0x40]
add dword [esp + 0x6c], 8
cmp dword [esp + 0x40], 2
je 0x6a839d34
mov esi, dword [esp + 0x4c]
mov edi, dword [esi + 0x14]
mov ebx, dword [esp + 0x48]
mov esi, dword [ebx + 0x81c]
mov ebx, dword [ebx + 0x810]
mov dword [esp + 0x44], ebx
mov ebx, dword [esp + 0x4c]
mov ebx, dword [ebx + 8]
mov dword [esp + 0x3c], ebx
jmp 0x6a839e4d
mov dword [esp + 0xc], edi
mov ebx, dword [esp + 0x58]
mov dword [esp + 8], ebx
mov esi, dword [esp + 0x3c]
mov dword [esp + 4], esi
mov ebx, dword [esp + 0x54]
mov dword [esp], ebx
call dword [0x6b33a51c]
mov esi, dword [esp + 0x48]
mov eax, dword [esi + 0x81c]
mov dword [esp + 0xc], eax
mov ebx, dword [esp + 0x64]
mov dword [esp + 8], ebx
mov esi, dword [esp + 0x4c]
mov eax, dword [esi + 0x14]
mov dword [esp + 4], eax
mov ebx, dword [esp + 0x5c]
mov dword [esp], ebx
call dword [0x6b33a518]
mov esi, dword [esp + 0x48]
mov eax, dword [esi + 0x81c]
mov dword [esp + 0xc], eax
mov ebx, dword [esp + 0x68]
mov dword [esp + 8], ebx
mov esi, dword [esp + 0x4c]
mov eax, dword [esi + 0x14]
mov dword [esp + 4], eax
mov ebx, dword [esp + 0x60]
mov dword [esp], ebx
call dword [0x6b33a518]
jmp 0x6a839d34
imul edi, dword [esp + 0x40]
add edi, ebp
shl edi, 2
mov ebx, dword [esp + 0x5c]
add ebx, edi
mov edx, dword [esp + 0x40]
imul edx, esi
add edx, ebp
shl edx, 2
mov esi, dword [esp + 0x64]
add esi, edx
add edi, dword [esp + 0x60]
add edx, dword [esp + 0x68]
mov eax, dword [esp + 0x44]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x40]
imul eax, dword [esp + 0x44]
add eax, ebp
mov ecx, dword [esp + 0x58]
lea eax, [ecx + eax*8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x40]
imul eax, dword [esp + 0x3c]
add eax, ebp
mov ecx, dword [esp + 0x54]
lea eax, [ecx + eax*8]
mov dword [esp], eax
mov dword [esp + 0x30], edx
call dword [0x6b33a518]
mov eax, dword [ebx]
mov dword [esi], eax
mov eax, dword [edi]
mov edx, dword [esp + 0x30]
mov dword [edx], eax
mov ecx, dword [esp + 0x4c]
mov eax, dword [ecx + 0x14]
add ebx, eax
mov ecx, dword [esp + 0x48]
mov ecx, dword [ecx + 0x81c]
mov dword [esp + 0x38], ecx
add ecx, esi
add edi, eax
add edx, dword [esp + 0x38]
mov eax, dword [ebx]
mov dword [ecx], eax
mov eax, dword [edi]
mov dword [edx], eax
mov esi, dword [esp + 0x4c]
mov esi, dword [esi + 0x14]
mov dword [esp + 0x2c], esi
add ebx, esi
mov eax, dword [esp + 0x48]
mov esi, dword [eax + 0x81c]
add ecx, esi
add edi, dword [esp + 0x2c]
add esi, edx
mov dword [esp + 0x3c], esi
mov eax, dword [ebx]
mov dword [ecx], eax
mov eax, dword [edi]
mov dword [esi], eax
mov edx, dword [esp + 0x4c]
mov esi, dword [edx + 0x14]
mov edx, dword [esp + 0x48]
mov eax, dword [edx + 0x81c]
mov ebx, dword [ebx + esi]
mov dword [ecx + eax], ebx
mov ecx, dword [edi + esi]
mov ebx, dword [esp + 0x3c]
mov dword [ebx + eax], ecx
inc ebp
cmp ebp, 2
je 0x6a83a0f0
mov esi, dword [esp + 0x4c]
mov edi, dword [esi + 0x14]
mov ebx, dword [esp + 0x48]
mov esi, dword [ebx + 0x81c]
mov ebx, dword [ebx + 0x810]
mov dword [esp + 0x44], ebx
mov ebx, dword [esp + 0x4c]
mov ebx, dword [ebx + 8]
mov dword [esp + 0x3c], ebx
jmp 0x6a839e4f
mov ebp, esi
mov edx, dword [esi + 0x898]
mov ebx, dword [esp + 0x4c]
mov ebx, dword [ebx + 8]
mov dword [esp + 0x3c], ebx
mov edi, dword [esi + 0x810]
mov ecx, ebx
sub ecx, eax
shl ecx, 4
add dword [esp + 0x54], ecx
mov esi, dword [esp + 0x4c]
mov ecx, dword [esi + 0x14]
sub ecx, eax
shl ecx, 3
add dword [esp + 0x5c], ecx
add dword [esp + 0x60], ecx
mov ecx, edi
sub ecx, eax
shl ecx, 4
add dword [esp + 0x58], ecx
mov ecx, dword [ebp + 0x81c]
sub ecx, eax
shl ecx, 3
add dword [esp + 0x64], ecx
add dword [esp + 0x68], ecx
add dword [esp + 0x8c], 0x4c
inc dword [esp + 0xa8]
cmp dword [esp + 0xa8], edx
jl 0x6a839b0a
add esp, 0xdc
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 0xcc], 1
mov dword [esp + 0xc8], 1
mov dword [esp + 0xc4], 1
mov dword [esp + 0xc0], 1
jmp 0x6a839b3f
xor eax, eax
xor edx, edx
jmp 0x6a839df6
mov eax, dword [esp + 0x50]
shr eax, 1
je 0x6a83ae2a
mov ecx, 1
nop
inc ecx
shr eax, 1
jne 0x6a83a3a0
sar ecx, 1
xor eax, eax
mov dword [esp + 0x98], ebp
mov edx, 1
shl edx, cl
mov dword [esp + 0xa0], edx
or eax, edx
mov ebp, eax
imul ebp, eax
mov edx, eax
sub edx, dword [esp + 0xa0]
mov dword [esp + 0xa0], edx
cmp dword [esp + 0x50], ebp
jb 0x6a83a3dd
mov edx, eax
mov eax, edx
dec ecx
cmp ecx, 0xffffffff
jne 0x6a83a3b0
mov ebp, dword [esp + 0x98]
lea eax, [edx + 1]
imul eax, edx
inc eax
cmp dword [esp + 0x50], eax
setae al
movzx eax, al
add eax, edx
shl eax, 4
xor edx, edx
div ebx
mov cl, byte [esp + 0xac]
sar eax, cl
test eax, eax
je 0x6a83a0e6
mov dword [esp + 0x10], eax
mov ebx, dword [esp + 0x44]
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x78]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x3c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x84]
mov dword [esp], ebx
mov dword [esp + 0x30], eax
call dword [0x6b33a4f4]
mov edx, 0x10
mov eax, dword [esp + 0x30]
sub edx, eax
mov ecx, dword [esp + 0x80]
movzx ebx, byte [ecx]
imul ebx, eax
mov dword [esp + 0x3c], ebx
mov ebx, dword [esp + 0x74]
movzx ecx, byte [ebx]
imul ecx, edx
mov ebx, dword [esp + 0x3c]
lea ecx, [ebx + ecx + 8]
sar ecx, 4
mov ebx, dword [esp + 0x74]
mov byte [ebx], cl
mov ecx, dword [esp + 0x80]
movzx ebx, byte [ecx + 1]
imul ebx, eax
mov dword [esp + 0x3c], ebx
mov ebx, dword [esp + 0x74]
movzx ecx, byte [ebx + 1]
imul ecx, edx
mov ebx, dword [esp + 0x3c]
lea ecx, [ebx + ecx + 8]
sar ecx, 4
mov ebx, dword [esp + 0x74]
mov byte [ebx + 1], cl
mov ecx, dword [esp + 0x80]
movzx ebx, byte [ecx + 2]
imul ebx, eax
mov dword [esp + 0x3c], ebx
mov ebx, dword [esp + 0x74]
movzx ecx, byte [ebx + 2]
imul ecx, edx
mov ebx, dword [esp + 0x3c]
lea ecx, [ebx + ecx + 8]
sar ecx, 4
mov ebx, dword [esp + 0x74]
mov byte [ebx + 2], cl
mov ecx, dword [esp + 0x80]
movzx ebx, byte [ecx + 3]
imul ebx, eax
mov dword [esp + 0x3c], ebx
mov ebx, dword [esp + 0x74]
movzx ecx, byte [ebx + 3]
imul ecx, edx
mov ebx, dword [esp + 0x3c]
lea ecx, [ebx + ecx + 8]
sar ecx, 4
mov ebx, dword [esp + 0x74]
mov byte [ebx + 3], cl
mov ebx, dword [esp + 0x80]
add ebx, edi
mov dword [esp + 0x3c], ebx
mov ebx, dword [esp + 0x74]
add ebx, esi
mov dword [esp + 0x74], ebx
mov ecx, dword [esp + 0x3c]
movzx ebx, byte [ecx]
imul ebx, eax
mov dword [esp + 0x44], ebx
mov ebx, dword [esp + 0x74]
movzx ecx, byte [ebx]
imul ecx, edx
mov ebx, dword [esp + 0x44]
lea ecx, [ebx + ecx + 8]
sar ecx, 4
mov ebx, dword [esp + 0x74]
mov byte [ebx], cl
mov ecx, dword [esp + 0x3c]
movzx ebx, byte [ecx + 1]
imul ebx, eax
mov dword [esp + 0x44], ebx
mov ebx, dword [esp + 0x74]
movzx ecx, byte [ebx + 1]
imul ecx, edx
mov ebx, dword [esp + 0x44]
lea ecx, [ebx + ecx + 8]
sar ecx, 4
mov ebx, dword [esp + 0x74]
mov byte [ebx + 1], cl
mov ecx, dword [esp + 0x3c]
movzx ebx, byte [ecx + 2]
imul ebx, eax
mov dword [esp + 0x44], ebx
mov ebx, dword [esp + 0x74]
movzx ecx, byte [ebx + 2]
imul ecx, edx
mov ebx, dword [esp + 0x44]
lea ecx, [ebx + ecx + 8]
sar ecx, 4
mov ebx, dword [esp + 0x74]
mov byte [ebx + 2], cl
mov ecx, dword [esp + 0x3c]
movzx ebx, byte [ecx + 3]
imul ebx, eax
mov dword [esp + 0x44], ebx
mov ebx, dword [esp + 0x74]
movzx ecx, byte [ebx + 3]
imul ecx, edx
mov ebx, dword [esp + 0x44]
lea ecx, [ebx + ecx + 8]
sar ecx, 4
mov ebx, dword [esp + 0x74]
mov byte [ebx + 3], cl
mov ecx, dword [esp + 0x3c]
add ecx, edi
mov dword [esp + 0x3c], ecx
add ebx, esi
mov dword [esp + 0x74], ebx
movzx ebx, byte [ecx]
imul ebx, eax
mov dword [esp + 0x44], ebx
mov ebx, dword [esp + 0x74]
movzx ecx, byte [ebx]
imul ecx, edx
mov ebx, dword [esp + 0x44]
lea ecx, [ebx + ecx + 8]
sar ecx, 4
mov ebx, dword [esp + 0x74]
mov byte [ebx], cl
mov ecx, dword [esp + 0x3c]
movzx ebx, byte [ecx + 1]
imul ebx, eax
mov dword [esp + 0x44], ebx
mov ebx, dword [esp + 0x74]
movzx ecx, byte [ebx + 1]
imul ecx, edx
mov ebx, dword [esp + 0x44]
lea ecx, [ebx + ecx + 8]
sar ecx, 4
mov ebx, dword [esp + 0x74]
mov byte [ebx + 1], cl
mov ecx, dword [esp + 0x3c]
movzx ebx, byte [ecx + 2]
imul ebx, eax
mov dword [esp + 0x44], ebx
mov ebx, dword [esp + 0x74]
movzx ecx, byte [ebx + 2]
imul ecx, edx
mov ebx, dword [esp + 0x44]
lea ecx, [ebx + ecx + 8]
sar ecx, 4
mov ebx, dword [esp + 0x74]
mov byte [ebx + 2], cl
mov ecx, dword [esp + 0x3c]
movzx ebx, byte [ecx + 3]
imul ebx, eax
mov dword [esp + 0x44], ebx
mov ebx, dword [esp + 0x74]
movzx ecx, byte [ebx + 3]
imul ecx, edx
mov ebx, dword [esp + 0x44]
lea ecx, [ebx + ecx + 8]
sar ecx, 4
mov ebx, dword [esp + 0x74]
mov byte [ebx + 3], cl
mov ecx, dword [esp + 0x3c]
add ecx, edi
mov dword [esp + 0x3c], ecx
add ebx, esi
mov dword [esp + 0x74], ebx
movzx ebx, byte [ecx]
imul ebx, eax
mov dword [esp + 0x44], ebx
mov ebx, dword [esp + 0x74]
movzx ecx, byte [ebx]
imul ecx, edx
mov ebx, dword [esp + 0x44]
lea ecx, [ebx + ecx + 8]
sar ecx, 4
mov ebx, dword [esp + 0x74]
mov byte [ebx], cl
mov ecx, dword [esp + 0x3c]
movzx ebx, byte [ecx + 1]
imul ebx, eax
mov dword [esp + 0x44], ebx
mov ebx, dword [esp + 0x74]
movzx ecx, byte [ebx + 1]
imul ecx, edx
mov ebx, dword [esp + 0x44]
lea ecx, [ebx + ecx + 8]
sar ecx, 4
mov ebx, dword [esp + 0x74]
mov byte [ebx + 1], cl
mov ecx, dword [esp + 0x3c]
movzx ebx, byte [ecx + 2]
imul ebx, eax
mov dword [esp + 0x44], ebx
mov ebx, dword [esp + 0x74]
movzx ecx, byte [ebx + 2]
imul ecx, edx
mov ebx, dword [esp + 0x44]
lea ecx, [ebx + ecx + 8]
sar ecx, 4
mov ebx, dword [esp + 0x74]
mov byte [ebx + 2], cl
mov ecx, dword [esp + 0x3c]
movzx ebx, byte [ecx + 3]
imul ebx, eax
mov dword [esp + 0x3c], ebx
mov ebx, dword [esp + 0x74]
movzx ecx, byte [ebx + 3]
imul ecx, edx
mov ebx, dword [esp + 0x3c]
lea ecx, [ebx + ecx + 8]
sar ecx, 4
mov ebx, dword [esp + 0x74]
mov byte [ebx + 3], cl
mov ecx, dword [esp + 0x7c]
movzx ebx, byte [ecx]
imul ebx, eax
mov dword [esp + 0x3c], ebx
mov ebx, dword [esp + 0x70]
movzx ecx, byte [ebx]
imul ecx, edx
mov ebx, dword [esp + 0x3c]
lea ecx, [ebx + ecx + 8]
sar ecx, 4
mov ebx, dword [esp + 0x70]
mov byte [ebx], cl
mov ecx, dword [esp + 0x7c]
movzx ebx, byte [ecx + 1]
imul ebx, eax
mov dword [esp + 0x3c], ebx
mov ebx, dword [esp + 0x70]
movzx ecx, byte [ebx + 1]
imul ecx, edx
mov ebx, dword [esp + 0x3c]
lea ecx, [ebx + ecx + 8]
sar ecx, 4
mov ebx, dword [esp + 0x70]
mov byte [ebx + 1], cl
mov ecx, dword [esp + 0x7c]
movzx ebx, byte [ecx + 2]
imul ebx, eax
mov dword [esp + 0x3c], ebx
mov ebx, dword [esp + 0x70]
movzx ecx, byte [ebx + 2]
imul ecx, edx
mov ebx, dword [esp + 0x3c]
lea ecx, [ebx + ecx + 8]
sar ecx, 4
mov ebx, dword [esp + 0x70]
mov byte [ebx + 2], cl
mov ecx, dword [esp + 0x7c]
movzx ebx, byte [ecx + 3]
imul ebx, eax
mov dword [esp + 0x3c], ebx
mov ebx, dword [esp + 0x70]
movzx ecx, byte [ebx + 3]
imul ecx, edx
mov ebx, dword [esp + 0x3c]
lea ecx, [ebx + ecx + 8]
sar ecx, 4
mov ebx, dword [esp + 0x70]
mov byte [ebx + 3], cl
mov ebx, dword [esp + 0x7c]
add ebx, edi
mov dword [esp + 0x3c], ebx
mov ebx, dword [esp + 0x70]
add ebx, esi
mov dword [esp + 0x70], ebx
mov ecx, dword [esp + 0x3c]
movzx ebx, byte [ecx]
imul ebx, eax
mov dword [esp + 0x44], ebx
mov ebx, dword [esp + 0x70]
movzx ecx, byte [ebx]
imul ecx, edx
mov ebx, dword [esp + 0x44]
lea ecx, [ebx + ecx + 8]
sar ecx, 4
mov ebx, dword [esp + 0x70]
mov byte [ebx], cl
mov ecx, dword [esp + 0x3c]
movzx ebx, byte [ecx + 1]
imul ebx, eax
mov dword [esp + 0x44], ebx
mov ebx, dword [esp + 0x70]
movzx ecx, byte [ebx + 1]
imul ecx, edx
mov ebx, dword [esp + 0x44]
lea ecx, [ebx + ecx + 8]
sar ecx, 4
mov ebx, dword [esp + 0x70]
mov byte [ebx + 1], cl
mov ecx, dword [esp + 0x3c]
movzx ebx, byte [ecx + 2]
imul ebx, eax
mov dword [esp + 0x44], ebx
mov ebx, dword [esp + 0x70]
movzx ecx, byte [ebx + 2]
imul ecx, edx
mov ebx, dword [esp + 0x44]
lea ecx, [ebx + ecx + 8]
sar ecx, 4
mov ebx, dword [esp + 0x70]
mov byte [ebx + 2], cl
mov ecx, dword [esp + 0x3c]
movzx ebx, byte [ecx + 3]
imul ebx, eax
mov dword [esp + 0x44], ebx
mov ebx, dword [esp + 0x70]
movzx ecx, byte [ebx + 3]
imul ecx, edx
mov ebx, dword [esp + 0x44]
lea ecx, [ebx + ecx + 8]
sar ecx, 4
mov ebx, dword [esp + 0x70]
mov byte [ebx + 3], cl
mov ecx, dword [esp + 0x3c]
add ecx, edi
mov dword [esp + 0x3c], ecx
add ebx, esi
mov dword [esp + 0x70], ebx
movzx ebx, byte [ecx]
imul ebx, eax
mov dword [esp + 0x44], ebx
mov ebx, dword [esp + 0x70]
movzx ecx, byte [ebx]
imul ecx, edx
mov ebx, dword [esp + 0x44]
lea ecx, [ebx + ecx + 8]
sar ecx, 4
mov ebx, dword [esp + 0x70]
mov byte [ebx], cl
mov ecx, dword [esp + 0x3c]
movzx ebx, byte [ecx + 1]
imul ebx, eax
mov dword [esp + 0x44], ebx
mov ebx, dword [esp + 0x70]
movzx ecx, byte [ebx + 1]
imul ecx, edx
mov ebx, dword [esp + 0x44]
lea ecx, [ebx + ecx + 8]
sar ecx, 4
mov ebx, dword [esp + 0x70]
mov byte [ebx + 1], cl
mov ecx, dword [esp + 0x3c]
movzx ebx, byte [ecx + 2]
imul ebx, eax
mov dword [esp + 0x44], ebx
mov ebx, dword [esp + 0x70]
movzx ecx, byte [ebx + 2]
imul ecx, edx
mov ebx, dword [esp + 0x44]
lea ecx, [ebx + ecx + 8]
sar ecx, 4
mov ebx, dword [esp + 0x70]
mov byte [ebx + 2], cl
mov ecx, dword [esp + 0x3c]
movzx ebx, byte [ecx + 3]
imul ebx, eax
mov dword [esp + 0x44], ebx
mov ebx, dword [esp + 0x70]
movzx ecx, byte [ebx + 3]
imul ecx, edx
mov ebx, dword [esp + 0x44]
lea ecx, [ebx + ecx + 8]
sar ecx, 4
mov ebx, dword [esp + 0x70]
mov byte [ebx + 3], cl
add edi, dword [esp + 0x3c]
mov dword [esp + 0x3c], edi
add ebx, esi
movzx ecx, byte [edi]
mov edi, eax
imul edi, ecx
movzx ecx, byte [ebx]
imul ecx, edx
lea ecx, [edi + ecx + 8]
sar ecx, 4
mov byte [ebx], cl
mov esi, dword [esp + 0x3c]
movzx ecx, byte [esi + 1]
mov edi, eax
imul edi, ecx
movzx ecx, byte [ebx + 1]
imul ecx, edx
lea ecx, [edi + ecx + 8]
sar ecx, 4
mov byte [ebx + 1], cl
movzx ecx, byte [esi + 2]
mov edi, eax
imul edi, ecx
movzx ecx, byte [ebx + 2]
imul ecx, edx
lea ecx, [edi + ecx + 8]
sar ecx, 4
mov byte [ebx + 2], cl
movzx ecx, byte [esi + 3]
imul eax, ecx
movzx ecx, byte [ebx + 3]
imul edx, ecx
lea eax, [eax + edx + 8]
sar eax, 4
mov byte [ebx + 3], al
jmp 0x6a83a0e6
cmp word [ebx + 0xc], 2
jle 0x6a83ad13
xor eax, eax
mov dword [esp + 0xc0], eax
mov esi, dword [esp + 0xc4]
test esi, esi
je 0x6a83aa83
mov ebx, dword [esp + 0x8c]
cmp word [ebx + 0x10], 2
jg 0x6a83ac6d
cmp word [ebx + 0x12], 2
jg 0x6a83ac6d
mov dword [esp + 0xc0], eax
mov ebx, dword [esp + 0xc8]
test ebx, ebx
je 0x6a83aa83
mov esi, dword [esp + 0x8c]
cmp word [esi + 0x1c], 2
jg 0x6a83ac66
cmp word [esi + 0x1e], 2
jg 0x6a83ac66
mov dword [esp + 0xc0], eax
mov ecx, dword [esp + 0xcc]
test ecx, ecx
je 0x6a83aa83
mov ebx, dword [esp + 0x8c]
cmp word [ebx + 0x20], 2
jg 0x6a83ac74
cmp word [ebx + 0x22], 2
jg 0x6a83ac74
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], 1
test eax, eax
je 0x6a83ae38
mov esi, dword [esp + 0x8c]
cmp word [esi + 0x14], 2
jg 0x6a83acd0
cmp word [esi + 0x16], 2
jg 0x6a83acd0
mov ebx, esi
cmp word [esi + 0x18], 2
jg 0x6a83aca5
cmp word [ebx + 0x1a], 2
jg 0x6a83aca5
mov ecx, 1
mov dword [esp + 0xc4], ecx
mov edx, dword [esp + 0xc8]
test edx, edx
je 0x6a83ab35
mov ebx, dword [esp + 0x8c]
cmp word [ebx + 0x24], 2
jg 0x6a83ac90
cmp word [ebx + 0x26], 2
jg 0x6a83ac90
mov dword [esp + 0xc4], ecx
mov eax, dword [esp + 0xcc]
test eax, eax
je 0x6a83ab35
mov esi, dword [esp + 0x8c]
cmp word [esi + 0x28], 2
jg 0x6a83ac97
cmp word [esi + 0x2a], 2
jg 0x6a83ac97
mov dword [esp + 0xc4], ecx
mov esi, dword [esp + 0x8c]
cmp word [esi + 0x2c], 2
jg 0x6a83acac
cmp word [esi + 0x2e], 2
jg 0x6a83acac
mov edx, 1
mov dword [esp + 0xc8], edx
test ecx, ecx
je 0x6a83abcd
mov ebx, dword [esp + 0x8c]
cmp word [ebx + 0x30], 2
jg 0x6a83ace2
cmp word [ebx + 0x32], 2
jg 0x6a83ace2
test edx, edx
je 0x6a83abcd
mov esi, dword [esp + 0x8c]
cmp word [esi + 0x3c], 2
jle 0x6a83ad04
xor edx, edx
mov dword [esp + 0xc8], edx
mov eax, dword [esp + 0xcc]
test eax, eax
je 0x6a83abcd
mov ebx, dword [esp + 0x8c]
cmp word [ebx + 0x40], 2
jg 0x6a83ac9e
cmp word [ebx + 0x42], 2
jg 0x6a83ac9e
mov dword [esp + 0xc8], edx
mov ebx, dword [esp + 0x8c]
cmp word [ebx + 0x34], 2
jg 0x6a83acb3
cmp word [ebx + 0x36], 2
jg 0x6a83acb3
mov eax, 1
mov dword [esp + 0xcc], eax
test ecx, ecx
je 0x6a83acc4
mov esi, dword [esp + 0x8c]
cmp word [esi + 0x38], 2
jg 0x6a83ac7b
cmp word [esi + 0x3a], 2
jg 0x6a83ac7b
mov dword [esp + 0xcc], eax
test edx, edx
je 0x6a83ac88
mov ebx, dword [esp + 0x8c]
cmp word [ebx + 0x44], 2
jg 0x6a83acf4
cmp word [ebx + 0x46], 2
jg 0x6a83acf4
test eax, eax
je 0x6a839e23
mov esi, dword [esp + 0x8c]
cmp word [esi + 0x48], 2
jle 0x6a83ad29
xor eax, eax
mov dword [esp + 0xcc], eax
add eax, 3
jmp 0x6a839e1a
xor eax, eax
jmp 0x6a83aa4d
xor eax, eax
jmp 0x6a83aa1e
xor eax, eax
jmp 0x6a83aa7c
xor eax, eax
mov dword [esp + 0xcc], eax
test edx, edx
jne 0x6a83ac1e
add eax, 2
jmp 0x6a839e1a
xor ecx, ecx
jmp 0x6a83aaff
xor ecx, ecx
jmp 0x6a83ab2e
xor edx, edx
jmp 0x6a83abc6
xor ecx, ecx
jmp 0x6a83aad0
xor edx, edx
jmp 0x6a83ab57
xor eax, eax
mov dword [esp + 0xcc], eax
test ecx, ecx
jne 0x6a83abfe
lea eax, [eax + edx + 1]
jmp 0x6a839e1a
mov dword [esp + 0xc4], 0
xor ecx, ecx
jmp 0x6a83ab35
mov dword [esp + 0xc8], 0
xor edx, edx
jmp 0x6a83abcd
mov dword [esp + 0xcc], 0
jmp 0x6a839e23
xor edx, edx
cmp word [esi + 0x3e], 2
setle dl
jmp 0x6a83ab97
mov ebx, dword [esp + 0x8c]
xor eax, eax
cmp word [ebx + 0xe], 2
setle al
jmp 0x6a83a9eb
xor eax, eax
cmp word [esi + 0x4a], 2
setle al
jmp 0x6a83ac57
mov ecx, dword [esp + 0x3c]
jmp 0x6a83a2f2
mov eax, dword [esp + 0x44]
shr eax, 1
je 0x6a83ae31
mov edx, 1
inc edx
shr eax, 1
jne 0x6a83ad52
mov ecx, edx
sar ecx, 1
xor eax, eax
mov edx, 1
shl edx, cl
mov dword [esp + 0x50], edx
or eax, edx
mov ebp, eax
imul ebp, eax
mov edx, eax
sub edx, dword [esp + 0x50]
mov dword [esp + 0x50], edx
cmp dword [esp + 0x44], ebp
jb 0x6a83ad81
mov edx, eax
mov eax, edx
dec ecx
cmp ecx, 0xffffffff
jne 0x6a83ad5d
lea eax, [edx + 1]
imul eax, edx
inc eax
cmp dword [esp + 0x44], eax
setae al
movzx eax, al
add eax, edx
shl eax, 4
xor edx, edx
div ebx
mov ebx, eax
mov cl, byte [esp + 0xac]
sar ebx, cl
test ebx, ebx
je 0x6a839d34
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], edi
mov eax, dword [esp + 0x58]
mov dword [esp + 8], eax
mov edx, dword [esp + 0x3c]
mov dword [esp + 4], edx
mov ecx, dword [esp + 0x54]
mov dword [esp], ecx
call dword [0x6b33a4f8]
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], esi
mov eax, dword [esp + 0x64]
mov dword [esp + 8], eax
mov edx, dword [esp + 0x40]
mov dword [esp + 4], edx
mov ecx, dword [esp + 0x5c]
mov dword [esp], ecx
call dword [0x6b33a4f4]
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], esi
mov ebx, dword [esp + 0x68]
mov dword [esp + 8], ebx
mov esi, dword [esp + 0x40]
mov dword [esp + 4], esi
mov ebx, dword [esp + 0x60]
mov dword [esp], ebx
call dword [0x6b33a4f4]
jmp 0x6a839d34
xor ecx, ecx
jmp 0x6a83a3a7
xor ecx, ecx
jmp 0x6a83ad5b
mov dword [esp + 0xc8], 1
mov dword [esp + 0xcc], 1
jmp 0x6a839e23