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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0xa8]
cmp eax, dword [ecx + 8]
jbe 0x61bda6
sub esp, 0x128
mov edx, dword [esp + 0x134]
mov ebx, dword [esp + 0x148]
mov ebp, edx
sub edx, ebx
mov esi, dword [esp + 0x138]
cmp esi, 0x10
jb 0x619637
mov edi, dword [esp + 0x15c]
mov eax, esi
sub esi, edi
mov ecx, ebx
mov ebx, dword [esp + 0x13c]
add ebx, 0xfffffff0
cmp esi, ebx
jb 0x6193d2
mov esi, ebx
mov ebx, dword [esp + 0x130]
cmp ebx, 1
jb 0x61bd99
mov dword [esp + 0x68], edx
lea edx, [ebx - 1]
cmp edx, 7
jbe 0x61bd8d
mov dword [esp + 0x24], esi
lea edx, [edi - 8]
neg edx
mov dword [esp + 0xd4], edx
shl edx, 3
mov dword [esp + 0xd0], edx
cmp edx, 0x20
sbb edi, edi
mov dword [esp + 0xcc], edi
lea esi, [ebp - 1]
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, 1
mov dword [esp + 0xc8], esi
mov ebp, dword [esp + 0x12c]
movzx ebx, byte [ebp + esi]
movzx edi, byte [ebp + esi + 1]
mov dword [esp + 0xc4], edi
shl edi, 8
or ebx, edi
movzx edi, byte [ebp + esi + 2]
mov dword [esp + 0xc0], edi
shl edi, 0x10
or edi, ebx
movzx ebx, byte [ebp + esi + 3]
mov dword [esp + 0xbc], ebx
shl ebx, 0x18
or ebx, edi
mov dword [esp + 0xb8], ebx
mov ecx, edx
shl ebx, cl
mov edi, dword [esp + 0xcc]
and ebx, edi
mov eax, 0x1e35a7bd
mul ebx
mov dword [esp + 0xb4], edx
lea ebx, [ecx - 0x20]
mov dword [esp + 0xb0], ebx
cmp ebx, 0x20
sbb edx, edx
mov dword [esp + 0xac], edx
neg ebx
mov dword [esp + 0xa8], ebx
cmp ebx, 0x20
sbb edi, edi
mov dword [esp + 0xa4], edi
mov ebp, dword [esp + 0x158]
add ebp, 0xffffffc0
xchg ebp, ebx
neg ebx
xchg ebp, ebx
mov dword [esp + 0x34], ebp
lea esi, [ebp - 0x20]
mov dword [esp + 0xa0], esi
cmp esi, 0x20
sbb edi, edi
mov dword [esp + 0x9c], edi
xchg esi, ebx
neg ebx
xchg esi, ebx
mov dword [esp + 0x98], esi
cmp esi, 0x20
sbb edi, edi
mov dword [esp + 0x94], edi
cmp ebp, 0x20
sbb ebp, ebp
mov dword [esp + 0x90], ebp
mov ecx, dword [esp + 0xb0]
mov ebp, dword [esp + 0xb8]
shl ebp, cl
mov ecx, ebx
mov edi, dword [esp + 0xb8]
shr edi, cl
and ebp, edx
mov dword [esp + 0xb8], ebp
mov edx, dword [esp + 0xa4]
and edi, edx
mov edx, dword [esp + 0xc4]
shr edx, 0x18
mov ebx, dword [esp + 0xc0]
shr ebx, 0x10
or edx, ebx
mov ebx, dword [esp + 0xbc]
shr ebx, 8
or ebx, edx
mov edx, dword [esp + 0xc8]
mov esi, dword [esp + 0x12c]
movzx ebp, byte [esi + edx + 4]
or ebp, ebx
movzx ebx, byte [esi + edx + 5]
shl ebx, 8
or ebx, ebp
movzx ebp, byte [esi + edx + 6]
shl ebp, 0x10
or ebx, ebp
movzx edx, byte [esi + edx + 7]
shl edx, 0x18
or ebx, edx
mov ecx, dword [esp + 0xd0]
shl ebx, cl
mov ebp, dword [esp + 0xcc]
and ebx, ebp
or ebx, edi
mov edi, dword [esp + 0xb8]
or edi, ebx
imul ebx, edi, 0x1e35a7bd
mov edi, dword [esp + 0xb4]
add ebx, edi
mov dword [esp + 0xc4], ebx
mov edi, ecx
mov ecx, dword [esp + 0xa0]
shr ebx, cl
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0xc4]
shl edx, cl
mov ebp, dword [esp + 0x9c]
and ebx, ebp
mov ebp, dword [esp + 0x94]
and edx, ebp
mov ecx, dword [esp + 0x34]
shr eax, cl
mov ebp, dword [esp + 0x90]
and eax, ebp
or eax, edx
or ebx, eax
mov edx, dword [esp + 0x134]
mov eax, dword [esp + 0x130]
mov dword [esp + 0x118], eax
xor eax, eax
mov dword [esp + 0x30], eax
mov eax, 0xffffffff
mov dword [esp + 0x48], eax
mov eax, 1
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x118]
jmp 0x6198c5
xor eax, eax
cmp esi, eax
jl 0x619724
jle 0x61970c
mov dword [esp + 0x30], eax
sub esi, eax
mov dword [esp + 0xc8], esi
mov dword [esp], esi
mov ecx, dword [esp + 0x164]
mov dword [esp + 4], ecx
call fcn.00618860
mov ecx, dword [esp + 0x130]
mov eax, dword [esp + 0x30]
cmp ecx, eax
jb 0x61971f
mov edx, dword [esp + 0x134]
sub edx, eax
mov ebx, edx
neg edx
sar edx, 0x1f
and eax, edx
mov ebp, dword [esp + 0x12c]
add ebp, eax
mov ecx, dword [esp + 0xc8]
cmp ecx, ebx
ja 0x619718
mov edi, dword [esp + 0x160]
mov edx, dword [edi]
mov ebx, dword [edi + 4]
cmp ebx, ecx
jle 0x6196b4
mov eax, ecx
jmp 0x6196b8
mov eax, ecx
mov ecx, ebx
cmp edx, ebp
je 0x6196da
mov dword [esp], edx
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
call fcn.00457450
mov eax, dword [esp + 0xc8]
mov edi, dword [esp + 0x160]
mov ecx, dword [edi + 4]
mov edx, dword [edi]
mov ebx, dword [edi + 8]
cmp ecx, eax
jb 0x619713
sub ecx, eax
mov dword [edi + 4], ecx
sub ebx, eax
mov dword [edi + 8], ebx
mov ecx, dword [0x900e70]
neg ebx
sar ebx, 0x1f
and eax, ebx
add eax, edx
test ecx, ecx
jne 0x619707
mov dword [edi], eax
jmp 0x61970c
call fcn.00456ac0
add esp, 0x128
ret
call fcn.00456bb0
mov edx, ebx
call fcn.00456b90
call fcn.00456ba0
lea eax, [0x7345e0]
mov dword [esp], eax
lea eax, [0x7c9cbc]
mov dword [esp + 4], eax
call fcn.00430590
mov dword [esp + 0xc8], ebp
movzx esi, byte [ebx + edi]
movzx eax, byte [ebx + edi + 1]
mov dword [esp + 0xc4], eax
shl eax, 8
or esi, eax
movzx eax, byte [ebx + edi + 2]
mov dword [esp + 0xc0], eax
shl eax, 0x10
or eax, esi
movzx esi, byte [ebx + edi + 3]
mov dword [esp + 0xbc], esi
shl esi, 0x18
or esi, eax
mov dword [esp + 0xb8], esi
mov ecx, dword [esp + 0xd0]
shl esi, cl
mov edx, dword [esp + 0xcc]
and esi, edx
mov eax, 0x1e35a7bd
mul esi
mov dword [esp + 0x50], eax
mov esi, ecx
mov ecx, dword [esp + 0xb0]
mov ebp, dword [esp + 0xb8]
shl ebp, cl
mov ecx, dword [esp + 0xc4]
shr ecx, 0x18
mov eax, dword [esp + 0xc0]
shr eax, 0x10
or eax, ecx
mov ecx, dword [esp + 0xbc]
shr ecx, 8
or ecx, eax
movzx eax, byte [ebx + edi + 4]
or eax, ecx
movzx ecx, byte [ebx + edi + 5]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebx + edi + 6]
shl eax, 0x10
or ecx, eax
movzx eax, byte [ebx + edi + 7]
shl eax, 0x18
or ecx, eax
mov eax, ecx
mov ecx, esi
shl eax, cl
mov ebx, dword [esp + 0xac]
and ebp, ebx
mov ecx, dword [esp + 0xa8]
mov ebx, dword [esp + 0xb8]
shr ebx, cl
mov ecx, dword [esp + 0xa4]
and ebx, ecx
mov ecx, dword [esp + 0xcc]
and eax, ecx
or eax, ebx
or ebp, eax
imul eax, ebp, 0x1e35a7bd
lea ebx, [eax + edx]
mov ecx, dword [esp + 0xa0]
mov edx, ebx
shr ebx, cl
mov ecx, dword [esp + 0x98]
shl edx, cl
mov ecx, dword [esp + 0x34]
mov ebp, dword [esp + 0x50]
shr ebp, cl
mov ecx, dword [esp + 0x9c]
and ebx, ecx
mov ecx, dword [esp + 0x94]
and edx, ecx
mov ecx, dword [esp + 0x90]
and ebp, ecx
or ebp, edx
or ebx, ebp
mov edx, dword [esp + 0x134]
mov ebp, dword [esp + 0x130]
mov eax, ebp
mov ecx, dword [esp + 0x34]
mov ebp, dword [esp + 0x90]
mov esi, edi
mov edi, dword [esp + 0xd0]
mov dword [esp + 0x110], ebp
mov ebp, dword [esp + 0x6c]
mov dword [esp + 0x30], ebp
mov dword [esp + 0x108], edx
mov edx, dword [esp + 0xc8]
mov dword [esp + 0x6c], edx
mov ebp, dword [esp + 0x90]
mov edx, dword [esp + 0x108]
mov ebp, dword [esp + 0x6c]
mov edi, dword [esp + 0x30]
cmp ebp, edi
jle 0x61bd75
mov dword [esp + 0x100], eax
mov eax, 0x20
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x100]
jmp 0x61a7d3
sub ebx, ebp
mov esi, dword [esp + 0x15c]
add ebx, esi
mov ebp, dword [esp + 0x144]
cmp ebp, ebx
jb 0x61bcdc
mov dword [esp + 0xc8], edx
mov edx, dword [esp + 0x148]
sub edx, ebx
mov dword [esp + 0x80], edx
sub ebp, ebx
neg edx
sar edx, 0x1f
and ebx, edx
mov edx, dword [esp + 0x140]
add ebx, edx
lea edx, [edi + esi]
mov esi, dword [esp + 0x130]
cmp esi, edx
jb 0x61bcd3
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov eax, dword [esp + 0x80]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x134]
sub eax, edx
mov ebx, eax
neg eax
sar eax, 0x1f
and eax, edx
mov ebp, dword [esp + 0x12c]
add eax, ebp
mov dword [esp + 0xc], eax
sub esi, edx
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], ebx
mov edx, dword [esp + 0x138]
sub edx, edi
mov esi, dword [esp + 0x15c]
sub edx, esi
mov dword [esp + 0x18], edx
call fcn.006222e0
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x7c], eax
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x30]
sub ecx, edx
mov dword [esp + 0x4c], ecx
mov dword [esp], ecx
mov ebp, dword [esp + 0x164]
mov dword [esp + 4], ebp
call fcn.00618860
mov eax, dword [esp + 0x15c]
mov ecx, dword [esp + 0x7c]
add ecx, eax
mov edx, dword [esp + 0x6c]
lea ebx, [edx + ecx]
mov ebp, dword [esp + 0x130]
mov esi, dword [esp + 0x30]
cmp ebp, esi
jb 0x61bcca
mov dword [esp + 0x80], ebx
mov edi, ebp
mov ebp, dword [esp + 0x134]
sub ebp, esi
mov dword [esp + 0x78], ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, esi
mov esi, dword [esp + 0x12c]
add ebp, esi
mov esi, dword [esp + 0x78]
mov ebx, dword [esp + 0x4c]
cmp esi, ebx
jb 0x61bcc1
mov esi, dword [esp + 0x160]
mov edx, dword [esi]
mov esi, dword [esi + 4]
cmp esi, ebx
jle 0x619a3a
mov esi, ebx
jmp 0x619a40
mov ebx, esi
mov esi, dword [esp + 0x4c]
mov dword [esp + 0x40], ecx
cmp edx, ebp
je 0x619a6e
mov dword [esp], edx
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
call fcn.00457450
mov eax, dword [esp + 0x15c]
mov ecx, dword [esp + 0x40]
mov esi, dword [esp + 0x4c]
mov edi, dword [esp + 0x130]
mov edx, dword [esp + 0x160]
mov ebx, dword [edx + 4]
mov ebp, dword [edx]
mov dword [esp + 0x124], ebp
mov ebp, dword [edx + 8]
cmp ebx, esi
jb 0x61bcb8
sub ebx, esi
mov dword [edx + 4], ebx
sub ebp, esi
mov dword [edx + 8], ebp
mov ebx, dword [0x900e70]
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, esi
mov esi, dword [esp + 0x124]
add ebp, esi
test ebx, ebx
jne 0x619ab8
mov dword [edx], ebp
jmp 0x619ac9
mov ebx, edi
mov edi, edx
mov esi, eax
mov eax, ebp
call fcn.00456ac0
mov eax, esi
mov edi, ebx
mov ebx, dword [esp + 0x48]
mov ebp, dword [esp + 0xc8]
cmp ebx, ebp
jne 0x619b3f
mov ebp, dword [esp + 0x164]
mov esi, dword [ebp + 4]
mov edx, dword [ebp]
test esi, esi
jbe 0x61bcaf
mov dword [edx], 0x40
mov edx, dword [ebp + 4]
mov esi, dword [ebp]
mov ebx, dword [ebp + 8]
cmp edx, 1
jb 0x61bca3
dec edx
mov dword [ebp + 4], edx
lea edx, [ebx - 1]
mov dword [ebp + 8], edx
mov ebx, dword [0x900e70]
neg edx
sar edx, 0x1f
and edx, 4
add edx, esi
test ebx, ebx
jne 0x619b28
mov dword [ebp], edx
jmp 0x619b39
mov ebx, edi
mov edi, ebp
mov esi, eax
mov eax, edx
call fcn.00456ac0
mov eax, esi
mov edi, ebx
mov edx, dword [esp + 0x48]
jmp 0x619b64
mov dword [esp], ebp
mov eax, dword [esp + 0x164]
mov dword [esp + 4], eax
call fcn.00619110
mov ecx, dword [esp + 0x40]
mov ebp, dword [esp + 0x164]
mov edx, dword [esp + 0xc8]
mov dword [esp + 0x48], edx
mov dword [esp], ecx
mov dword [esp + 4], ebp
call fcn.00618c90
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x80]
cmp eax, ecx
jle 0x61ac7f
mov edx, dword [esp + 0x15c]
cmp edx, 4
jne 0x619f64
mov ebx, dword [esp + 0x40]
mov ebp, dword [esp + 0x6c]
lea ebx, [ebp + ebx - 3]
mov ebp, dword [esp + 0x130]
cmp ebp, ebx
jb 0x61bc9a
mov esi, dword [esp + 0x134]
sub esi, ecx
add esi, 3
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and ebx, esi
sub ebp, ecx
add ebp, 3
cmp ebp, 7
jbe 0x61bc8e
nop
mov ebp, dword [esp + 0x12c]
movzx edi, byte [ebp + ebx]
movzx esi, byte [ebp + ebx + 1]
mov dword [esp + 0xc4], esi
shl esi, 8
or edi, esi
mov esi, dword [esp + 0xc4]
shr esi, 0x18
movzx edx, byte [ebp + ebx + 2]
mov dword [esp + 0xc4], edx
shl edx, 0x10
or edx, edi
mov edi, dword [esp + 0xc4]
shr edi, 0x10
or esi, edi
movzx edi, byte [ebp + ebx + 3]
mov dword [esp + 0xc4], edi
shl edi, 0x18
or edx, edi
mov edi, dword [esp + 0xc4]
shr edi, 8
or edi, esi
movzx esi, byte [ebp + ebx + 4]
or esi, edi
movzx edi, byte [ebp + ebx + 5]
shl edi, 8
or edi, esi
movzx esi, byte [ebp + ebx + 6]
shl esi, 0x10
or edi, esi
movzx ebx, byte [ebp + ebx + 7]
shl ebx, 0x18
or edi, ebx
mov ebx, dword [esp + 0xd4]
cmp ebx, 3
jb 0x61bc76
mov dword [esp + 0xc4], edx
mov dword [esp + 0xc0], edi
mov esi, edi
shl edi, 8
shr edx, 0x18
or edx, edi
mov dword [esp + 0xbc], edx
mov edi, ecx
mov ecx, dword [esp + 0xd0]
shl edx, cl
mov ebx, dword [esp + 0xcc]
and edx, ebx
mov eax, 0x1e35a7bd
mul edx
mov dword [esp + 0xb8], edx
mov dword [esp + 0x60], eax
mov ebp, dword [esp + 0xc4]
shl ebp, cl
and ebp, ebx
mov eax, 0x1e35a7bd
mul ebp
mov dword [esp + 0xb4], edx
nop
mov ebp, dword [esp + 0x68]
sub edi, ebp
mov dword [esp + 0xc8], edi
shr esi, 0x18
mov ecx, dword [esp + 0xb0]
mov ebp, dword [esp + 0xbc]
shl ebp, cl
mov edi, dword [esp + 0xac]
and ebp, edi
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0xbc]
shr edx, cl
mov edi, dword [esp + 0xa4]
and edx, edi
mov ecx, dword [esp + 0xd0]
shl esi, cl
and esi, ebx
or esi, edx
or esi, ebp
imul edx, esi, 0x1e35a7bd
mov ebp, dword [esp + 0xb8]
add edx, ebp
mov ebp, ecx
mov ecx, dword [esp + 0xa0]
mov esi, edx
shr edx, cl
mov edi, dword [esp + 0x9c]
and edx, edi
mov ecx, dword [esp + 0x98]
shl esi, cl
mov edi, dword [esp + 0x94]
and esi, edi
mov ecx, dword [esp + 0x34]
mov edi, dword [esp + 0x60]
shr edi, cl
mov ebx, dword [esp + 0x90]
and edi, ebx
or esi, edi
or esi, edx
mov dword [esp + 0xbc], esi
mov edx, ecx
mov ecx, ebp
mov edi, dword [esp + 0xc0]
shl edi, cl
mov esi, dword [esp + 0xcc]
and edi, esi
mov ecx, dword [esp + 0xa8]
mov esi, dword [esp + 0xc4]
shr esi, cl
mov ebp, dword [esp + 0xa4]
and esi, ebp
or edi, esi
mov ecx, dword [esp + 0xb0]
mov ebp, dword [esp + 0xc4]
shl ebp, cl
mov esi, dword [esp + 0xac]
and ebp, esi
or ebp, edi
imul ebp, ebp, 0x1e35a7bd
mov edi, dword [esp + 0xb4]
add ebp, edi
mov dword [esp + 0xb8], ebp
mov ecx, dword [esp + 0x98]
shl ebp, cl
mov esi, dword [esp + 0x94]
and ebp, esi
mov ecx, dword [esp + 0xa0]
mov esi, dword [esp + 0xb8]
shr esi, cl
mov edi, dword [esp + 0x9c]
and esi, edi
mov ecx, edx
shr eax, cl
and eax, ebx
or eax, ebp
or eax, esi
mov ebp, dword [esp + 0x150]
cmp ebp, eax
jbe 0x61bc6f
mov dword [esp + 0xb8], eax
mov esi, dword [esp + 0xc4]
shr esi, 8
mov ebp, dword [esp + 0xc0]
shl ebp, 0x18
or esi, ebp
mov dword [esp + 0xc4], esi
mov ecx, dword [esp + 0xd0]
mov ebp, esi
shl esi, cl
mov edi, dword [esp + 0xcc]
and esi, edi
mov eax, 0x1e35a7bd
mul esi
mov dword [esp + 0xb4], edx
mov esi, dword [esp + 0xc8]
add esi, 0xfffffffd
mov ebx, dword [esp + 0xb8]
mov edx, dword [esp + 0x14c]
mov dword [edx + ebx*4], esi
nop
mov esi, dword [esp + 0xc0]
shr esi, 8
mov ecx, dword [esp + 0xa8]
shr ebp, cl
mov ebx, dword [esp + 0xa4]
and ebp, ebx
mov ecx, dword [esp + 0xd0]
shl esi, cl
and esi, edi
or esi, ebp
mov ecx, dword [esp + 0xb0]
mov ebx, dword [esp + 0xc4]
shl ebx, cl
mov edi, dword [esp + 0xac]
and ebx, edi
or ebx, esi
imul ebx, ebx, 0x1e35a7bd
mov esi, dword [esp + 0xb4]
add ebx, esi
mov dword [esp + 0xc4], ebx
mov ecx, dword [esp + 0xa0]
shr ebx, cl
mov ecx, dword [esp + 0x34]
shr eax, cl
mov edi, dword [esp + 0x90]
and eax, edi
mov ecx, dword [esp + 0x98]
mov edi, dword [esp + 0xc4]
shl edi, cl
mov esi, dword [esp + 0x94]
and edi, esi
or eax, edi
mov edi, dword [esp + 0x9c]
and ebx, edi
or eax, ebx
mov ebx, dword [esp + 0x150]
cmp ebx, eax
jbe 0x61bc68
mov edi, dword [esp + 0xc8]
lea ebp, [edi - 2]
mov dword [edx + eax*4], ebp
lea ebp, [edi - 1]
mov edi, dword [esp + 0xb8]
mov dword [edx + edi*4], ebp
mov ecx, dword [esp + 0xa0]
mov ebx, dword [esp + 0xa8]
mov ebp, dword [esp + 0x150]
mov esi, dword [esp + 0xa4]
mov eax, dword [esp + 0xbc]
jmp 0x61a66f
mov ebx, dword [esp + 0x40]
mov ebp, dword [esp + 0x6c]
lea esi, [ebp + ebx - 5]
mov edi, dword [esp + 0x130]
cmp edi, esi
jb 0x61bc5f
mov edx, dword [esp + 0x134]
sub edx, ecx
mov dword [esp + 0xc8], edx
add edx, 5
neg edx
sar edx, 0x1f
and esi, edx
sub edi, ecx
mov dword [esp + 0x78], edi
add edi, 5
cmp edi, 7
jbe 0x61bc53
mov edi, dword [esp + 0x12c]
movzx edx, byte [edi + esi]
movzx ebx, byte [edi + esi + 1]
mov dword [esp + 0xc4], ebx
shl ebx, 8
or edx, ebx
movzx ebx, byte [edi + esi + 2]
mov dword [esp + 0xc0], ebx
shl ebx, 0x10
or ebx, edx
movzx edx, byte [edi + esi + 3]
mov dword [esp + 0xbc], edx
shl edx, 0x18
or edx, ebx
mov dword [esp + 0xb8], edx
mov ebx, ecx
mov ecx, dword [esp + 0xd0]
shl edx, cl
mov ebp, dword [esp + 0xcc]
and edx, ebp
mov eax, 0x1e35a7bd
mul edx
mov dword [esp + 0xb4], edx
nop
mov edx, dword [esp + 0x68]
sub ebx, edx
mov dword [esp + 0x74], ebx
mov edx, dword [esp + 0xc4]
shr edx, 0x18
mov ebx, dword [esp + 0xc0]
shr ebx, 0x10
or ebx, edx
mov edx, dword [esp + 0xbc]
shr edx, 8
or edx, ebx
movzx ebx, byte [edi + esi + 4]
or ebx, edx
movzx edx, byte [edi + esi + 5]
shl edx, 8
or edx, ebx
movzx ebx, byte [edi + esi + 6]
shl ebx, 0x10
or edx, ebx
movzx ebx, byte [edi + esi + 7]
shl ebx, 0x18
or edx, ebx
mov ebx, edx
shl edx, cl
and edx, ebp
mov esi, ecx
mov ecx, dword [esp + 0xa8]
mov edi, dword [esp + 0xb8]
shr edi, cl
mov ebp, dword [esp + 0xa4]
and edi, ebp
or edx, edi
mov ecx, dword [esp + 0xb0]
mov ebp, dword [esp + 0xb8]
shl ebp, cl
mov edi, dword [esp + 0xac]
and ebp, edi
or ebp, edx
imul edx, ebp, 0x1e35a7bd
mov ebp, dword [esp + 0xb4]
add edx, ebp
mov dword [esp + 0xc4], edx
mov ecx, dword [esp + 0x34]
shr eax, cl
mov ecx, dword [esp + 0xa0]
shr edx, cl
mov edi, dword [esp + 0x9c]
and edx, edi
mov edi, dword [esp + 0x90]
and eax, edi
mov ecx, dword [esp + 0x98]
mov edi, dword [esp + 0xc4]
shl edi, cl
mov ebp, dword [esp + 0x94]
and edi, ebp
or eax, edi
or eax, edx
mov edx, dword [esp + 0x150]
cmp edx, eax
jbe 0x61bc4c
mov edi, dword [esp + 0x74]
add edi, 0xfffffffb
mov edx, dword [esp + 0x14c]
mov dword [edx + eax*4], edi
nop
mov edi, dword [esp + 0xd4]
cmp edi, 1
jb 0x61bc34
mov dword [esp + 0xc4], ebx
mov edi, dword [esp + 0xb8]
shr edi, 8
shl ebx, 0x18
or edi, ebx
mov dword [esp + 0xc0], edi
mov ecx, esi
shl edi, cl
mov edx, dword [esp + 0xcc]
and edi, edx
mov eax, 0x1e35a7bd
mul edi
mov edi, dword [esp + 0xc4]
shr edi, 8
mov ecx, dword [esp + 0xa8]
mov ebp, dword [esp + 0xc0]
shr ebp, cl
mov ecx, dword [esp + 0xb0]
mov ebx, dword [esp + 0xc0]
shl ebx, cl
mov ecx, esi
shl edi, cl
mov esi, dword [esp + 0xcc]
and edi, esi
mov esi, dword [esp + 0xa4]
and ebp, esi
or edi, ebp
mov ebp, dword [esp + 0xac]
and ebx, ebp
or ebx, edi
imul ebx, ebx, 0x1e35a7bd
add edx, ebx
mov ebx, ecx
mov ecx, dword [esp + 0x98]
mov edi, edx
shl edx, cl
mov ebp, dword [esp + 0x94]
and edx, ebp
mov ecx, dword [esp + 0x34]
shr eax, cl
mov ebp, dword [esp + 0x90]
and eax, ebp
or eax, edx
mov ecx, dword [esp + 0xa0]
shr edi, cl
mov ebp, dword [esp + 0x9c]
and edi, ebp
or eax, edi
mov edi, dword [esp + 0x150]
cmp edi, eax
jbe 0x61bc2d
mov edi, dword [esp + 0x74]
add edi, 0xfffffffc
mov ebp, dword [esp + 0x14c]
mov dword [ebp + eax*4], edi
nop
mov edi, dword [esp + 0xd4]
cmp edi, 2
jb 0x61bc15
mov edi, dword [esp + 0xc4]
shl edi, 0x10
mov ebp, dword [esp + 0xb8]
shr ebp, 0x10
or ebp, edi
mov dword [esp + 0xc0], ebp
mov ecx, ebx
shl ebp, cl
mov edi, dword [esp + 0xcc]
and ebp, edi
mov eax, 0x1e35a7bd
mul ebp
mov ebp, dword [esp + 0xc4]
shr ebp, 0x10
shl ebp, cl
and ebp, edi
mov ecx, dword [esp + 0xa8]
mov edi, dword [esp + 0xc0]
shr edi, cl
and edi, esi
or ebp, edi
mov ecx, dword [esp + 0xb0]
mov esi, dword [esp + 0xc0]
shl esi, cl
mov edi, dword [esp + 0xac]
and esi, edi
or ebp, esi
imul ebp, ebp, 0x1e35a7bd
add edx, ebp
mov dword [esp + 0xc4], edx
mov ecx, dword [esp + 0x34]
shr eax, cl
mov esi, dword [esp + 0x90]
and eax, esi
mov ecx, dword [esp + 0x98]
shl edx, cl
mov esi, dword [esp + 0x94]
and edx, esi
or eax, edx
mov ecx, dword [esp + 0xa0]
mov esi, dword [esp + 0xc4]
shr esi, cl
mov edx, dword [esp + 0x9c]
and esi, edx
or eax, esi
mov esi, dword [esp + 0x150]
cmp esi, eax
jbe 0x61bc0e
mov esi, dword [esp + 0x74]
add esi, 0xfffffffd
mov edx, dword [esp + 0x14c]
mov dword [edx + eax*4], esi
mov esi, dword [esp + 0x40]
mov edx, dword [esp + 0x6c]
lea edx, [edx + esi - 2]
mov esi, dword [esp + 0x130]
cmp esi, edx
jb 0x61bc05
mov esi, dword [esp + 0xc8]
add esi, 2
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and edx, esi
mov esi, dword [esp + 0x78]
add esi, 2
cmp esi, 7
jbe 0x61bbf9
mov esi, dword [esp + 0x12c]
movzx edi, byte [esi + edx]
movzx ebp, byte [esi + edx + 1]
mov dword [esp + 0xc4], ebp
shl ebp, 8
or ebp, edi
mov edi, dword [esp + 0xc4]
shr edi, 0x18
movzx ebx, byte [esi + edx + 2]
mov dword [esp + 0xc4], ebx
shl ebx, 0x10
or ebx, ebp
mov ebp, dword [esp + 0xc4]
shr ebp, 0x10
or edi, ebp
movzx ebp, byte [esi + edx + 3]
mov dword [esp + 0xc4], ebp
shl ebp, 0x18
or ebx, ebp
mov dword [esp + 0xc0], ebx
mov ebp, dword [esp + 0xc4]
shr ebp, 8
or ebp, edi
movzx edi, byte [esi + edx + 4]
or edi, ebp
movzx ebp, byte [esi + edx + 5]
shl ebp, 8
or ebp, edi
movzx edi, byte [esi + edx + 6]
shl edi, 0x10
or ebp, edi
movzx edx, byte [esi + edx + 7]
shl edx, 0x18
or ebp, edx
mov dword [esp + 0xc4], ebp
shr ebx, 0x10
mov edi, ebp
shl ebp, 0x10
or ebp, ebx
mov dword [esp + 0xbc], ebp
mov ebx, ecx
mov ecx, dword [esp + 0xd0]
shl ebp, cl
mov esi, dword [esp + 0xcc]
and ebp, esi
mov eax, 0x1e35a7bd
mul ebp
mov dword [esp + 0xb8], edx
mov dword [esp + 0x5c], eax
mov ebp, dword [esp + 0xc0]
shl ebp, cl
and ebp, esi
mov eax, 0x1e35a7bd
mul ebp
mov dword [esp + 0xb4], edx
nop
nop
mov ebp, edi
shr edi, 0x10
shl edi, cl
and edi, esi
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0xbc]
shr edx, cl
mov esi, dword [esp + 0xa4]
and edx, esi
or edi, edx
mov ecx, dword [esp + 0xb0]
mov esi, dword [esp + 0xbc]
shl esi, cl
mov edx, dword [esp + 0xac]
and esi, edx
or edi, esi
imul esi, edi, 0x1e35a7bd
mov edi, dword [esp + 0xb8]
add esi, edi
mov dword [esp + 0xbc], esi
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x5c]
shr edx, cl
mov edi, dword [esp + 0x90]
and edx, edi
mov ecx, dword [esp + 0x98]
shl esi, cl
mov edi, dword [esp + 0x94]
and esi, edi
or esi, edx
mov edx, ecx
mov ecx, ebx
mov edi, dword [esp + 0xbc]
shr edi, cl
mov ebx, dword [esp + 0x9c]
and edi, ebx
or edi, esi
mov dword [esp + 0xbc], edi
nop
mov esi, ecx
mov ecx, dword [esp + 0xd0]
shl ebp, cl
mov edi, dword [esp + 0xcc]
and ebp, edi
mov ecx, dword [esp + 0xa8]
mov edi, dword [esp + 0xc0]
shr edi, cl
mov ebx, dword [esp + 0xa4]
and edi, ebx
or ebp, edi
mov ecx, dword [esp + 0xb0]
mov ebx, dword [esp + 0xc0]
shl ebx, cl
mov edi, dword [esp + 0xac]
and ebx, edi
or ebx, ebp
imul ebx, ebx, 0x1e35a7bd
mov ebp, dword [esp + 0xb4]
add ebx, ebp
mov dword [esp + 0xb8], ebx
mov ebp, ecx
mov ecx, dword [esp + 0x34]
shr eax, cl
mov edi, dword [esp + 0x90]
and eax, edi
mov ecx, edx
shl ebx, cl
mov edx, dword [esp + 0x94]
and ebx, edx
or eax, ebx
mov ecx, esi
mov edx, dword [esp + 0xb8]
shr edx, cl
mov esi, dword [esp + 0x9c]
and edx, esi
or eax, edx
mov edx, dword [esp + 0x150]
cmp edx, eax
jbe 0x61bbf2
mov dword [esp + 0xb8], eax
mov edx, dword [esp + 0xc0]
shr edx, 8
mov esi, dword [esp + 0xc4]
shl esi, 0x18
or esi, edx
mov dword [esp + 0xc0], esi
mov ecx, dword [esp + 0xd0]
shl esi, cl
mov edx, dword [esp + 0xcc]
and esi, edx
mov eax, 0x1e35a7bd
mul esi
mov esi, dword [esp + 0x74]
add esi, 0xfffffffe
mov ebx, dword [esp + 0xb8]
mov edi, dword [esp + 0x14c]
mov dword [edi + ebx*4], esi
nop
mov ebx, dword [esp + 0xc4]
shr ebx, 8
mov esi, ecx
mov ecx, ebp
mov edi, dword [esp + 0xc0]
shl edi, cl
mov ebp, dword [esp + 0xac]
and edi, ebp
mov ecx, esi
shl ebx, cl
mov ebp, dword [esp + 0xcc]
and ebx, ebp
mov ecx, dword [esp + 0xa8]
mov ebp, dword [esp + 0xc0]
shr ebp, cl
mov esi, dword [esp + 0xa4]
and ebp, esi
or ebx, ebp
or ebx, edi
imul ebx, ebx, 0x1e35a7bd
add edx, ebx
mov dword [esp + 0xc4], edx
mov ebx, ecx
mov ecx, dword [esp + 0x34]
shr eax, cl
mov ebp, dword [esp + 0x90]
and eax, ebp
mov ecx, dword [esp + 0x98]
shl edx, cl
mov ebp, dword [esp + 0x94]
and edx, ebp
or eax, edx
mov ecx, dword [esp + 0xa0]
mov ebp, dword [esp + 0xc4]
shr ebp, cl
mov edi, dword [esp + 0x9c]
and ebp, edi
or eax, ebp
mov ebp, dword [esp + 0x150]
cmp ebp, eax
jbe 0x61bbeb
mov edi, dword [esp + 0x74]
dec edi
mov edx, dword [esp + 0x14c]
mov dword [edx + eax*4], edi
mov eax, dword [esp + 0xbc]
cmp ebp, eax
jbe 0x61bbe4
mov edi, dword [edx + eax*4]
mov ebp, dword [esp + 0x80]
mov esi, dword [esp + 0x68]
sub ebp, esi
mov dword [edx + eax*4], ebp
lea ebp, [edi + esi]
mov edi, dword [esp + 0x12c]
mov eax, dword [esp + 0x134]
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0xf0]
jmp 0x61ad1b
mov edx, dword [esp + 0x6c]
lea ebp, [edx + 1]
mov esi, dword [esp + 0x130]
cmp esi, ebp
jb 0x61baf9
sub eax, edx
lea ebx, [eax - 1]
neg ebx
sar ebx, 0x1f
and ebx, ebp
sub esi, edx
dec esi
cmp esi, 7
ja 0x61973c
jmp 0x61baed
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x134]
mov esi, dword [esp + 0x12c]
mov edi, dword [esp + 0x30]
mov dword [esp + 0x38], eax
mov ebp, dword [esp + 0xc4]
mov ebx, dword [esp + 0xc0]
mov eax, dword [esp + 0x130]
jmp 0x61a7d3
mov ebp, dword [esp + 0x68]
sub edx, ebp
mov ecx, dword [esp + 0x150]
mov edi, dword [esp + 0x64]
cmp ecx, edi
jbe 0x61bd25
mov esi, dword [esp + 0x14c]
mov dword [esi + edi*4], edx
jmp 0x61a762
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x150]
mov ebp, dword [esp + 0x68]
mov esi, dword [esp + 0x14c]
mov ebx, dword [esp + 0x44]
mov edx, dword [esp + 0x6c]
mov edi, edx
sub edx, ebx
cmp edx, 0x3fff0
jg 0x61a6ec
jmp 0x6198f1
mov esi, dword [esp + 0x12c]
mov edx, dword [esp + 0x134]
mov eax, dword [esp + 0x130]
mov ecx, dword [esp + 0x24]
mov ebx, dword [esp + 0xb0]
mov ebp, dword [esp + 0x98]
mov edi, dword [esp + 0x34]
mov ecx, edi
mov edi, dword [esp + 0x30]
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0x38], eax
mov ebp, dword [esp + 0xc4]
mov ebx, dword [esp + 0xc0]
mov eax, dword [esp + 0xf8]
cmp eax, ebp
jb 0x61bd6c
sub edx, ebp
mov dword [esp + 0x2c], edx
neg edx
sar edx, 0x1f
and edx, ebp
sub eax, ebp
lea edi, [esi + edx]
cmp eax, 7
jbe 0x61bd60
mov dword [esp + 0x28], eax
mov dword [esp + 0xc8], edx
mov dword [esp + 0x120], edi
mov dword [esp + 0x64], ebx
mov dword [esp + 0x6c], ebp
movzx edi, byte [esi + edx]
movzx ebp, byte [esi + edx + 1]
mov dword [esp + 0xc4], ebp
shl ebp, 8
or edi, ebp
movzx ebp, byte [esi + edx + 2]
mov dword [esp + 0xc0], ebp
shl ebp, 0x10
or ebp, edi
movzx edi, byte [esi + edx + 3]
mov dword [esp + 0xbc], edi
shl edi, 0x18
or ebp, edi
mov dword [esp + 0xb8], ebp
mov ecx, dword [esp + 0xd0]
shl ebp, cl
mov ebx, dword [esp + 0xcc]
and ebp, ebx
mov eax, 0x1e35a7bd
mul ebp
mov dword [esp + 0xb4], edx
mov ebp, ecx
mov ecx, dword [esp + 0xb0]
mov edi, dword [esp + 0xb8]
shl edi, cl
mov dword [esp + 0x8c], edi
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0xb8]
shr edx, cl
mov dword [esp + 0xb8], edx
mov ebx, dword [esp + 0xc4]
shr ebx, 0x18
mov edx, dword [esp + 0xc0]
shr edx, 0x10
or ebx, edx
mov edx, dword [esp + 0xbc]
shr edx, 8
or edx, ebx
mov ebx, dword [esp + 0xc8]
movzx edi, byte [esi + ebx + 4]
or edi, edx
movzx edx, byte [esi + ebx + 5]
shl edx, 8
or edx, edi
movzx edi, byte [esi + ebx + 6]
shl edi, 0x10
or edx, edi
movzx ebx, byte [esi + ebx + 7]
shl ebx, 0x18
or edx, ebx
mov ecx, ebp
shl edx, cl
mov edi, dword [esp + 0x8c]
mov ebx, dword [esp + 0xac]
and edi, ebx
mov ebx, dword [esp + 0xb8]
mov ebp, dword [esp + 0xa4]
and ebx, ebp
mov ebp, dword [esp + 0xcc]
and edx, ebp
or edx, ebx
or edi, edx
imul edx, edi, 0x1e35a7bd
mov ebx, dword [esp + 0xb4]
add edx, ebx
mov ebx, ecx
mov ecx, dword [esp + 0xa0]
mov edi, edx
shr edx, cl
mov ecx, dword [esp + 0x98]
shl edi, cl
mov ecx, dword [esp + 0x34]
shr eax, cl
mov ebp, dword [esp + 0x9c]
and edx, ebp
mov ebp, dword [esp + 0x94]
and edi, ebp
mov ebp, dword [esp + 0x90]
and eax, ebp
or eax, edi
or edx, eax
mov edi, dword [esp + 0x64]
cmp edi, edx
jne 0x61bd48
mov edx, dword [esp + 0x38]
shr edx, 5
mov edi, dword [esp + 0x6c]
add edx, edi
mov ebp, dword [esp + 0x24]
cmp ebp, edx
jl 0x61ac94
mov ebp, dword [esp + 0x130]
cmp ebp, edx
jb 0x61bd3f
mov edi, dword [esp + 0x134]
sub edi, edx
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edi, edx
sub ebp, edx
cmp ebp, 7
jbe 0x61bd33
mov dword [esp + 0xc4], edx
movzx ebp, byte [esi + edi]
movzx edx, byte [esi + edi + 1]
mov dword [esp + 0xc0], edx
shl edx, 8
or ebp, edx
movzx edx, byte [esi + edi + 2]
mov dword [esp + 0xbc], edx
shl edx, 0x10
or edx, ebp
movzx ebp, byte [esi + edi + 3]
mov dword [esp + 0xb8], ebp
shl ebp, 0x18
or ebp, edx
mov dword [esp + 0xb4], ebp
mov ecx, ebx
shl ebp, cl
mov edx, dword [esp + 0xcc]
and ebp, edx
mov eax, 0x1e35a7bd
mul ebp
mov dword [esp + 0x8c], edx
mov ebp, dword [esp + 0x6c]
mov edx, dword [esp + 0x48]
sub ebp, edx
mov dword [esp + 0x44], ebp
mov edx, dword [esp + 0x68]
sub ebp, edx
mov dword [esp + 0xc8], ebp
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0xb4]
shr edx, cl
mov dword [esp + 0x88], edx
mov ebp, dword [esp + 0xc0]
shr ebp, 0x18
mov edx, dword [esp + 0xbc]
shr edx, 0x10
or ebp, edx
mov edx, dword [esp + 0xb8]
shr edx, 8
or edx, ebp
movzx ebp, byte [esi + edi + 4]
or ebp, edx
movzx edx, byte [esi + edi + 5]
shl edx, 8
or edx, ebp
movzx ebp, byte [esi + edi + 6]
shl ebp, 0x10
or edx, ebp
movzx ebp, byte [esi + edi + 7]
shl ebp, 0x18
or edx, ebp
mov ecx, ebx
shl edx, cl
mov ecx, dword [esp + 0xb0]
mov edi, dword [esp + 0xb4]
shl edi, cl
mov ebp, dword [esp + 0xac]
and edi, ebp
mov ebp, dword [esp + 0x88]
mov ebx, dword [esp + 0xa4]
and ebp, ebx
mov ebx, dword [esp + 0xcc]
and edx, ebx
or edx, ebp
or edi, edx
imul edx, edi, 0x1e35a7bd
mov ebp, dword [esp + 0x8c]
add edx, ebp
mov ecx, dword [esp + 0xa0]
mov edi, edx
shr edx, cl
mov ebp, dword [esp + 0x9c]
and edx, ebp
mov ecx, dword [esp + 0x98]
shl edi, cl
mov ebp, dword [esp + 0x94]
and edi, ebp
mov ecx, dword [esp + 0x34]
shr eax, cl
mov ebp, dword [esp + 0x90]
and eax, ebp
or eax, edi
or edx, eax
mov edi, dword [esp + 0x144]
mov eax, dword [esp + 0xc8]
cmp edi, eax
jb 0x61bd2c
mov dword [esp + 0xc0], edx
mov ecx, dword [esp + 0x120]
mov dword [esp], ecx
mov edx, dword [esp + 0x28]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x2c]
mov dword [esp + 8], ebx
mov ebp, dword [esp + 0x148]
sub ebp, eax
mov dword [esp + 0xc8], ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, eax
mov esi, dword [esp + 0x140]
add ebp, esi
mov dword [esp + 0xc], ebp
sub edi, eax
mov dword [esp + 0x10], edi
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x15c]
mov dword [esp + 0x18], eax
call fcn.00617eb0
mov eax, dword [esp + 0x38]
inc eax
movzx ecx, byte [esp + 0x1c]
test cl, cl
je 0x61abb4
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x44]
cmp edx, ebx
jle 0x61abb8
jmp 0x61a720
mov edx, dword [esp + 0x6c]
mov ecx, dword [esp + 0x150]
mov ebx, dword [esp + 0x64]
cmp ecx, ebx
jbe 0x61bd1e
mov ebp, dword [esp + 0x14c]
mov esi, dword [ebp + ebx*4]
mov dword [esp + 0xc8], esi
mov edi, dword [esp + 0x68]
add esi, edi
cmp edi, esi
jg 0x61bd06
cmp edx, esi
jle 0x61bcee
sub edx, edi
mov dword [ebp + ebx*4], edx
mov edx, dword [esp + 0x144]
mov ebx, dword [esp + 0xc8]
cmp edx, ebx
jb 0x61bce5
mov dword [esp + 0x84], eax
mov dword [esp + 0x44], esi
mov eax, dword [esp + 0x120]
mov dword [esp], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x148]
sub eax, ebx
mov ebp, eax
neg eax
sar eax, 0x1f
and eax, ebx
mov esi, dword [esp + 0x140]
add eax, esi
mov dword [esp + 0xc], eax
sub edx, ebx
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ebp
mov edx, dword [esp + 0x15c]
mov dword [esp + 0x18], edx
call fcn.00617eb0
movzx eax, byte [esp + 0x1c]
test al, al
je 0x61a77b
jmp 0x61a745
mov ebp, dword [esp + 0x134]
mov esi, dword [esp + 0x138]
mov eax, ecx
jmp 0x619639
mov ebp, dword [esp + 0x134]
mov esi, dword [esp + 0x138]
mov eax, dword [esp + 0x30]
jmp 0x619639
mov ebx, dword [esi + eax*4]
mov edx, dword [esp + 0x70]
mov ebp, dword [esp + 0x68]
sub edx, ebp
mov dword [esi + eax*4], edx
lea eax, [ebx + ebp]
mov edx, dword [esp + 0x12c]
mov ebx, dword [esp + 0x134]
mov ecx, dword [esp + 0xa0]
mov edx, esi
mov ebx, dword [esp + 0xa8]
mov esi, ebp
mov edi, dword [esp + 0x12c]
mov dword [esp + 0xe8], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x6c], eax
mov dword [esp + 0xe0], edi
mov edi, dword [esp + 0xc8]
mov dword [esp + 0x48], edi
mov ebp, dword [esp + 0xe8]
mov eax, dword [esp + 0x134]
mov edi, dword [esp + 0x12c]
mov edx, dword [esp + 0x6c]
sub edx, ebp
mov dword [esp + 0xc8], edx
cmp edx, 0x3fff0
jle 0x61ad49
mov dword [esp + 0xd8], eax
xor eax, eax
mov byte [esp + 0x23], al
mov eax, dword [esp + 0xd8]
jmp 0x61ae06
mov edx, dword [esp + 0x130]
mov ebx, dword [esp + 0x6c]
cmp edx, ebx
jb 0x61bbdb
sub eax, ebx
mov dword [esp + 0x80], eax
sub edx, ebx
neg eax
sar eax, 0x1f
and eax, ebx
add edi, eax
mov eax, ebp
sub eax, esi
mov ebx, dword [esp + 0x144]
cmp ebx, eax
jb 0x61bbd4
mov dword [esp + 0x44], ebp
mov dword [esp], edi
mov dword [esp + 4], edx
mov ecx, dword [esp + 0x80]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x148]
sub ecx, eax
mov ebp, ecx
neg ecx
sar ecx, 0x1f
and ecx, eax
mov esi, dword [esp + 0x140]
add ecx, esi
mov dword [esp + 0xc], ecx
sub ebx, eax
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], ebp
mov eax, dword [esp + 0x15c]
mov dword [esp + 0x18], eax
call fcn.00617eb0
movzx eax, byte [esp + 0x1c]
mov ecx, dword [esp + 0xa0]
mov edx, dword [esp + 0xc8]
mov ebx, dword [esp + 0xa8]
mov ebp, dword [esp + 0x44]
mov esi, dword [esp + 0x68]
mov edi, dword [esp + 0x12c]
mov byte [esp + 0x23], al
mov eax, dword [esp + 0x134]
movzx edx, byte [esp + 0x23]
test dl, dl
je 0x61a6b9
sub ebp, esi
mov edx, dword [esp + 0x15c]
add ebp, edx
mov ebx, dword [esp + 0x144]
cmp ebx, ebp
jb 0x61bbcb
mov esi, dword [esp + 0x148]
sub esi, ebp
mov dword [esp + 0x80], esi
sub ebx, ebp
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and ebp, esi
mov esi, dword [esp + 0x140]
add ebp, esi
mov esi, dword [esp + 0x6c]
add edx, esi
mov esi, dword [esp + 0x130]
cmp esi, edx
jb 0x61bbc2
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov ecx, dword [esp + 0x80]
mov dword [esp + 8], ecx
sub eax, edx
mov ebx, eax
neg eax
sar eax, 0x1f
and eax, edx
add eax, edi
mov dword [esp + 0xc], eax
sub esi, edx
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], ebx
mov edx, dword [esp + 0x138]
mov ebx, dword [esp + 0x6c]
sub edx, ebx
mov esi, dword [esp + 0x15c]
sub edx, esi
mov dword [esp + 0x18], edx
call fcn.006222e0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x15c]
add eax, ecx
mov dword [esp + 0x3c], eax
mov dword [esp], eax
mov edx, dword [esp + 0x164]
mov dword [esp + 4], edx
call fcn.00618ab0
mov eax, dword [esp + 0xc8]
mov dword [esp], eax
mov ecx, dword [esp + 0x164]
mov dword [esp + 4], ecx
call fcn.00619110
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x3c]
lea edx, [ecx + eax]
mov ebx, dword [esp + 0x24]
cmp ebx, edx
jle 0x61bad8
mov dword [esp + 0x70], edx
mov ebp, dword [esp + 0x15c]
cmp ebp, 4
jne 0x61b3c0
lea eax, [eax + ecx - 3]
mov ecx, dword [esp + 0x130]
cmp ecx, eax
jb 0x61bbbd
mov esi, dword [esp + 0x134]
sub esi, edx
add esi, 3
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and eax, esi
sub ecx, edx
add ecx, 3
cmp ecx, 7
jbe 0x61bbb3
nop
mov ebx, dword [esp + 0x12c]
movzx edi, byte [ebx + eax]
movzx esi, byte [ebx + eax + 1]
mov dword [esp + 0xc4], esi
shl esi, 8
or esi, edi
mov edi, dword [esp + 0xc4]
shr edi, 0x18
movzx ebp, byte [ebx + eax + 2]
mov dword [esp + 0xc4], ebp
shl ebp, 0x10
or ebp, esi
mov esi, dword [esp + 0xc4]
shr esi, 0x10
or esi, edi
movzx edi, byte [ebx + eax + 3]
mov dword [esp + 0xc4], edi
shl edi, 0x18
or edi, ebp
mov ebp, dword [esp + 0xc4]
shr ebp, 8
or ebp, esi
movzx esi, byte [ebx + eax + 4]
or esi, ebp
movzx ebp, byte [ebx + eax + 5]
shl ebp, 8
or ebp, esi
movzx esi, byte [ebx + eax + 6]
shl esi, 0x10
or ebp, esi
movzx esi, byte [ebx + eax + 7]
shl esi, 0x18
or ebp, esi
mov esi, dword [esp + 0xd4]
cmp esi, 3
jb 0x61bb9b
mov dword [esp + 0xc4], edi
mov dword [esp + 0xc0], ebp
shl ebp, 8
shr edi, 0x18
or ebp, edi
mov dword [esp + 0xbc], ebp
mov ecx, dword [esp + 0xd0]
shl ebp, cl
mov esi, dword [esp + 0xcc]
and ebp, esi
mov eax, 0x1e35a7bd
mul ebp
mov dword [esp + 0xb8], edx
mov dword [esp + 0x58], eax
mov ebp, dword [esp + 0xc4]
shl ebp, cl
and ebp, esi
mov eax, 0x1e35a7bd
mul ebp
mov dword [esp + 0xb4], edx
nop
mov ebp, dword [esp + 0x70]
mov edi, dword [esp + 0x68]
sub ebp, edi
mov dword [esp + 0x80], ebp
mov ebx, dword [esp + 0xc0]
shr ebx, 0x18
mov ecx, dword [esp + 0xa8]
mov edi, dword [esp + 0xbc]
shr edi, cl
mov ebp, dword [esp + 0xa4]
and edi, ebp
mov ecx, dword [esp + 0xd0]
shl ebx, cl
and ebx, esi
or ebx, edi
mov ecx, dword [esp + 0xb0]
mov edx, dword [esp + 0xbc]
shl edx, cl
mov esi, dword [esp + 0xac]
and edx, esi
or ebx, edx
imul edx, ebx, 0x1e35a7bd
mov ebx, dword [esp + 0xb8]
add edx, ebx
mov dword [esp + 0xbc], edx
mov ebx, ecx
mov ecx, dword [esp + 0xa0]
shr edx, cl
mov edi, dword [esp + 0x9c]
and edx, edi
mov ecx, dword [esp + 0x34]
mov edi, dword [esp + 0x58]
shr edi, cl
mov ecx, dword [esp + 0x98]
mov ebp, dword [esp + 0xbc]
shl ebp, cl
mov esi, dword [esp + 0x94]
and ebp, esi
mov esi, dword [esp + 0x90]
and edi, esi
or ebp, edi
or ebp, edx
mov dword [esp + 0xbc], ebp
mov ecx, ebx
mov edi, dword [esp + 0xc4]
shl edi, cl
mov ebp, dword [esp + 0xac]
and edi, ebp
mov ecx, dword [esp + 0xa8]
mov ebp, dword [esp + 0xc4]
shr ebp, cl
mov ebx, dword [esp + 0xa4]
and ebp, ebx
mov ecx, dword [esp + 0xd0]
mov ebx, dword [esp + 0xc0]
shl ebx, cl
mov edx, dword [esp + 0xcc]
and ebx, edx
or ebx, ebp
or edi, ebx
imul ebx, edi, 0x1e35a7bd
mov ebp, dword [esp + 0xb4]
add ebx, ebp
mov ebp, ecx
mov ecx, dword [esp + 0xa0]
mov edi, ebx
shr ebx, cl
mov ecx, dword [esp + 0x34]
shr eax, cl
and eax, esi
mov ecx, dword [esp + 0x98]
shl edi, cl
mov esi, dword [esp + 0x94]
and edi, esi
or eax, edi
mov edi, dword [esp + 0x9c]
and ebx, edi
or eax, ebx
mov ebx, dword [esp + 0x150]
cmp ebx, eax
jbe 0x61bb94
mov dword [esp + 0xb8], eax
mov ebx, dword [esp + 0xc4]
shr ebx, 8
mov edi, dword [esp + 0xc0]
shl edi, 0x18
or edi, ebx
mov dword [esp + 0xb4], edi
mov ecx, ebp
shl edi, cl
and edi, edx
mov eax, 0x1e35a7bd
mul edi
mov edi, dword [esp + 0x80]
add edi, 0xfffffffd
mov esi, dword [esp + 0xb8]
mov ebx, dword [esp + 0x14c]
mov dword [ebx + esi*4], edi
nop
mov esi, dword [esp + 0xc0]
shr esi, 8
mov ecx, dword [esp + 0xb0]
mov ebx, dword [esp + 0xb4]
shl ebx, cl
mov edi, dword [esp + 0xac]
and ebx, edi
mov ecx, ebp
shl esi, cl
mov ecx, dword [esp + 0xa8]
mov edi, dword [esp + 0xb4]
shr edi, cl
mov ebp, dword [esp + 0xcc]
and esi, ebp
mov ebp, dword [esp + 0xa4]
and edi, ebp
or esi, edi
or esi, ebx
imul ebx, esi, 0x1e35a7bd
add edx, ebx
mov dword [esp + 0xb8], edx
mov ebx, ecx
mov ecx, dword [esp + 0x34]
shr eax, cl
mov esi, dword [esp + 0x90]
and eax, esi
mov ecx, dword [esp + 0x98]
shl edx, cl
mov esi, dword [esp + 0x94]
and edx, esi
or eax, edx
mov ecx, dword [esp + 0xa0]
mov edi, dword [esp + 0xb8]
shr edi, cl
mov esi, dword [esp + 0x9c]
and edi, esi
or eax, edi
mov edi, dword [esp + 0x150]
cmp edi, eax
jbe 0x61bb8d
mov dword [esp + 0xb8], eax
mov edi, dword [esp + 0xc4]
shr edi, 0x10
mov edx, dword [esp + 0xc0]
shl edx, 0x10
or edx, edi
mov dword [esp + 0xc4], edx
mov ecx, dword [esp + 0xd0]
shl edx, cl
mov esi, dword [esp + 0xcc]
and edx, esi
mov eax, 0x1e35a7bd
mul edx
mov dword [esp + 0xb4], edx
mov edi, dword [esp + 0x80]
add edi, 0xfffffffe
mov edx, dword [esp + 0xb8]
mov ebp, dword [esp + 0x14c]
mov dword [ebp + edx*4], edi
nop
mov edx, dword [esp + 0xc0]
shr edx, 0x10
mov edi, ecx
mov ecx, dword [esp + 0xb0]
mov ebp, dword [esp + 0xc4]
shl ebp, cl
mov dword [esp + 0xc0], ebp
mov ecx, ebx
mov ebp, dword [esp + 0xc4]
shr ebp, cl
mov ecx, edi
shl edx, cl
and edx, esi
mov ebx, dword [esp + 0xa4]
and ebp, ebx
or edx, ebp
mov ebp, dword [esp + 0xc0]
mov ebx, dword [esp + 0xac]
and ebp, ebx
or edx, ebp
imul edx, edx, 0x1e35a7bd
mov ebp, dword [esp + 0xb4]
add edx, ebp
mov ecx, dword [esp + 0xa0]
mov ebp, edx
shr edx, cl
mov ebx, dword [esp + 0x9c]
and edx, ebx
mov ecx, dword [esp + 0x98]
shl ebp, cl
mov ebx, dword [esp + 0x94]
and ebp, ebx
mov ecx, dword [esp + 0x34]
shr eax, cl
mov ebx, dword [esp + 0x90]
and eax, ebx
or eax, ebp
or eax, edx
mov edx, dword [esp + 0x150]
cmp edx, eax
jbe 0x61bb86
mov ebp, ebx
mov ebx, dword [esp + 0x80]
dec ebx
mov esi, dword [esp + 0x14c]
mov dword [esi + eax*4], ebx
mov eax, dword [esp + 0xbc]
jmp 0x61bace
lea esi, [eax + ecx - 5]
mov edi, dword [esp + 0x130]
cmp edi, esi
jb 0x61bb7d
mov ebx, dword [esp + 0x134]
sub ebx, edx
lea ebp, [ebx + 5]
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and esi, ebp
sub edi, edx
mov dword [esp + 0x80], edi
add edi, 5
cmp edi, 7
jbe 0x61bb71
mov dword [esp + 0x78], ebx
mov edi, dword [esp + 0x12c]
movzx ebx, byte [edi + esi]
movzx ebp, byte [edi + esi + 1]
mov dword [esp + 0xc4], ebp
shl ebp, 8
or ebp, ebx
movzx ebx, byte [edi + esi + 2]
mov dword [esp + 0xc0], ebx
shl ebx, 0x10
or ebx, ebp
movzx ebp, byte [edi + esi + 3]
mov dword [esp + 0xbc], ebp
shl ebp, 0x18
or ebp, ebx
mov dword [esp + 0xb8], ebp
mov ecx, dword [esp + 0xd0]
shl ebp, cl
mov ebx, dword [esp + 0xcc]
and ebp, ebx
mov eax, 0x1e35a7bd
mul ebp
mov dword [esp + 0xb4], edx
nop
mov ebp, dword [esp + 0x70]
mov edx, dword [esp + 0x68]
sub ebp, edx
mov dword [esp + 0x74], ebp
mov edx, dword [esp + 0xc4]
shr edx, 0x18
mov ebp, dword [esp + 0xc0]
shr ebp, 0x10
or ebp, edx
mov edx, dword [esp + 0xbc]
shr edx, 8
or edx, ebp
movzx ebp, byte [edi + esi + 4]
or ebp, edx
movzx edx, byte [edi + esi + 5]
shl edx, 8
or edx, ebp
movzx ebp, byte [edi + esi + 6]
shl ebp, 0x10
or edx, ebp
movzx ebp, byte [edi + esi + 7]
shl ebp, 0x18
or edx, ebp
mov dword [esp + 0xc4], edx
mov ebp, ecx
mov ecx, dword [esp + 0xa8]
mov esi, dword [esp + 0xb8]
shr esi, cl
mov ecx, dword [esp + 0xb0]
mov edi, dword [esp + 0xb8]
shl edi, cl
mov ebx, dword [esp + 0xac]
and edi, ebx
mov ebx, dword [esp + 0xa4]
and esi, ebx
mov ecx, ebp
shl edx, cl
mov ebx, dword [esp + 0xcc]
and edx, ebx
or edx, esi
or edi, edx
imul edx, edi, 0x1e35a7bd
mov esi, dword [esp + 0xb4]
add edx, esi
mov ecx, dword [esp + 0xa0]
mov esi, edx
shr edx, cl
mov edi, dword [esp + 0x9c]
and edx, edi
mov ecx, dword [esp + 0x98]
shl esi, cl
mov edi, dword [esp + 0x94]
and esi, edi
mov ecx, dword [esp + 0x34]
shr eax, cl
mov edi, dword [esp + 0x90]
and eax, edi
or eax, esi
or eax, edx
mov edx, dword [esp + 0x150]
cmp edx, eax
jbe 0x61bb6a
mov esi, dword [esp + 0x74]
add esi, 0xfffffffb
mov edx, dword [esp + 0x14c]
mov dword [edx + eax*4], esi
nop
mov esi, dword [esp + 0xd4]
cmp esi, 1
jb 0x61bb52
mov esi, dword [esp + 0xb8]
shr esi, 8
mov edx, dword [esp + 0xc4]
shl edx, 0x18
or edx, esi
mov dword [esp + 0xc0], edx
mov ecx, ebp
shl edx, cl
and edx, ebx
mov eax, 0x1e35a7bd
mul edx
mov dword [esp + 0xbc], edx
mov edi, dword [esp + 0xc4]
shr edi, 8
mov ecx, dword [esp + 0xb0]
mov esi, dword [esp + 0xc0]
shl esi, cl
mov edx, dword [esp + 0xac]
and esi, edx
mov dword [esp + 0xb4], esi
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0xc0]
shr edx, cl
mov esi, dword [esp + 0xa4]
and edx, esi
mov ecx, ebp
shl edi, cl
and edi, ebx
or edi, edx
mov edx, dword [esp + 0xb4]
or edi, edx
imul edx, edi, 0x1e35a7bd
mov edi, dword [esp + 0xbc]
add edx, edi
mov ecx, dword [esp + 0xa0]
mov edi, edx
shr edx, cl
mov esi, dword [esp + 0x9c]
and edx, esi
mov ecx, dword [esp + 0x34]
shr eax, cl
mov esi, dword [esp + 0x90]
and eax, esi
mov ecx, dword [esp + 0x98]
shl edi, cl
mov esi, dword [esp + 0x94]
and edi, esi
or eax, edi
or eax, edx
mov edx, dword [esp + 0x150]
cmp edx, eax
jbe 0x61bb4b
mov edi, dword [esp + 0x74]
add edi, 0xfffffffc
mov edx, dword [esp + 0x14c]
mov dword [edx + eax*4], edi
nop
mov edi, dword [esp + 0xd4]
cmp edi, 2
jb 0x61bb33
mov edi, dword [esp + 0xb8]
shr edi, 0x10
mov edx, dword [esp + 0xc4]
shl edx, 0x10
or edx, edi
mov dword [esp + 0xc0], edx
mov ecx, ebp
shl edx, cl
and edx, ebx
mov eax, 0x1e35a7bd
mul edx
mov dword [esp + 0xbc], edx
mov esi, dword [esp + 0xc4]
shr esi, 0x10
mov ecx, dword [esp + 0xb0]
mov edi, dword [esp + 0xc0]
shl edi, cl
mov edx, dword [esp + 0xac]
and edi, edx
mov ecx, ebp
shl esi, cl
and esi, ebx
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0xc0]
shr edx, cl
mov ebx, dword [esp + 0xa4]
and edx, ebx
or esi, edx
or esi, edi
imul edx, esi, 0x1e35a7bd
mov esi, dword [esp + 0xbc]
add edx, esi
mov ecx, dword [esp + 0xa0]
mov edi, edx
shr edx, cl
mov ebx, dword [esp + 0x9c]
and edx, ebx
mov ecx, dword [esp + 0x98]
shl edi, cl
mov ebx, dword [esp + 0x94]
and edi, ebx
mov ecx, dword [esp + 0x34]
shr eax, cl
mov ebx, dword [esp + 0x90]
and eax, ebx
or eax, edi
or eax, edx
mov edx, dword [esp + 0x150]
cmp edx, eax
jbe 0x61bb2c
mov edi, dword [esp + 0x74]
add edi, 0xfffffffd
mov edx, dword [esp + 0x14c]
mov dword [edx + eax*4], edi
mov edi, dword [esp + 0x3c]
mov edx, dword [esp + 0x6c]
lea edx, [edx + edi - 2]
mov edi, dword [esp + 0x130]
cmp edi, edx
jb 0x61bb23
mov edi, dword [esp + 0x78]
add edi, 2
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edx, edi
mov edi, dword [esp + 0x80]
add edi, 2
cmp edi, 7
jbe 0x61bb17
mov edi, dword [esp + 0x12c]
movzx ebx, byte [edi + edx]
movzx esi, byte [edi + edx + 1]
mov dword [esp + 0xc4], esi
shl esi, 8
or esi, ebx
mov ebx, dword [esp + 0xc4]
shr ebx, 0x18
movzx ebp, byte [edi + edx + 2]
mov dword [esp + 0xc4], ebp
shl ebp, 0x10
or ebp, esi
mov esi, dword [esp + 0xc4]
shr esi, 0x10
or esi, ebx
movzx ebx, byte [edi + edx + 3]
mov dword [esp + 0xc4], ebx
shl ebx, 0x18
or ebx, ebp
mov dword [esp + 0xc0], ebx
mov ebp, dword [esp + 0xc4]
shr ebp, 8
or ebp, esi
movzx esi, byte [edi + edx + 4]
or esi, ebp
movzx ebp, byte [edi + edx + 5]
shl ebp, 8
or ebp, esi
movzx esi, byte [edi + edx + 6]
shl esi, 0x10
or ebp, esi
movzx edx, byte [edi + edx + 7]
shl edx, 0x18
or ebp, edx
mov dword [esp + 0xc4], ebp
shr ebx, 0x10
mov esi, ebp
shl ebp, 0x10
or ebp, ebx
mov dword [esp + 0xbc], ebp
mov ecx, dword [esp + 0xd0]
shl ebp, cl
mov edi, dword [esp + 0xcc]
and ebp, edi
mov eax, 0x1e35a7bd
mul ebp
mov dword [esp + 0xb8], edx
mov dword [esp + 0x54], eax
mov ebp, dword [esp + 0xc0]
shl ebp, cl
and ebp, edi
mov eax, 0x1e35a7bd
mul ebp
mov dword [esp + 0xb4], edx
nop
nop
shr esi, 0x10
mov ecx, dword [esp + 0xb0]
mov edx, dword [esp + 0xbc]
shl edx, cl
mov ebp, dword [esp + 0xac]
and edx, ebp
mov ecx, dword [esp + 0xa8]
mov ebp, dword [esp + 0xbc]
shr ebp, cl
mov ebx, dword [esp + 0xa4]
and ebp, ebx
mov ecx, dword [esp + 0xd0]
shl esi, cl
and esi, edi
or esi, ebp
or esi, edx
imul edx, esi, 0x1e35a7bd
mov ebp, dword [esp + 0xb8]
add edx, ebp
mov ebp, ecx
mov ecx, dword [esp + 0xa0]
mov esi, edx
shr edx, cl
mov edi, dword [esp + 0x9c]
and edx, edi
mov ecx, dword [esp + 0x98]
shl esi, cl
mov edi, dword [esp + 0x94]
and esi, edi
mov ecx, dword [esp + 0x34]
mov edi, dword [esp + 0x54]
shr edi, cl
mov ebx, dword [esp + 0x90]
and edi, ebx
or esi, edi
or esi, edx
mov dword [esp + 0xbc], esi
nop
mov edx, ecx
mov ecx, ebp
mov edi, dword [esp + 0xc4]
shl edi, cl
mov ecx, dword [esp + 0xb0]
mov esi, dword [esp + 0xc0]
shl esi, cl
mov ebp, dword [esp + 0xac]
and esi, ebp
mov ecx, dword [esp + 0xa8]
mov ebp, dword [esp + 0xc0]
shr ebp, cl
mov ebx, dword [esp + 0xa4]
and ebp, ebx
mov ebx, dword [esp + 0xcc]
and edi, ebx
or edi, ebp
or esi, edi
imul ebp, esi, 0x1e35a7bd
mov esi, dword [esp + 0xb4]
add ebp, esi
mov ecx, dword [esp + 0xa0]
mov edi, ebp
shr ebp, cl
mov esi, dword [esp + 0x9c]
and ebp, esi
mov ecx, dword [esp + 0x98]
shl edi, cl
mov esi, dword [esp + 0x94]
and edi, esi
mov ecx, edx
shr eax, cl
mov edx, dword [esp + 0x90]
and eax, edx
or eax, edi
or eax, ebp
mov ebp, dword [esp + 0x150]
cmp ebp, eax
jbe 0x61bb10
mov dword [esp + 0xb8], eax
mov edi, dword [esp + 0xc0]
shr edi, 8
mov ebp, dword [esp + 0xc4]
shl ebp, 0x18
or ebp, edi
mov dword [esp + 0xc0], ebp
mov ecx, dword [esp + 0xd0]
shl ebp, cl
and ebp, ebx
mov eax, 0x1e35a7bd
mul ebp
mov dword [esp + 0xb4], edx
mov ebp, dword [esp + 0x74]
add ebp, 0xfffffffe
mov edi, dword [esp + 0xb8]
mov esi, dword [esp + 0x14c]
mov dword [esi + edi*4], ebp
nop
mov ebp, dword [esp + 0xc4]
shr ebp, 8
mov edi, ecx
mov ecx, dword [esp + 0xb0]
mov esi, dword [esp + 0xc0]
shl esi, cl
mov edx, dword [esp + 0xac]
and esi, edx
mov ecx, edi
shl ebp, cl
and ebp, ebx
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0xc0]
shr edx, cl
mov ebx, dword [esp + 0xa4]
and edx, ebx
or ebp, edx
or ebp, esi
imul edx, ebp, 0x1e35a7bd
mov ebp, dword [esp + 0xb4]
add edx, ebp
mov ecx, dword [esp + 0xa0]
mov esi, edx
shr edx, cl
mov ebx, dword [esp + 0x9c]
and edx, ebx
mov ecx, dword [esp + 0x98]
shl esi, cl
mov ebx, dword [esp + 0x94]
and esi, ebx
mov ecx, dword [esp + 0x34]
shr eax, cl
mov ebx, dword [esp + 0x90]
and eax, ebx
or eax, esi
or eax, edx
mov edx, dword [esp + 0x150]
cmp edx, eax
jbe 0x61bb09
mov esi, dword [esp + 0x74]
dec esi
mov ebx, dword [esp + 0x14c]
mov dword [ebx + eax*4], esi
mov ebp, dword [esp + 0x90]
mov esi, ebx
mov eax, dword [esp + 0xbc]
cmp edx, eax
ja 0x61acab
jmp 0x61bb02
mov ebp, dword [esp + 0x134]
mov esi, dword [esp + 0x138]
mov eax, edx
jmp 0x619639
mov eax, 7
mov ecx, esi
call fcn.00456b40
mov eax, ebp
mov ecx, esi
call fcn.00456ba0
mov ecx, edx
call fcn.00456b50
mov ecx, edx
call fcn.00456b50
mov ecx, ebp
call fcn.00456b50
mov eax, 7
mov ecx, edi
call fcn.00456b40
mov eax, edx
mov ecx, edi
call fcn.00456ba0
mov ecx, edx
call fcn.00456b50
lea eax, [0x7345e0]
mov dword [esp], eax
lea eax, [0x7c9cbc]
mov dword [esp + 4], eax
call fcn.00430590
mov ecx, edx
call fcn.00456b50
lea eax, [0x7345e0]
mov dword [esp], eax
lea eax, [0x7c9cbc]
mov dword [esp + 4], eax
call fcn.00430590
mov ecx, edx
call fcn.00456b50
mov eax, 7
mov ecx, edi
call fcn.00456b40
mov eax, esi
mov ecx, edi
call fcn.00456ba0
mov ecx, edx
call fcn.00456b50
mov ecx, edi
call fcn.00456b50
mov ecx, ebx
call fcn.00456b50
lea eax, [0x7345e0]
mov dword [esp], eax
lea eax, [0x7c9cbc]
mov dword [esp + 4], eax
call fcn.00430590
mov eax, 7
call fcn.00456b40
call fcn.00456ba0
mov eax, edx
mov ecx, esi
call fcn.00456bb0
mov eax, ebp
mov ecx, ebx
call fcn.00456bb0
mov ecx, ebx
call fcn.00456ba0
mov eax, ebx
mov ecx, edx
call fcn.00456ba0
mov ecx, ebp
call fcn.00456b50
mov ecx, ebp
call fcn.00456b50
mov ecx, edx
call fcn.00456b50
mov eax, 7
mov ecx, esi
call fcn.00456b40
mov eax, edx
mov ecx, esi
call fcn.00456ba0
mov ecx, esi
call fcn.00456b50
lea eax, [0x7345e0]
mov dword [esp], eax
lea eax, [0x7c9cbc]
mov dword [esp + 4], eax
call fcn.00430590
mov ecx, edi
call fcn.00456b50
lea eax, [0x7345e0]
mov dword [esp], eax
lea eax, [0x7c9cbc]
mov dword [esp + 4], eax
call fcn.00430590
mov ecx, edx
call fcn.00456b50
mov eax, 7
mov ecx, edi
call fcn.00456b40
mov eax, esi
mov ecx, edi
call fcn.00456ba0
mov ecx, ebx
call fcn.00456b50
mov ecx, ebp
call fcn.00456b50
lea eax, [0x7345e0]
mov dword [esp], eax
lea eax, [0x7c9cbc]
mov dword [esp + 4], eax
call fcn.00430590
mov eax, 7
mov ecx, ebp
call fcn.00456b40
mov eax, ebx
mov ecx, ebp
call fcn.00456ba0
mov eax, 1
xor ecx, ecx
call fcn.00456ba0
xor eax, eax
mov ecx, eax
call fcn.00456b40
mov eax, esi
mov ecx, ebx
call fcn.00456ba0
mov ecx, ebx
mov edx, esi
call fcn.00456b90
mov eax, esi
mov ecx, ebp
call fcn.00456ba0
mov eax, edx
mov ecx, esi
call fcn.00456bb0
mov eax, ebx
mov ecx, ebp
call fcn.00456bb0
mov eax, ebx
mov ecx, edx
call fcn.00456ba0
lea eax, [0x7345e0]
mov dword [esp], eax
lea eax, [0x7c9cbc]
mov dword [esp + 4], eax
call fcn.00430590
lea eax, [0x7345e0]
mov dword [esp], eax
lea eax, [0x7c9cbc]
mov dword [esp + 4], eax
call fcn.00430590
mov eax, ebx
call fcn.00456b50
mov eax, edi
call fcn.00456b50
mov ecx, edi
call fcn.00456ba0
mov eax, 7
mov ecx, ebp
call fcn.00456b40
mov eax, edx
mov ecx, ebp
call fcn.00456ba0
lea eax, [0x7345e0]
mov dword [esp], eax
lea eax, [0x7c9cbc]
mov dword [esp + 4], eax
call fcn.00430590
mov ecx, eax
mov eax, 7
call fcn.00456b40
mov ecx, eax
mov eax, ebp
call fcn.00456ba0
lea eax, [0x7345e0]
mov dword [esp], eax
lea eax, [0x7c9cbc]
mov dword [esp + 4], eax
call fcn.00430590
mov eax, 7
mov ecx, edx
call fcn.00456b40
mov eax, 1
xor ecx, ecx
call fcn.00456ba0
nop
call fcn.00455690
jmp fcn.00619370