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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x25c]
cmp eax, dword [ecx + 8]
jbe 0x619ba8
sub esp, 0x2dc
mov edx, dword [esp + 0x2e0]
mov ebx, dword [edx + 0x18]
mov ebp, dword [edx + 0x1c]
cmp dword [edx + 0x33c], 1
jne 0x616af0
movzx esi, byte [esp + 0x2f0]
xchg esi, eax
test al, al
xchg esi, eax
jne 0x616af8
mov edi, dword [0x8a7f70]
mov ecx, dword [0x8a7f74]
mov eax, dword [esp + 0x2ec]
cmp eax, ecx
jae 0x619ba2
shl eax, 4
mov ecx, dword [edi + eax]
mov esi, dword [edi + eax + 4]
mov edx, dword [edi + eax + 8]
mov edi, dword [edi + eax + 0xc]
sub ebx, edx
lea eax, [ecx + ebx - 1]
test ecx, ecx
je 0x619b9d
cmp ecx, 0xffffffff
je 0x616a74
cdq
idiv ecx
jmp 0x616a76
neg eax
sub ebp, edi
lea ecx, [esi + ebp - 1]
test esi, esi
je 0x619b98
mov dword [esp + 0xd4], eax
mov eax, ecx
cmp esi, 0xffffffff
je 0x616a97
cdq
idiv esi
jmp 0x616a99
neg eax
mov ecx, dword [esp + 0xd4]
test ecx, ecx
je 0x616aa8
test eax, eax
jne 0x616adb
mov dword [esp + 0x2f4], 0
mov dword [esp + 0x2f8], 0
mov dword [esp + 0x2fc], 0
mov dword [esp + 0x300], 0
add esp, 0x2dc
ret
mov edx, dword [esp + 0x2e0]
movzx esi, byte [esp + 0x2f0]
mov ebx, ecx
mov ebp, eax
jmp 0x616af8
movzx esi, byte [esp + 0x2f0]
mov dword [esp + 0xd4], ebx
mov dword [esp + 0x108], ebp
mov ecx, dword [edx + 0x30]
cmp ecx, 0xa
jg 0x616f1b
cmp ecx, 5
jg 0x616d22
lea edi, [ecx - 1]
cmp edi, 3
ja 0x616c57
mov eax, dword [edx + 0x20]
mov dword [esp + 0x110], eax
movzx ecx, byte [edx + 0x340]
test cl, cl
je 0x616b96
test ebx, ebx
jge 0x616b46
mov ecx, ebx
xor edi, edi
jmp 0x616b4c
mov ecx, ebx
xor ebx, ebx
mov edi, ecx
test ebp, ebp
jge 0x616b5f
mov dword [esp + 0x28c], eax
xor eax, eax
mov dword [esp + 0x5c], eax
jmp 0x616b6e
xor ebp, ebp
mov ebp, dword [esp + 0x108]
mov dword [esp + 0x5c], ebp
xor ebp, ebp
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], edi
mov eax, dword [esp + 0x5c]
mov dword [esp + 0xc], eax
call fcn.0060a3c0
mov eax, dword [esp + 0x10]
lea ecx, [0x70173c]
mov edx, eax
xor ebx, ebx
jmp 0x616bee
test ebx, ebx
jge 0x616ba0
mov ecx, ebx
xor edi, edi
jmp 0x616ba6
mov ecx, ebx
xor ebx, ebx
mov edi, ecx
test ebp, ebp
jge 0x616bb9
mov dword [esp + 0x284], eax
xor eax, eax
mov dword [esp + 0x58], eax
jmp 0x616bc8
xor ebp, ebp
mov ebp, dword [esp + 0x108]
mov dword [esp + 0x58], ebp
xor ebp, ebp
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], edi
mov eax, dword [esp + 0x58]
mov dword [esp + 0xc], eax
call fcn.0060a880
mov eax, dword [esp + 0x10]
lea ecx, [0x701704]
xor edx, edx
mov ebx, eax
mov ebp, dword [esp + 0x108]
movzx esi, byte [esp + 0x2f0]
xor edi, edi
xor ebp, ebp
mov dword [esp + 0x2a4], ebp
xor esi, esi
mov dword [esp + 0x2b4], esi
xor ebp, ebp
mov dword [esp + 0x294], ebp
xor ebp, ebp
mov dword [esp + 0x2a8], ebp
mov dword [esp + 0xf0], ecx
mov dword [esp + 0x2b0], eax
mov eax, ebx
mov ecx, edx
mov ebp, dword [esp + 0x108]
movzx esi, byte [esp + 0x2f0]
mov edx, dword [esp + 0x2e0]
mov ebx, dword [esp + 0xd4]
jmp 0x6173da
cmp ecx, 5
jne 0x617393
test ebx, ebx
jge 0x616c6a
mov eax, ebx
xor ecx, ecx
jmp 0x616c70
mov eax, ebx
xor ebx, ebx
mov ecx, eax
test ebp, ebp
jge 0x616c78
xor edi, edi
jmp 0x616c81
xor ebp, ebp
mov edi, dword [esp + 0x108]
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edi
call fcn.0060a3c0
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x2e0]
mov ebx, dword [esp + 0xd4]
mov ebp, dword [esp + 0x108]
movzx esi, byte [esp + 0x2f0]
mov ecx, eax
xor edi, edi
xor eax, eax
mov dword [esp + 0x2a4], eax
xor edx, edx
mov dword [esp + 0x2b4], edx
xor ebx, ebx
mov dword [esp + 0x294], ebx
xor ebp, ebp
mov dword [esp + 0x2a8], ebp
lea esi, [0x70173c]
mov dword [esp + 0xf0], esi
mov dword [esp + 0x2b0], ecx
mov eax, 0x10
mov dword [esp + 0x110], eax
xor eax, eax
mov edx, dword [esp + 0x2e0]
mov ebx, dword [esp + 0xd4]
mov ebp, dword [esp + 0x108]
movzx esi, byte [esp + 0x2f0]
jmp 0x6173da
cmp ecx, 6
jne 0x616e33
movzx eax, byte [edx + 0x340]
test al, al
je 0x616d7b
test ebx, ebx
jge 0x616d40
mov eax, ebx
xor ecx, ecx
jmp 0x616d46
mov eax, ebx
xor ebx, ebx
mov ecx, eax
test ebp, ebp
jge 0x616d4e
xor edi, edi
jmp 0x616d57
xor ebp, ebp
mov edi, dword [esp + 0x108]
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edi
call fcn.0060a3c0
mov eax, dword [esp + 0x10]
lea ecx, [0x70173c]
mov edx, eax
xor ebx, ebx
jmp 0x616dbe
test ebx, ebx
jge 0x616d85
mov eax, ebx
xor ecx, ecx
jmp 0x616d8b
mov eax, ebx
xor ebx, ebx
mov ecx, eax
test ebp, ebp
jge 0x616d93
xor edi, edi
jmp 0x616d9c
xor ebp, ebp
mov edi, dword [esp + 0x108]
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edi
call fcn.00609fd0
mov eax, dword [esp + 0x10]
lea ecx, [0x701790]
xor edx, edx
mov ebx, eax
mov ebp, dword [esp + 0x108]
movzx esi, byte [esp + 0x2f0]
mov edi, ebx
xor ebx, ebx
mov dword [esp + 0x2a4], ebx
xor ebp, ebp
mov dword [esp + 0x2b4], ebp
xor esi, esi
mov dword [esp + 0x294], esi
xor ebx, ebx
mov dword [esp + 0x2a8], ebx
mov dword [esp + 0xf0], ecx
mov dword [esp + 0x2b0], eax
mov ebx, 0x18
mov dword [esp + 0x110], ebx
mov ebx, dword [esp + 0xd4]
xor eax, eax
mov ecx, edx
mov ebp, dword [esp + 0x108]
movzx esi, byte [esp + 0x2f0]
mov edx, dword [esp + 0x2e0]
jmp 0x6173da
mov eax, dword [edx + 0x20]
test ebx, ebx
jge 0x616e40
mov ecx, ebx
xor edi, edi
jmp 0x616e46
mov ecx, ebx
xor ebx, ebx
mov edi, ecx
mov dword [esp + 0x110], eax
test ebp, ebp
jge 0x616e60
mov dword [esp + 0x27c], eax
xor eax, eax
mov dword [esp + 0x54], eax
jmp 0x616e6f
xor ebp, ebp
mov ebp, dword [esp + 0x108]
mov dword [esp + 0x54], ebp
xor ebp, ebp
mov eax, dword [edx + 0x24]
mov ecx, dword [edx + 0x28]
mov esi, dword [edx + 0x2c]
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], edi
mov ebx, dword [esp + 0x54]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], esi
call fcn.0060acb0
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x2e0]
mov ebx, dword [esp + 0xd4]
mov ebp, dword [esp + 0x108]
movzx esi, byte [esp + 0x2f0]
xor ecx, ecx
xor edi, edi
mov dword [esp + 0x2a4], eax
xor edx, edx
mov dword [esp + 0x2b4], edx
xor ebx, ebx
mov dword [esp + 0x294], ebx
xor ebp, ebp
mov dword [esp + 0x2a8], ebp
lea esi, [0x701774]
mov dword [esp + 0xf0], esi
mov dword [esp + 0x2b0], eax
xor eax, eax
mov edx, dword [esp + 0x2e0]
mov ebx, dword [esp + 0xd4]
mov ebp, dword [esp + 0x108]
movzx esi, byte [esp + 0x2f0]
jmp 0x6173da
cmp ecx, 0xc
jg 0x6170f3
cmp ecx, 0xb
jne 0x616fef
test ebx, ebx
jge 0x616f37
mov eax, ebx
xor ecx, ecx
jmp 0x616f3d
mov eax, ebx
xor ebx, ebx
mov ecx, eax
test ebp, ebp
jge 0x616f45
xor edi, edi
jmp 0x616f4e
xor ebp, ebp
mov edi, dword [esp + 0x108]
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edi
call fcn.0060a3c0
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x2e0]
mov ebx, dword [esp + 0xd4]
mov ebp, dword [esp + 0x108]
movzx esi, byte [esp + 0x2f0]
mov ecx, eax
xor edi, edi
xor eax, eax
mov dword [esp + 0x2a4], eax
xor edx, edx
mov dword [esp + 0x2b4], edx
xor ebx, ebx
mov dword [esp + 0x294], ebx
xor ebp, ebp
mov dword [esp + 0x2a8], ebp
lea esi, [0x70173c]
mov dword [esp + 0xf0], esi
mov dword [esp + 0x2b0], ecx
mov eax, 0x20
mov dword [esp + 0x110], eax
xor eax, eax
mov edx, dword [esp + 0x2e0]
mov ebx, dword [esp + 0xd4]
mov ebp, dword [esp + 0x108]
movzx esi, byte [esp + 0x2f0]
jmp 0x6173da
movzx eax, byte [edx + 0x340]
test al, al
je 0x61703f
test ebx, ebx
jge 0x617004
mov eax, ebx
xor ecx, ecx
jmp 0x61700a
mov eax, ebx
xor ebx, ebx
mov ecx, eax
test ebp, ebp
jge 0x617012
xor edi, edi
jmp 0x61701b
xor ebp, ebp
mov edi, dword [esp + 0x108]
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edi
call fcn.0060a5d0
mov eax, dword [esp + 0x10]
lea ecx, [0x701758]
mov edx, eax
xor ebx, ebx
jmp 0x617082
test ebx, ebx
jge 0x617049
mov eax, ebx
xor ecx, ecx
jmp 0x61704f
mov eax, ebx
xor ebx, ebx
mov ecx, eax
test ebp, ebp
jge 0x617057
xor edi, edi
jmp 0x617060
xor ebp, ebp
mov edi, dword [esp + 0x108]
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edi
call fcn.0060aa50
mov eax, dword [esp + 0x10]
lea ecx, [0x701720]
xor edx, edx
mov ebx, eax
mov ebp, dword [esp + 0x108]
movzx esi, byte [esp + 0x2f0]
xor edi, edi
xor ebp, ebp
mov dword [esp + 0x2a4], ebp
mov dword [esp + 0x2b4], ebx
xor esi, esi
mov dword [esp + 0x294], esi
mov dword [esp + 0x2a8], edx
mov dword [esp + 0xf0], ecx
mov dword [esp + 0x2b0], eax
mov ebp, 0x10
mov dword [esp + 0x110], ebp
mov edx, dword [esp + 0x2e0]
mov ebx, dword [esp + 0xd4]
xor eax, eax
xor ecx, ecx
mov ebp, dword [esp + 0x108]
movzx esi, byte [esp + 0x2f0]
jmp 0x6173da
cmp ecx, 0xd
jne 0x6171be
test ebx, ebx
jge 0x617106
mov eax, ebx
xor ecx, ecx
jmp 0x61710c
mov eax, ebx
xor ebx, ebx
mov ecx, eax
test ebp, ebp
jge 0x617114
xor edi, edi
jmp 0x61711d
xor ebp, ebp
mov edi, dword [esp + 0x108]
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edi
call fcn.0060a5d0
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x2e0]
mov ebx, dword [esp + 0xd4]
mov ebp, dword [esp + 0x108]
movzx esi, byte [esp + 0x2f0]
xor ecx, ecx
xor edi, edi
xor edx, edx
mov dword [esp + 0x2a4], edx
xor ebx, ebx
mov dword [esp + 0x2b4], ebx
xor ebp, ebp
mov dword [esp + 0x294], ebp
mov dword [esp + 0x2a8], eax
lea esi, [0x701758]
mov dword [esp + 0xf0], esi
mov dword [esp + 0x2b0], eax
mov ecx, 0x20
mov dword [esp + 0x110], ecx
xor eax, eax
mov edx, dword [esp + 0x2e0]
mov ebx, dword [esp + 0xd4]
mov ebp, dword [esp + 0x108]
movzx esi, byte [esp + 0x2f0]
xor ecx, ecx
jmp 0x6173da
cmp ecx, 0xe
jne 0x6172cb
movzx eax, byte [edx + 0x340]
test al, al
je 0x617217
test ebx, ebx
jge 0x6171dc
mov eax, ebx
xor ecx, ecx
jmp 0x6171e2
mov eax, ebx
xor ebx, ebx
mov ecx, eax
test ebp, ebp
jge 0x6171ea
xor edi, edi
jmp 0x6171f3
xor ebp, ebp
mov edi, dword [esp + 0x108]
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edi
call fcn.0060a5d0
mov eax, dword [esp + 0x10]
lea ecx, [0x701758]
mov edx, eax
xor ebx, ebx
jmp 0x61725a
test ebx, ebx
jge 0x617221
mov eax, ebx
xor ecx, ecx
jmp 0x617227
mov eax, ebx
xor ebx, ebx
mov ecx, eax
test ebp, ebp
jge 0x61722f
xor edi, edi
jmp 0x617238
xor ebp, ebp
mov edi, dword [esp + 0x108]
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edi
call fcn.0060a1e0
mov eax, dword [esp + 0x10]
lea ecx, [0x7017ac]
xor edx, edx
mov ebx, eax
mov ebp, dword [esp + 0x108]
movzx esi, byte [esp + 0x2f0]
xor edi, edi
xor ebp, ebp
mov dword [esp + 0x2a4], ebp
xor esi, esi
mov dword [esp + 0x2b4], esi
mov dword [esp + 0x294], ebx
mov dword [esp + 0x2a8], edx
mov dword [esp + 0xf0], ecx
mov dword [esp + 0x2b0], eax
mov ebp, 0x30
mov dword [esp + 0x110], ebp
mov edx, dword [esp + 0x2e0]
mov ebx, dword [esp + 0xd4]
xor eax, eax
xor ecx, ecx
mov ebp, dword [esp + 0x108]
movzx esi, byte [esp + 0x2f0]
jmp 0x6173da
cmp ecx, 0xf
jne 0x617393
test ebx, ebx
jge 0x6172de
mov eax, ebx
xor ecx, ecx
jmp 0x6172e4
mov eax, ebx
xor ebx, ebx
mov ecx, eax
test ebp, ebp
jge 0x6172ec
xor edi, edi
jmp 0x6172f5
xor ebp, ebp
mov edi, dword [esp + 0x108]
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edi
call fcn.0060a5d0
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x2e0]
mov ebx, dword [esp + 0xd4]
mov ebp, dword [esp + 0x108]
movzx esi, byte [esp + 0x2f0]
xor ecx, ecx
xor edi, edi
xor edx, edx
mov dword [esp + 0x2a4], edx
xor ebx, ebx
mov dword [esp + 0x2b4], ebx
xor ebp, ebp
mov dword [esp + 0x294], ebp
mov dword [esp + 0x2a8], eax
lea esi, [0x701758]
mov dword [esp + 0xf0], esi
mov dword [esp + 0x2b0], eax
mov ecx, 0x40
mov dword [esp + 0x110], ecx
xor eax, eax
mov edx, dword [esp + 0x2e0]
mov ebx, dword [esp + 0xd4]
mov ebp, dword [esp + 0x108]
movzx esi, byte [esp + 0x2f0]
xor ecx, ecx
jmp 0x6173da
xor eax, eax
xor ecx, ecx
xor edi, edi
xor eax, eax
mov dword [esp + 0x2a4], eax
xor eax, eax
mov dword [esp + 0x2b4], eax
xor eax, eax
mov dword [esp + 0x294], eax
xor eax, eax
mov dword [esp + 0x2a8], eax
xor eax, eax
mov dword [esp + 0xf0], eax
xor eax, eax
mov dword [esp + 0x2b0], eax
xor eax, eax
mov dword [esp + 0x110], eax
xor eax, eax
xchg esi, eax
test al, al
xchg esi, eax
jne 0x61756c
mov dword [esp + 0x2ac], ecx
mov dword [esp + 0x2b8], eax
mov eax, dword [esp + 0x110]
mul ebx
mov dword [esp + 0x128], eax
add eax, 7
mov eax, edi
mov edi, dword [esp + 0x110]
sar edi, 0x1f
imul edi, ebx
add edx, edi
sar ebx, 0x1f
mov edi, dword [esp + 0x110]
imul ebx, edi
add edx, ebx
mov ebx, dword [esp + 0x128]
add ebx, 7
mov ebx, edx
adc edx, 0
sar edx, 0x1f
shr edx, 0x1d
mov dword [esp + 0x124], edx
mov esi, dword [esp + 0x128]
add edx, esi
mov dword [esp + 0x128], edx
add edx, 7
mov ecx, dword [esp + 0x124]
add ecx, esi
adc ebx, 0
mov ecx, dword [esp + 0x128]
add ecx, 7
adc ebx, 0
shr edx, 3
mov ecx, ebx
shl ebx, 0x1d
or edx, ebx
mov ebx, edx
add edx, 1
sar ecx, 3
add ebx, 1
adc ecx, 0
lea ebx, [edi + 7]
sar ebx, 0x1f
shr ebx, 0x1d
lea ebx, [edi + ebx + 7]
mov esi, edx
sar edx, 0x1f
cmp edx, ecx
jne 0x617535
mov dword [esp + 0x128], esi
mov dword [esp + 0xd8], ecx
mov dword [esp + 0x120], ebx
mov dword [esp + 0x2d8], eax
lea eax, [0x65ac00]
mov dword [esp], eax
mov dword [esp + 8], ecx
mov dword [esp + 4], esi
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], esi
call fcn.00448180
mov eax, dword [esp + 0x14]
mov dword [esp + 0x2d4], eax
lea ecx, [0x65ac00]
mov dword [esp], ecx
mov ecx, dword [esp + 0xd8]
mov dword [esp + 8], ecx
mov edx, dword [esp + 0x128]
mov dword [esp + 4], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], edx
call fcn.00448180
mov eax, dword [esp + 0x120]
sar eax, 3
mov dword [esp + 0x10c], eax
mov ecx, dword [esp + 0x14]
xor edx, edx
xor ebx, ebx
mov ebp, dword [esp + 0x2d4]
jmp 0x6175c1
mov dword [esp + 0x2f4], 0
mov dword [esp + 0x2f8], 0
lea eax, [0x70105c]
mov dword [esp + 0x2fc], eax
lea eax, [0x700530]
mov dword [esp + 0x300], eax
add esp, 0x2dc
ret
mov eax, dword [esp + 0xf0]
mov dword [esp + 0x2f4], eax
mov eax, dword [esp + 0x2b0]
mov dword [esp + 0x2f8], eax
mov dword [esp + 0x2fc], 0
mov dword [esp + 0x300], 0
add esp, 0x2dc
ret
mov esi, dword [esp + 0xe4]
inc esi
mov edx, esi
mov ebx, eax
mov ebp, edi
mov ecx, dword [esp + 0x2d0]
mov eax, dword [esp + 0x10c]
mov esi, dword [esp + 0x108]
cmp edx, esi
jge 0x617e0a
mov dword [esp + 0x2c4], ecx
mov dword [esp + 0x2d0], ebp
mov dword [esp + 0xe4], edx
mov dword [esp + 0xdc], ebx
nop
mov eax, dword [esp + 0x2e4]
mov dword [esp], eax
mov ecx, dword [esp + 0x2e8]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov edx, dword [esp + 0x128]
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], edx
call fcn.0048ac30
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x20]
test eax, eax
jne 0x617d0c
mov ecx, dword [esp + 0x128]
cmp ecx, 1
jb 0x619b8e
lea ebx, [ecx - 1]
mov ebp, ebx
neg ebx
sar ebx, 0x1f
and ebx, 1
mov esi, dword [esp + 0x2d0]
lea edi, [esi + ebx]
cmp ecx, 1
jb 0x619b84
mov dword [esp + 0x120], ebp
mov dword [esp + 0x2c8], edi
mov eax, edi
mov edi, dword [esp + 0x2c4]
add ebx, edi
mov edx, esi
movzx esi, byte [esi]
xchg esi, eax
cmp al, 1
xchg esi, eax
ja 0x6176a7
xchg esi, eax
test al, al
xchg esi, eax
je 0x617734
mov ebx, dword [esp + 0x10c]
mov esi, ebx
jmp 0x619b57
xchg esi, eax
cmp al, 2
xchg esi, eax
jne 0x6176b5
xor esi, esi
jmp 0x619b26
xchg esi, eax
cmp al, 3
xchg esi, eax
jne 0x6176df
mov esi, dword [esp + 0x10c]
mov dword [esp + 0x12c], eax
xor eax, eax
mov dword [esp + 0x100], eax
mov eax, dword [esp + 0x12c]
jmp 0x619a45
xchg esi, eax
cmp al, 4
xchg esi, eax
jne 0x617cd5
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], ebp
mov ecx, dword [esp + 0x10c]
mov dword [esp + 0x18], ecx
call fcn.00615410
mov eax, dword [esp + 0x2c8]
mov ecx, dword [esp + 0x128]
mov edx, dword [esp + 0x2d0]
mov ebp, dword [esp + 0x120]
mov edi, dword [esp + 0x2c4]
mov ebx, dword [esp + 0x2e0]
mov esi, dword [ebx + 0x30]
cmp esi, 7
jg 0x617a53
cmp esi, 3
jg 0x61786e
cmp esi, 1
jne 0x6177ae
movzx esi, byte [ebx + 0x340]
xchg esi, eax
test al, al
xchg esi, eax
je 0x61778b
movzx esi, byte [ebx + 0x342]
xchg esi, eax
mov byte [esp + 0x2a], al
xchg esi, eax
mov dword [esp + 0x14c], eax
xor eax, eax
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0x14c]
jmp 0x6198dd
mov esi, dword [esp + 0xd4]
mov dword [esp + 0x15c], eax
xor eax, eax
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0x15c]
jmp 0x61974d
cmp esi, 2
jne 0x61780c
movzx esi, byte [ebx + 0x340]
xchg esi, eax
test al, al
xchg esi, eax
je 0x6177e9
movzx esi, byte [ebx + 0x342]
xchg esi, eax
mov byte [esp + 0x29], al
xchg esi, eax
mov dword [esp + 0x17c], eax
xor eax, eax
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0x17c]
jmp 0x6195ec
mov esi, dword [esp + 0xd4]
mov dword [esp + 0x18c], eax
xor eax, eax
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0x18c]
jmp 0x61945e
cmp esi, 3
jne 0x617cc9
movzx esi, byte [ebx + 0x340]
xchg esi, eax
test al, al
xchg esi, eax
je 0x61784b
movzx esi, byte [ebx + 0x342]
xchg esi, eax
mov byte [esp + 0x28], al
xchg esi, eax
mov dword [esp + 0x19c], eax
xor eax, eax
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x19c]
jmp 0x619311
mov esi, dword [esp + 0xd4]
mov dword [esp + 0x1ac], eax
xor eax, eax
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0x1ac]
jmp 0x619183
cmp esi, 5
jg 0x617942
cmp esi, 4
jne 0x61791f
movzx esi, byte [ebx + 0x340]
xchg esi, eax
test al, al
xchg esi, eax
je 0x6178b6
movzx esi, byte [ebx + 0x342]
xchg esi, eax
mov byte [esp + 0x27], al
xchg esi, eax
mov dword [esp + 0x1c4], eax
xor eax, eax
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x1c4]
jmp 0x6190f3
mov esi, dword [esp + 0x2b8]
mov ebx, dword [esi + 4]
mov edx, dword [esi]
mov edi, dword [esi + 8]
mov esi, dword [esp + 0xdc]
cmp esi, ebx
ja 0x619056
sub ebx, esi
sub edi, esi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edi, esi
add edx, edi
cmp ebx, ebp
jg 0x6178eb
mov ebp, ebx
cmp edx, eax
je 0x61790d
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
call fcn.0045f930
mov ecx, dword [esp + 0x128]
mov esi, dword [esp + 0xdc]
mov eax, dword [esp + 0x2b8]
mov edx, dword [eax + 0xc]
lea ebx, [esi + edx]
jmp 0x61903a
mov esi, dword [esp + 0xd4]
mov dword [esp + 0x1cc], eax
xor eax, eax
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0x1cc]
jmp 0x618fec
cmp esi, 6
jne 0x617a30
movzx esi, byte [ebx + 0x340]
xchg esi, eax
test al, al
xchg esi, eax
je 0x6179dc
mov esi, dword [esp + 0x2ac]
mov edx, dword [esi + 4]
mov dword [esp + 0xe0], edx
mov edi, dword [esi]
mov dword [esp + 0x29c], edi
movzx esi, byte [ebx + 0x342]
xchg esi, eax
mov byte [esp + 0x2b], al
xchg esi, eax
movzx edi, byte [ebx + 0x344]
xchg edi, eax
mov byte [esp + 0x2c], al
xchg edi, eax
movzx edx, byte [ebx + 0x346]
mov byte [esp + 0x2d], dl
mov dword [esp + 0x1ec], eax
xor eax, eax
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0xdc]
mov dword [esp + 0xf8], eax
mov dword [esp + 0x1e4], ecx
xor ecx, ecx
mov dword [esp + 0xec], ecx
mov eax, dword [esp + 0x1ec]
mov ecx, dword [esp + 0x1e4]
jmp 0x618dea
mov esi, dword [esp + 0x2d8]
mov edx, dword [esi + 4]
mov edi, dword [esi]
mov dword [esp + 0x298], edi
mov dword [esp + 0x1fc], eax
xor eax, eax
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0xdc]
mov dword [esp + 0xf4], eax
mov dword [esp + 0x1f4], ecx
xor ecx, ecx
mov dword [esp + 0xe8], ecx
mov eax, dword [esp + 0x1fc]
mov ecx, dword [esp + 0x1f4]
jmp 0x618c90
mov esi, dword [esp + 0xd4]
mov dword [esp + 0x20c], eax
xor eax, eax
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x20c]
jmp 0x618aca
cmp esi, 0xb
jg 0x617b61
cmp esi, 9
jg 0x617aac
cmp esi, 8
jne 0x617a89
mov esi, dword [esp + 0xd4]
mov dword [esp + 0x21c], eax
xor eax, eax
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x21c]
jmp 0x618913
mov esi, dword [esp + 0xd4]
mov dword [esp + 0x22c], eax
xor eax, eax
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x22c]
jmp 0x618760
cmp esi, 0xa
jne 0x617ae1
mov esi, dword [esp + 0x2a4]
cmp dword [esi + 0x24], 0x100
je 0x61862d
mov dword [esp + 0x234], eax
xor eax, eax
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x234]
jmp 0x6186d0
mov esi, dword [esp + 0x2ac]
mov ebx, dword [esi + 4]
mov edx, dword [esi]
mov edi, dword [esi + 8]
mov esi, dword [esp + 0xdc]
cmp esi, ebx
ja 0x618624
sub ebx, esi
sub edi, esi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edi, esi
add edx, edi
cmp ebx, ebp
jg 0x617b16
mov ebp, ebx
cmp edx, eax
je 0x617b38
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
call fcn.0045f930
mov ecx, dword [esp + 0x128]
mov esi, dword [esp + 0xdc]
mov eax, dword [esp + 0x2ac]
mov edx, dword [eax + 0xc]
lea ebx, [esi + edx]
mov edx, dword [esp + 0x2d0]
mov edi, dword [esp + 0x2c4]
mov eax, ebx
mov ebx, dword [esp + 0x2e0]
jmp 0x6175a5
cmp esi, 0xd
jg 0x617bfd
cmp esi, 0xc
jne 0x617bda
movzx esi, byte [ebx + 0x340]
xchg esi, eax
test al, al
xchg esi, eax
je 0x617bb7
movzx esi, byte [ebx + 0x341]
shl esi, 8
movzx ebx, byte [ebx + 0x342]
or ebx, esi
mov word [esp + 0x42], bx
mov esi, dword [esp + 0xd4]
mov dword [esp + 0x23c], eax
xor eax, eax
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x23c]
jmp 0x6185c1
mov esi, dword [esp + 0xd4]
mov dword [esp + 0x244], eax
xor eax, eax
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x244]
jmp 0x6184e5
mov esi, dword [esp + 0xd4]
mov dword [esp + 0x24c], eax
xor eax, eax
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x24c]
jmp 0x6183cf
cmp esi, 0xe
jne 0x617ca1
movzx esi, byte [ebx + 0x340]
xchg esi, eax
test al, al
xchg esi, eax
je 0x617c7e
movzx esi, byte [ebx + 0x341]
shl esi, 8
movzx edx, byte [ebx + 0x342]
or edx, esi
mov word [esp + 0x44], dx
movzx esi, byte [ebx + 0x343]
shl esi, 8
movzx edi, byte [ebx + 0x344]
or edi, esi
mov word [esp + 0x46], di
movzx esi, byte [ebx + 0x345]
shl esi, 8
movzx ebx, byte [ebx + 0x346]
or ebx, esi
mov word [esp + 0x48], bx
mov esi, dword [esp + 0xd4]
mov dword [esp + 0x264], eax
xor eax, eax
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x264]
jmp 0x6181fa
mov esi, dword [esp + 0xd4]
mov dword [esp + 0x26c], eax
xor eax, eax
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x26c]
jmp 0x618097
cmp esi, 0xf
jne 0x617cc9
mov esi, dword [esp + 0xd4]
mov dword [esp + 0x274], eax
xor eax, eax
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x274]
jmp 0x617ee7
mov eax, dword [esp + 0xdc]
jmp 0x6175a5
mov dword [esp + 0x2f4], 0
mov dword [esp + 0x2f8], 0
lea eax, [0x701048]
mov dword [esp + 0x2fc], eax
lea eax, [0x7004f0]
mov dword [esp + 0x300], eax
add esp, 0x2dc
ret
mov dword [esp + 0x2d0], ebx
mov dword [esp + 0x2c0], ebp
mov eax, dword [0x8adb64]
cmp dword [0x8adb60], ecx
je 0x617d2c
xor eax, eax
jmp 0x617d6b
mov dword [esp + 0x2bc], edx
mov dword [esp + 0x2cc], ecx
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004033f0
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 0x2cc]
mov edx, dword [esp + 0x2bc]
mov ebx, dword [esp + 0x2d0]
mov ebp, dword [esp + 0x2c0]
test al, al
jne 0x617da8
mov eax, dword [0x8adb8c]
cmp dword [0x8adb88], ecx
je 0x617d81
xor eax, eax
jmp 0x617da4
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004033f0
movzx eax, byte [esp + 0xc]
mov ebx, dword [esp + 0x2d0]
mov ebp, dword [esp + 0x2c0]
test al, al
je 0x617ddf
mov dword [esp + 0x2f4], 0
mov dword [esp + 0x2f8], 0
lea eax, [0x701048]
mov dword [esp + 0x2fc], eax
lea eax, [0x7004d8]
mov dword [esp + 0x300], eax
add esp, 0x2dc
ret
mov dword [esp + 0x2f4], 0
mov dword [esp + 0x2f8], 0
mov dword [esp + 0x2fc], ebx
mov dword [esp + 0x300], ebp
add esp, 0x2dc
ret
mov eax, dword [esp + 0xf0]
mov dword [esp + 0x2f4], eax
mov eax, dword [esp + 0x2b0]
mov dword [esp + 0x2f8], eax
mov dword [esp + 0x2fc], 0
mov dword [esp + 0x300], 0
add esp, 0x2dc
ret
lea ecx, [eax + edx*8 + 7]
movzx ecx, byte [ecx]
mov ebx, dword [esp + 0x2a8]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov ebp, dword [esp + 0xe4]
mov dword [esp + 8], ebp
movzx ebp, word [esp + 0x4a]
mov word [esp + 0xc], bp
movzx ebp, word [esp + 0x50]
mov word [esp + 0xe], bp
mov word [esp + 0x10], si
shl edi, 8
or ecx, edi
mov word [esp + 0x12], cx
call fcn.0060a4f0
mov eax, dword [esp + 0x84]
inc eax
mov ecx, dword [esp + 0xd4]
mov edx, dword [esp + 0x2a8]
mov ebx, dword [esp + 0xe4]
mov ebp, dword [esp + 0x120]
mov esi, dword [esp + 0x2c8]
mov ecx, dword [esp + 0x128]
mov edx, dword [esp + 0x2d0]
mov ebx, dword [esp + 0x2e0]
mov esi, dword [esp + 0xd4]
mov edi, dword [esp + 0x2c4]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x2c8]
mov ebx, dword [esp + 0x84]
cmp ebx, esi
jge 0x617f94
shl ebx, 3
cmp ebx, ebp
jae 0x617fe6
mov edx, dword [esp + 0x84]
lea edi, [eax + edx*8]
movzx edi, byte [edi]
lea esi, [ebx + 1]
cmp esi, ebp
jae 0x617fdd
shl edi, 8
lea esi, [eax + edx*8 + 1]
movzx esi, byte [esi]
or esi, edi
lea edi, [ebx + 2]
cmp edi, ebp
jae 0x617fd4
mov word [esp + 0x4a], si
lea edi, [eax + edx*8 + 2]
movzx edi, byte [edi]
lea esi, [ebx + 3]
cmp esi, ebp
jae 0x617fcb
shl edi, 8
lea esi, [eax + edx*8 + 3]
movzx esi, byte [esi]
or esi, edi
lea edi, [ebx + 4]
cmp edi, ebp
jae 0x617fc2
mov word [esp + 0x50], si
lea edi, [eax + edx*8 + 4]
movzx edi, byte [edi]
lea esi, [ebx + 5]
cmp esi, ebp
jae 0x617fb9
shl edi, 8
lea esi, [eax + edx*8 + 5]
movzx esi, byte [esi]
or esi, edi
lea edi, [ebx + 6]
cmp edi, ebp
jae 0x617fb0
lea edi, [eax + edx*8 + 6]
movzx edi, byte [edi]
add ebx, 7
cmp ebx, ebp
jb 0x617e43
jmp 0x617fa7
mov ebx, dword [esp + 0x2e0]
mov eax, dword [esp + 0xdc]
jmp 0x6175a5
mov eax, ebx
mov ecx, ebp
call fcn.0045f030
mov eax, edi
mov ecx, ebp
call fcn.0045f030
mov eax, esi
mov ecx, ebp
call fcn.0045f030
mov eax, edi
mov ecx, ebp
call fcn.0045f030
mov eax, esi
mov ecx, ebp
call fcn.0045f030
mov eax, edi
mov ecx, ebp
call fcn.0045f030
mov eax, esi
mov ecx, ebp
call fcn.0045f030
mov eax, ebx
mov ecx, ebp
call fcn.0045f030
lea ecx, [eax + edi*2 + 5]
movzx ecx, byte [ecx]
mov edx, dword [esp + 0x294]
mov dword [esp], edx
mov ebp, dword [esp + 0x88]
mov dword [esp + 4], ebp
mov edi, dword [esp + 0xe4]
mov dword [esp + 8], edi
movzx edi, word [esp + 0x4c]
mov word [esp + 0xc], di
mov word [esp + 0xe], bx
shl esi, 8
or ecx, esi
mov word [esp + 0x10], cx
mov word [esp + 0x12], 0xffff
call fcn.0060a100
mov eax, dword [esp + 0x88]
inc eax
mov ecx, dword [esp + 0xd4]
mov edx, dword [esp + 0x294]
mov ebx, dword [esp + 0x2c8]
mov ebp, dword [esp + 0x120]
mov esi, dword [esp + 0xe4]
mov ecx, dword [esp + 0x128]
mov edx, dword [esp + 0x2d0]
mov ebx, dword [esp + 0x2e0]
mov esi, dword [esp + 0xd4]
mov edi, dword [esp + 0x2c4]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x2c8]
mov ebx, dword [esp + 0x88]
cmp ebx, esi
jge 0x61811b
lea edx, [ebx + ebx*2]
mov dword [esp + 0x11c], edx
shl edx, 1
cmp edx, ebp
jae 0x61815b
mov edi, dword [esp + 0x11c]
lea esi, [eax + edi*2]
movzx esi, byte [esi]
lea ebx, [edx + 1]
cmp ebx, ebp
jae 0x618152
shl esi, 8
lea ebx, [eax + edi*2 + 1]
movzx ebx, byte [ebx]
or ebx, esi
lea esi, [edx + 2]
cmp esi, ebp
jae 0x618149
mov word [esp + 0x4c], bx
lea esi, [eax + edi*2 + 2]
movzx esi, byte [esi]
lea ebx, [edx + 3]
cmp ebx, ebp
jae 0x618140
shl esi, 8
lea ebx, [eax + edi*2 + 3]
movzx ebx, byte [ebx]
or ebx, esi
lea esi, [edx + 4]
cmp esi, ebp
jae 0x618137
lea esi, [eax + edi*2 + 4]
movzx esi, byte [esi]
add edx, 5
cmp edx, ebp
jb 0x617fef
jmp 0x61812e
mov ebx, dword [esp + 0x2e0]
mov eax, dword [esp + 0xdc]
jmp 0x6175a5
mov eax, edx
mov ecx, ebp
call fcn.0045f030
mov eax, esi
mov ecx, ebp
call fcn.0045f030
mov eax, ebx
mov ecx, ebp
call fcn.0045f030
mov eax, esi
mov ecx, ebp
call fcn.0045f030
mov eax, ebx
mov ecx, ebp
call fcn.0045f030
mov eax, edx
mov ecx, ebp
call fcn.0045f030
mov eax, dword [esp + 0x2a8]
mov dword [esp], eax
mov ecx, dword [esp + 0x8c]
mov dword [esp + 4], ecx
mov ebp, dword [esp + 0xe4]
mov dword [esp + 8], ebp
mov word [esp + 0xc], si
mov word [esp + 0xe], dx
mov word [esp + 0x10], bx
movzx edx, word [esp + 0x52]
mov word [esp + 0x12], dx
call fcn.0060a4f0
mov eax, dword [esp + 0x8c]
inc eax
mov ecx, dword [esp + 0xd4]
mov edx, dword [esp + 0x2a8]
movzx ebx, word [esp + 0x44]
mov ebp, dword [esp + 0x120]
mov esi, dword [esp + 0x2c8]
mov edi, dword [esp + 0xe4]
mov ecx, dword [esp + 0x128]
mov edx, ebx
movzx ebx, word [esp + 0x48]
mov esi, dword [esp + 0xd4]
movzx edi, word [esp + 0x46]
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x2c8]
mov ebx, dword [esp + 0x8c]
cmp ebx, esi
jge 0x6182ec
lea esi, [ebx + ebx*2]
mov dword [esp + 0x11c], esi
shl esi, 1
cmp esi, ebp
jae 0x61832c
mov ebx, dword [esp + 0x11c]
lea edi, [eax + ebx*2]
movzx edi, byte [edi]
lea edx, [esi + 1]
cmp edx, ebp
jae 0x618323
shl edi, 8
lea edx, [eax + ebx*2 + 1]
movzx edx, byte [edx]
or edx, edi
lea edi, [esi + 2]
cmp edi, ebp
jae 0x61831a
mov word [esp + 0x4e], dx
lea edi, [eax + ebx*2 + 2]
movzx edi, byte [edi]
lea edx, [esi + 3]
cmp edx, ebp
jae 0x618311
shl edi, 8
lea edx, [eax + ebx*2 + 3]
movzx edx, byte [edx]
or edx, edi
lea edi, [esi + 4]
cmp edi, ebp
jae 0x618308
lea edi, [eax + ebx*2 + 4]
movzx edi, byte [edi]
add esi, 5
cmp esi, ebp
jae 0x6182ff
shl edi, 8
lea ebx, [eax + ebx*2 + 5]
movzx ebx, byte [ebx]
or ebx, edi
movzx esi, word [esp + 0x4e]
movzx edi, word [esp + 0x44]
cmp si, di
jne 0x6182d1
movzx ecx, word [esp + 0x46]
cmp dx, cx
jne 0x6182ca
movzx ecx, word [esp + 0x48]
cmp bx, cx
jne 0x6182d6
mov dword [esp + 0x25c], eax
xor eax, eax
mov word [esp + 0x52], ax
jmp 0x618164
movzx ecx, word [esp + 0x48]
jmp 0x6182d6
movzx ecx, word [esp + 0x48]
mov dword [esp + 0x254], eax
mov eax, 0xffffffff
mov word [esp + 0x52], ax
jmp 0x618164
mov edx, dword [esp + 0x2d0]
mov edi, dword [esp + 0x2c4]
jmp 0x61811b
mov eax, esi
mov ecx, ebp
call fcn.0045f030
mov eax, edi
mov ecx, ebp
call fcn.0045f030
mov eax, edx
mov ecx, ebp
call fcn.0045f030
mov eax, edi
mov ecx, ebp
call fcn.0045f030
mov eax, edx
mov ecx, ebp
call fcn.0045f030
mov eax, esi
mov ecx, ebp
call fcn.0045f030
lea ecx, [eax + edx*4 + 3]
movzx ecx, byte [ecx]
mov ebx, dword [esp + 0x2a8]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov ebp, dword [esp + 0xe4]
mov dword [esp + 8], ebp
mov word [esp + 0xc], si
mov word [esp + 0xe], si
mov word [esp + 0x10], si
shl edi, 8
or ecx, edi
mov word [esp + 0x12], cx
call fcn.0060a4f0
mov eax, dword [esp + 0x90]
inc eax
mov ecx, dword [esp + 0xd4]
mov edx, dword [esp + 0x2a8]
mov ebx, dword [esp + 0x2c8]
mov ebp, dword [esp + 0x120]
mov esi, dword [esp + 0xe4]
mov ecx, dword [esp + 0x128]
mov edx, dword [esp + 0x2d0]
mov ebx, dword [esp + 0x2e0]
mov esi, dword [esp + 0xd4]
mov edi, dword [esp + 0x2c4]
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x2c8]
mov ebx, dword [esp + 0x90]
cmp ebx, esi
jge 0x61841c
shl ebx, 2
cmp ebx, ebp
jae 0x61844a
mov edx, dword [esp + 0x90]
lea edi, [eax + edx*4]
movzx edi, byte [edi]
lea esi, [ebx + 1]
cmp esi, ebp
jae 0x618441
shl edi, 8
lea esi, [eax + edx*4 + 1]
movzx esi, byte [esi]
or esi, edi
lea edi, [ebx + 2]
cmp edi, ebp
jae 0x618438
lea edi, [eax + edx*4 + 2]
movzx edi, byte [edi]
add ebx, 3
cmp ebx, ebp
jb 0x618335
jmp 0x61842f
mov ebx, dword [esp + 0x2e0]
mov eax, dword [esp + 0xdc]
jmp 0x6175a5
mov eax, ebx
mov ecx, ebp
call fcn.0045f030
mov eax, edi
mov ecx, ebp
call fcn.0045f030
mov eax, esi
mov ecx, ebp
call fcn.0045f030
mov eax, ebx
mov ecx, ebp
call fcn.0045f030
lea ecx, [eax + edx*2 + 1]
movzx ecx, byte [ecx]
mov ebx, dword [esp + 0x2b4]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov ebp, dword [esp + 0xe4]
mov dword [esp + 8], ebp
shl edi, 8
or ecx, edi
mov word [esp + 0xc], cx
call fcn.0060a9b0
mov eax, dword [esp + 0x94]
inc eax
mov ecx, dword [esp + 0xd4]
mov edx, dword [esp + 0x2b4]
mov ebx, dword [esp + 0x120]
mov ebp, dword [esp + 0xe4]
mov esi, dword [esp + 0x2c8]
mov ecx, dword [esp + 0x128]
mov edx, dword [esp + 0x2d0]
mov ebx, dword [esp + 0x2e0]
mov ebp, dword [esp + 0x120]
mov esi, dword [esp + 0xd4]
mov edi, dword [esp + 0x2c4]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x2c8]
mov ebx, dword [esp + 0x94]
cmp ebx, esi
jge 0x61850e
shl ebx, 1
cmp ebx, ebp
jae 0x61852a
mov edx, dword [esp + 0x94]
lea edi, [eax + edx*2]
movzx edi, byte [edi]
inc ebx
cmp ebx, ebp
jb 0x618453
jmp 0x618521
mov ebx, dword [esp + 0x2e0]
mov eax, dword [esp + 0xdc]
jmp 0x6175a5
mov eax, ebx
mov ecx, ebp
call fcn.0045f030
mov eax, ebx
mov ecx, ebp
call fcn.0045f030
mov eax, dword [esp + 0x2a8]
mov dword [esp], eax
mov dword [esp + 4], edi
mov ecx, dword [esp + 0xe4]
mov dword [esp + 8], ecx
mov word [esp + 0xc], dx
mov word [esp + 0xe], dx
mov word [esp + 0x10], dx
mov word [esp + 0x12], si
call fcn.0060a4f0
mov eax, dword [esp + 0x98]
inc eax
mov ecx, dword [esp + 0xd4]
mov edx, dword [esp + 0x2a8]
movzx ebx, word [esp + 0x42]
mov ebp, dword [esp + 0xe4]
mov esi, dword [esp + 0x2c8]
mov edi, dword [esp + 0x120]
mov ecx, dword [esp + 0x128]
mov edx, dword [esp + 0x2d0]
mov ebp, edi
mov esi, dword [esp + 0xd4]
mov edi, dword [esp + 0x2c4]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x2c8]
mov edx, dword [esp + 0x98]
cmp edx, esi
jge 0x618606
shl edx, 1
cmp edx, ebp
jae 0x61861b
mov edi, dword [esp + 0x98]
lea esi, [eax + edi*2]
movzx esi, byte [esi]
inc edx
cmp edx, ebp
jae 0x618612
shl esi, 8
lea edx, [eax + edi*2 + 1]
movzx edx, byte [edx]
or edx, esi
cmp dx, bx
jne 0x6185fc
xor esi, esi
jmp 0x618533
mov esi, 0xffffffff
jmp 0x618533
mov edx, dword [esp + 0x2d0]
jmp 0x61850e
mov eax, edx
mov ecx, ebp
call fcn.0045f030
mov eax, edx
mov ecx, ebp
call fcn.0045f030
mov eax, esi
mov ecx, ebx
call fcn.0045f090
mov ebx, dword [esi + 4]
mov edx, dword [esi]
mov edi, dword [esi + 8]
mov esi, dword [esp + 0xdc]
cmp esi, ebx
ja 0x6186a1
sub ebx, esi
sub edi, esi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edi, esi
add edx, edi
cmp ebx, ebp
jg 0x618657
mov ebp, ebx
cmp edx, eax
je 0x618679
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
call fcn.0045f930
mov ecx, dword [esp + 0x128]
mov esi, dword [esp + 0xdc]
mov ebp, dword [esp + 0x2a4]
mov ebp, dword [ebp + 0xc]
add ebp, esi
mov edx, dword [esp + 0x2d0]
mov ebx, dword [esp + 0x2e0]
mov edi, dword [esp + 0x2c4]
mov eax, ebp
jmp 0x6175a5
mov eax, esi
mov ecx, ebx
call fcn.0045f090
inc ebx
mov ebp, dword [esp + 0xd4]
mov edi, dword [esp + 0x120]
mov ebp, edi
mov edi, dword [esp + 0x2c4]
mov dword [esp + 0x9c], ebx
mov ebx, dword [esp + 0x2e0]
mov ebx, dword [esp + 0x9c]
mov edi, dword [esp + 0xd4]
cmp ebx, edi
jge 0x61870e
mov edi, dword [esi + 0x28]
mov esi, dword [esi + 0x24]
cmp ebx, ebp
jae 0x61872a
movzx ebp, byte [ebx + eax]
cmp esi, ebp
jg 0x618705
inc ebp
cmp edi, ebp
jb 0x618721
mov esi, dword [esp + 0x2a4]
mov dword [esi + 0x24], ebp
jmp 0x6186aa
mov esi, dword [esp + 0x2a4]
jmp 0x6186aa
mov ebx, dword [esp + 0x2e0]
mov edi, dword [esp + 0x2c4]
jmp 0x61862d
mov ecx, ebp
mov edx, edi
call fcn.0045f070
mov eax, ebx
mov ecx, ebp
call fcn.0045f030
lea ebx, [edi + 2]
mov ebp, dword [esp + 0x2a4]
mov edi, dword [esp + 0xe4]
mov ebp, dword [esp + 0x120]
mov edi, dword [esp + 0x2c4]
mov dword [esp + 0xa0], ebx
mov ebx, dword [esp + 0x2e0]
mov ebx, dword [esp + 0xa0]
cmp ebx, esi
jge 0x6187a4
shr ebx, 0x1f
mov edi, dword [esp + 0xa0]
add ebx, edi
sar ebx, 1
cmp ebx, ebp
jae 0x6188dd
movzx ebx, byte [ebx + eax]
mov dword [esp + 0x224], eax
xor eax, eax
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x224]
jmp 0x6187df
mov edi, dword [esp + 0xa0]
jmp 0x618733
mov ebx, dword [esp + 0x2e0]
mov eax, dword [esp + 0xdc]
jmp 0x6175a5
mov ebx, dword [esp + 0x60]
inc ebx
movzx esi, byte [esp + 0x33]
shl esi, 4
mov edi, dword [esp + 0xa0]
mov ebp, dword [esp + 0x120]
mov dword [esp + 0x60], ebx
mov ebx, esi
mov esi, dword [esp + 0xd4]
mov ebp, dword [esp + 0x60]
cmp ebp, 2
jge 0x618733
add edi, ebp
cmp esi, edi
jle 0x61879b
mov byte [esp + 0x33], bl
shr bl, 4
mov byte [esp + 0x2e], bl
mov esi, dword [esp + 0x2a4]
mov ebp, dword [esi + 0x28]
movzx ebx, bl
cmp dword [esi + 0x24], ebx
jg 0x61881b
inc ebx
cmp ebp, ebx
jb 0x6188d4
mov dword [esi + 0x24], ebx
mov ebx, dword [esi + 0x10]
mov ebp, dword [esi + 0x14]
mov dword [esp + 0x11c], ebp
mov ebp, dword [esi + 0x18]
mov esi, dword [esi + 0x1c]
cmp ebx, edi
jg 0x6188bf
cmp ebp, edi
jle 0x6188b3
mov dword [esp + 0x118], ebx
mov ebp, dword [esp + 0xe4]
mov ebx, dword [esp + 0x11c]
cmp ebp, ebx
jl 0x6187b7
cmp ebp, esi
jge 0x6187b7
mov dword [esp + 0x11c], edi
nop
mov esi, dword [esp + 0x2a4]
mov edi, dword [esi + 4]
mov dword [esp + 0x114], edi
mov edi, dword [esi]
sub ebp, ebx
imul ebp, dword [esi + 0xc]
mov ebx, dword [esp + 0x11c]
mov esi, dword [esp + 0x118]
sub ebx, esi
add ebx, ebp
mov ebp, dword [esp + 0x114]
cmp ebp, ebx
jbe 0x6188cb
movzx ebp, byte [esp + 0x2e]
xchg ebp, eax
mov byte [edi + ebx], al
xchg ebp, eax
mov ebp, dword [esp + 0xe4]
jmp 0x6187b7
mov ebp, dword [esp + 0xe4]
jmp 0x6187b7
mov ebp, dword [esp + 0xe4]
jmp 0x6187b7
mov eax, ebx
mov ecx, ebp
call fcn.0045f030
mov ecx, ebx
mov edx, ebp
call fcn.0045f070
mov eax, ebx
mov ecx, ebp
call fcn.0045f030
lea ebx, [edi + 4]
mov ebp, dword [esp + 0x2a4]
mov edi, dword [esp + 0xe4]
mov ebp, dword [esp + 0x120]
mov edi, dword [esp + 0x2c4]
mov dword [esp + 0xa4], ebx
mov ebx, dword [esp + 0x2e0]
mov ebx, dword [esp + 0xa4]
cmp ebx, esi
jge 0x61895b
sar ebx, 0x1f
shr ebx, 0x1e
mov edi, dword [esp + 0xa4]
add ebx, edi
sar ebx, 2
cmp ebx, ebp
jae 0x618a94
movzx ebx, byte [ebx + eax]
mov dword [esp + 0x214], eax
xor eax, eax
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x214]
jmp 0x618996
mov edi, dword [esp + 0xa4]
jmp 0x6188e6
mov ebx, dword [esp + 0x2e0]
mov eax, dword [esp + 0xdc]
jmp 0x6175a5
mov ebx, dword [esp + 0x64]
inc ebx
movzx esi, byte [esp + 0x34]
shl esi, 2
mov edi, dword [esp + 0xa4]
mov ebp, dword [esp + 0x120]
mov dword [esp + 0x64], ebx
mov ebx, esi
mov esi, dword [esp + 0xd4]
mov ebp, dword [esp + 0x64]
cmp ebp, 4
jge 0x6188e6
add edi, ebp
cmp esi, edi
jle 0x618952
mov byte [esp + 0x34], bl
shr bl, 6
mov byte [esp + 0x2f], bl
mov esi, dword [esp + 0x2a4]
mov ebp, dword [esi + 0x28]
movzx ebx, bl
cmp dword [esi + 0x24], ebx
jg 0x6189d2
inc ebx
cmp ebp, ebx
jb 0x618a8b
mov dword [esi + 0x24], ebx
mov ebx, dword [esi + 0x10]
mov ebp, dword [esi + 0x14]
mov dword [esp + 0x11c], ebp
mov ebp, dword [esi + 0x18]
mov esi, dword [esi + 0x1c]
cmp ebx, edi
jg 0x618a76
cmp ebp, edi
jle 0x618a6a
mov dword [esp + 0x118], ebx
mov ebp, dword [esp + 0xe4]
mov ebx, dword [esp + 0x11c]
cmp ebp, ebx
jl 0x61896e
cmp ebp, esi
jge 0x61896e
mov dword [esp + 0x11c], edi
nop
mov esi, dword [esp + 0x2a4]
mov edi, dword [esi + 4]
mov dword [esp + 0x114], edi
mov edi, dword [esi]
sub ebp, ebx
imul ebp, dword [esi + 0xc]
mov ebx, dword [esp + 0x11c]
mov esi, dword [esp + 0x118]
sub ebx, esi
add ebx, ebp
mov ebp, dword [esp + 0x114]
cmp ebp, ebx
jbe 0x618a82
movzx ebp, byte [esp + 0x2f]
xchg ebp, eax
mov byte [edi + ebx], al
xchg ebp, eax
mov ebp, dword [esp + 0xe4]
jmp 0x61896e
mov ebp, dword [esp + 0xe4]
jmp 0x61896e
mov ebp, dword [esp + 0xe4]
jmp 0x61896e
mov eax, ebx
mov ecx, ebp
call fcn.0045f030
mov ecx, ebx
mov edx, ebp
call fcn.0045f070
mov eax, ebx
mov ecx, ebp
call fcn.0045f030
lea ebx, [edi + 8]
mov ebp, dword [esp + 0x2a4]
mov edi, dword [esp + 0xe4]
mov ebp, dword [esp + 0x120]
mov edi, dword [esp + 0x2c4]
mov dword [esp + 0xa8], ebx
mov ebx, dword [esp + 0x2e0]
mov ebx, dword [esp + 0xa8]
cmp ebx, esi
jge 0x618b12
sar ebx, 0x1f
shr ebx, 0x1d
mov edi, dword [esp + 0xa8]
add ebx, edi
sar ebx, 3
cmp ebx, ebp
jae 0x618c4a
movzx ebx, byte [ebx + eax]
mov dword [esp + 0x204], eax
xor eax, eax
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x204]
jmp 0x618b4c
mov edi, dword [esp + 0xa8]
jmp 0x618a9d
mov ebx, dword [esp + 0x2e0]
mov eax, dword [esp + 0xdc]
jmp 0x6175a5
mov ebx, dword [esp + 0x68]
inc ebx
movzx esi, byte [esp + 0x35]
shl esi, 1
mov edi, dword [esp + 0xa8]
mov ebp, dword [esp + 0x120]
mov dword [esp + 0x68], ebx
mov ebx, esi
mov esi, dword [esp + 0xd4]
mov ebp, dword [esp + 0x68]
cmp ebp, 8
jge 0x618a9d
add edi, ebp
cmp esi, edi
jle 0x618b09
mov byte [esp + 0x35], bl
shr bl, 7
mov byte [esp + 0x30], bl
mov esi, dword [esp + 0x2a4]
mov ebp, dword [esi + 0x28]
movzx ebx, bl
cmp dword [esi + 0x24], ebx
jg 0x618b88
inc ebx
cmp ebp, ebx
jb 0x618c41
mov dword [esi + 0x24], ebx
mov ebx, dword [esi + 0x10]
mov ebp, dword [esi + 0x14]
mov dword [esp + 0x11c], ebp
mov ebp, dword [esi + 0x18]
mov esi, dword [esi + 0x1c]
cmp ebx, edi
jg 0x618c2c
cmp ebp, edi
jle 0x618c20
mov dword [esp + 0x118], ebx
mov ebp, dword [esp + 0xe4]
mov ebx, dword [esp + 0x11c]
cmp ebp, ebx
jl 0x618b25
cmp ebp, esi
jge 0x618b25
mov dword [esp + 0x11c], edi
nop
mov esi, dword [esp + 0x2a4]
mov edi, dword [esi + 4]
mov dword [esp + 0x114], edi
mov edi, dword [esi]
sub ebp, ebx
imul ebp, dword [esi + 0xc]
mov ebx, dword [esp + 0x11c]
mov esi, dword [esp + 0x118]
sub ebx, esi
add ebx, ebp
mov ebp, dword [esp + 0x114]
cmp ebp, ebx
jbe 0x618c38
movzx ebp, byte [esp + 0x30]
xchg ebp, eax
mov byte [edi + ebx], al
xchg ebp, eax
mov ebp, dword [esp + 0xe4]
jmp 0x618b25
mov ebp, dword [esp + 0xe4]
jmp 0x618b25
mov ebp, dword [esp + 0xe4]
jmp 0x618b25
mov eax, ebx
mov ecx, ebp
call fcn.0045f030
mov ecx, ebx
mov edx, ebp
call fcn.0045f070
mov eax, ebx
mov ecx, ebp
call fcn.0045f030
mov byte [ebp + edi + 3], 0xff
mov ebx, dword [esp + 0xac]
inc ebx
add ebp, 4
add esi, 3
mov dword [esp + 0xac], ebx
mov dword [esp + 0xf4], ebp
mov dword [esp + 0xe8], esi
mov ebx, dword [esp + 0x2e0]
mov ebp, dword [esp + 0x120]
mov esi, dword [esp + 0x2d8]
mov ebx, dword [esp + 0xac]
mov esi, dword [esp + 0xd4]
cmp ebx, esi
jge 0x618d2c
mov esi, dword [esp + 0xe8]
cmp esi, ebp
jae 0x618d91
movzx ebx, byte [esi + eax]
mov ebp, dword [esp + 0xf4]
cmp ebp, edx
jae 0x618d88
mov byte [edi + ebp], bl
lea ebx, [esi + 1]
mov edi, dword [esp + 0x120]
cmp ebx, edi
jae 0x618d7f
lea ebx, [ebp + 1]
movzx edi, byte [esi + eax + 1]
cmp edx, ebx
jbe 0x618d76
mov ebx, dword [esp + 0x298]
xchg edi, eax
mov byte [ebp + ebx + 1], al
xchg edi, eax
lea edi, [esi + 2]
mov ebx, dword [esp + 0x120]
cmp edi, ebx
jae 0x618d6d
lea edi, [ebp + 2]
movzx ebx, byte [esi + eax + 2]
cmp edx, edi
jbe 0x618d64
mov edi, dword [esp + 0x298]
mov byte [ebp + edi + 2], bl
lea ebx, [ebp + 3]
cmp edx, ebx
ja 0x618c53
jmp 0x618d5b
mov eax, dword [esp + 0x2d8]
mov edx, dword [eax + 0xc]
mov ebx, dword [esp + 0xdc]
add edx, ebx
mov ebx, dword [esp + 0x2e0]
mov edi, dword [esp + 0x2c4]
mov eax, edx
mov edx, dword [esp + 0x2d0]
jmp 0x6175a5
mov eax, ebx
mov ecx, edx
call fcn.0045f030
mov eax, edi
mov ecx, edx
call fcn.0045f030
mov eax, edi
mov ecx, ebx
call fcn.0045f030
mov eax, ebx
mov ecx, edx
call fcn.0045f030
mov eax, ebx
mov ecx, edi
call fcn.0045f030
mov eax, ebp
mov ecx, edx
call fcn.0045f030
mov eax, esi
mov ecx, ebp
call fcn.0045f030
movzx ebx, byte [esp + 0x40]
mov byte [ebp + edi + 3], bl
mov ebx, dword [esp + 0xb0]
inc ebx
add ebp, 4
mov esi, dword [esp + 0xec]
add esi, 3
movzx edx, byte [esp + 0x2d]
movzx edi, byte [esp + 0x2c]
mov dword [esp + 0xb0], ebx
mov dword [esp + 0xf8], ebp
mov dword [esp + 0xec], esi
mov ebx, dword [esp + 0x2e0]
mov ebp, dword [esp + 0x120]
movzx esi, byte [esp + 0x2b]
mov ebx, dword [esp + 0xb0]
mov edx, dword [esp + 0xd4]
cmp ebx, edx
jge 0x618eec
mov edx, dword [esp + 0xec]
cmp edx, ebp
jae 0x618f45
movzx ebx, byte [edx + eax]
lea edi, [edx + 1]
cmp edi, ebp
jae 0x618f3c
movzx edi, byte [edx + eax + 1]
xchg edi, eax
mov byte [esp + 0x31], al
xchg edi, eax
lea edi, [edx + 2]
cmp edi, ebp
jae 0x618f33
movzx edi, byte [edx + eax + 2]
xchg esi, eax
cmp bl, al
xchg esi, eax
jne 0x618e7f
movzx esi, byte [esp + 0x31]
movzx ebp, byte [esp + 0x2c]
xchg esi, eax
xchg ebp, ebx
cmp al, bl
xchg ebp, ebx
xchg esi, eax
jne 0x618e78
movzx ebp, byte [esp + 0x2d]
xchg edi, eax
xchg ebp, ebx
cmp al, bl
xchg ebp, ebx
xchg edi, eax
jne 0x618e89
mov dword [esp + 0x1dc], eax
xor eax, eax
mov byte [esp + 0x40], al
mov eax, dword [esp + 0x1dc]
jmp 0x618ea0
movzx ebp, byte [esp + 0x2d]
jmp 0x618e89
movzx ebp, byte [esp + 0x2d]
movzx esi, byte [esp + 0x31]
mov dword [esp + 0x1d4], eax
mov eax, 0xffffffff
mov byte [esp + 0x40], al
mov eax, dword [esp + 0x1d4]
mov ebp, dword [esp + 0xf8]
mov edx, dword [esp + 0xe0]
cmp ebp, edx
jae 0x618f2a
xchg edi, eax
mov byte [esp + 0x36], al
xchg edi, eax
mov edi, dword [esp + 0x29c]
mov byte [edi + ebp], bl
lea ebx, [ebp + 1]
cmp edx, ebx
jbe 0x618f21
xchg esi, eax
mov byte [ebp + edi + 1], al
xchg esi, eax
lea ebx, [ebp + 2]
cmp edx, ebx
jbe 0x618f18
movzx ebx, byte [esp + 0x36]
mov byte [ebp + edi + 2], bl
lea ebx, [ebp + 3]
cmp edx, ebx
ja 0x618d9a
jmp 0x618f0f
mov ebx, dword [esp + 0x2ac]
mov ebp, dword [ebx + 0xc]
mov edi, dword [esp + 0xdc]
add ebp, edi
mov eax, dword [esp + 0x2d8]
mov esi, edx
mov edx, ebp
jmp 0x618d3f
mov eax, ebx
mov ecx, edx
call fcn.0045f030
mov eax, ebx
mov ecx, edx
call fcn.0045f030
mov eax, ebx
mov ecx, edx
call fcn.0045f030
mov eax, ebp
mov ecx, edx
call fcn.0045f030
mov eax, edi
mov ecx, ebp
call fcn.0045f030
mov eax, edi
mov ecx, ebp
call fcn.0045f030
mov eax, edx
mov ecx, ebp
call fcn.0045f030
lea ecx, [eax + edx*2 + 1]
movzx ecx, byte [ecx]
mov ebx, dword [esp + 0x2ac]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov ebp, dword [esp + 0xe4]
mov dword [esp + 8], ebp
xchg edi, eax
mov byte [esp + 0xc], al
xchg edi, eax
xchg edi, eax
mov byte [esp + 0xd], al
xchg edi, eax
xchg edi, eax
mov byte [esp + 0xe], al
xchg edi, eax
mov byte [esp + 0xf], cl
call fcn.0060a310
mov eax, dword [esp + 0xb4]
inc eax
mov ecx, dword [esp + 0xd4]
mov edx, dword [esp + 0x2ac]
mov ebx, dword [esp + 0x120]
mov ebp, dword [esp + 0xe4]
mov esi, dword [esp + 0x2c8]
mov ecx, dword [esp + 0x128]
mov edx, dword [esp + 0x2d0]
mov ebx, dword [esp + 0x2e0]
mov ebp, dword [esp + 0x120]
mov esi, dword [esp + 0xd4]
mov edi, dword [esp + 0x2c4]
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0x2c8]
mov ebx, dword [esp + 0xb4]
cmp ebx, esi
jge 0x619015
shl ebx, 1
cmp ebx, ebp
jae 0x619031
mov edx, dword [esp + 0xb4]
lea edi, [eax + edx*2]
movzx edi, byte [edi]
inc ebx
cmp ebx, ebp
jb 0x618f4e
jmp 0x619028
mov ebx, dword [esp + 0x2e0]
mov eax, dword [esp + 0xdc]
jmp 0x6175a5
mov eax, ebx
mov ecx, ebp
call fcn.0045f030
mov eax, ebx
mov ecx, ebp
call fcn.0045f030
mov edx, dword [esp + 0x2d0]
mov edi, dword [esp + 0x2c4]
mov eax, ebx
mov ebx, dword [esp + 0x2e0]
jmp 0x6175a5
mov eax, esi
mov ecx, ebx
call fcn.0045f090
mov eax, dword [esp + 0x2ac]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov edx, dword [esp + 0xe4]
mov dword [esp + 8], edx
mov byte [esp + 0xc], cl
mov byte [esp + 0xd], cl
mov byte [esp + 0xe], cl
movzx ecx, byte [esp + 0x3d]
mov byte [esp + 0xf], cl
call fcn.0060a310
mov eax, dword [esp + 0xb8]
inc eax
mov ecx, dword [esp + 0xd4]
mov edx, dword [esp + 0x2ac]
movzx ebx, byte [esp + 0x27]
mov ebp, dword [esp + 0xe4]
mov esi, dword [esp + 0x2c8]
mov edi, dword [esp + 0x120]
mov ecx, dword [esp + 0x128]
mov edx, dword [esp + 0x2d0]
mov ebx, dword [esp + 0x2e0]
mov ebp, edi
movzx esi, byte [esp + 0x27]
mov edi, dword [esp + 0x2c4]
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x2c8]
mov ebx, dword [esp + 0xb8]
mov edx, dword [esp + 0xd4]
cmp ebx, edx
jge 0x61913a
cmp ebx, ebp
jae 0x61914d
movzx ecx, byte [ebx + eax]
xchg esi, eax
cmp cl, al
xchg esi, eax
jne 0x619125
mov dword [esp + 0x1b4], eax
xor eax, eax
mov byte [esp + 0x3d], al
jmp 0x61905f
mov dword [esp + 0x1bc], eax
mov eax, 0xffffffff
mov byte [esp + 0x3d], al
jmp 0x61905f
mov eax, dword [esp + 0x2b8]
mov ebx, dword [esp + 0xdc]
jmp 0x61903a
mov eax, ebx
mov ecx, ebp
call fcn.0045f030
add edx, 2
mov ebx, dword [esp + 0x2b8]
mov edi, dword [esp + 0xe4]
mov ebx, dword [esp + 0x2e0]
mov edi, dword [esp + 0x2c4]
mov dword [esp + 0xbc], edx
mov edx, dword [esp + 0x2d0]
mov ebx, dword [esp + 0xbc]
cmp ebx, esi
jge 0x6191c7
shr ebx, 0x1f
mov edx, dword [esp + 0xbc]
add ebx, edx
sar ebx, 1
cmp ebx, ebp
jae 0x6192d4
movzx ebx, byte [ebx + eax]
mov dword [esp + 0x1a4], eax
xor eax, eax
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x1a4]
jmp 0x619210
mov ebp, dword [esp + 0x120]
jmp 0x619156
mov ebx, dword [esp + 0x2e0]
mov eax, dword [esp + 0xdc]
jmp 0x6175a5
mov edx, dword [esp + 0x6c]
inc edx
movzx ebx, byte [esp + 0x37]
shl ebx, 4
mov ebp, dword [esp + 0xbc]
mov edi, dword [esp + 0xd4]
mov ebp, dword [esp + 0x120]
mov esi, edi
mov edi, dword [esp + 0x2c4]
mov dword [esp + 0x6c], edx
mov edx, dword [esp + 0xbc]
mov edi, dword [esp + 0x6c]
cmp edi, 2
jge 0x619156
lea ebp, [edi + edx]
cmp esi, ebp
jle 0x6191be
mov byte [esp + 0x37], bl
shr bl, 4
mov byte [esp + 0x41], bl
shl ebx, 4
movzx esi, byte [esp + 0x41]
add ebx, esi
mov byte [esp + 0x32], bl
mov esi, dword [esp + 0x2b8]
mov ebx, dword [esi + 0x10]
mov edx, dword [esi + 0x14]
mov edi, dword [esi + 0x18]
mov esi, dword [esi + 0x1c]
cmp ebx, ebp
jg 0x6192b8
cmp edi, ebp
jle 0x6192af
mov edi, dword [esp + 0xe4]
cmp edi, edx
jl 0x6192bf
cmp edi, esi
jge 0x6192bf
mov dword [esp + 0x11c], ebx
nop
mov esi, dword [esp + 0x2b8]
mov ebx, dword [esi + 4]
mov dword [esp + 0x118], ebx
mov ebx, dword [esi]
sub edi, edx
imul edi, dword [esi + 0xc]
mov edx, dword [esp + 0x11c]
sub ebp, edx
lea edx, [ebp + edi]
mov ebp, dword [esp + 0x118]
cmp ebp, edx
jbe 0x6192cb
movzx ebp, byte [esp + 0x32]
xchg ebp, eax
mov byte [ebx + edx], al
xchg ebp, eax
jmp 0x6191da
mov edi, dword [esp + 0xe4]
jmp 0x6192bf
mov edi, dword [esp + 0xe4]
mov esi, dword [esp + 0x2b8]
jmp 0x6191da
mov eax, edx
mov ecx, ebp
call fcn.0045f030
mov eax, ebx
mov ecx, ebp
call fcn.0045f030
lea ebx, [edi + 2]
mov ebp, dword [esp + 0x2ac]
mov edi, dword [esp + 0xe4]
mov edx, dword [esp + 0x2d0]
mov ebp, dword [esp + 0x120]
mov edi, dword [esp + 0x2c4]
mov dword [esp + 0xc0], ebx
mov ebx, dword [esp + 0x2e0]
mov ebx, dword [esp + 0xc0]
mov edx, dword [esp + 0xd4]
cmp ebx, edx
jge 0x619356
shr ebx, 0x1f
mov edi, dword [esp + 0xc0]
add ebx, edi
sar ebx, 1
cmp ebx, ebp
jae 0x619428
movzx ebx, byte [ebx + eax]
mov dword [esp + 0x194], eax
xor eax, eax
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x194]
jmp 0x6193e5
mov edx, dword [esp + 0x2d0]
mov esi, dword [esp + 0xd4]
jmp 0x6191c7
mov eax, dword [esp + 0x2ac]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov edx, dword [esp + 0xe4]
mov dword [esp + 8], edx
mov byte [esp + 0xc], cl
mov byte [esp + 0xd], cl
mov byte [esp + 0xe], cl
mov byte [esp + 0xf], bl
call fcn.0060a310
mov eax, dword [esp + 0x70]
inc eax
movzx ebx, byte [esp + 0x38]
shl ebx, 4
mov ecx, dword [esp + 0xc0]
mov edx, dword [esp + 0xd4]
mov ebp, dword [esp + 0x2ac]
movzx esi, byte [esp + 0x28]
mov edi, dword [esp + 0xe4]
mov ecx, dword [esp + 0x128]
mov ebp, dword [esp + 0x120]
mov edi, dword [esp + 0xc0]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x2c8]
mov ebp, dword [esp + 0x70]
cmp ebp, 2
jge 0x6192dd
add ebp, edi
cmp edx, ebp
jle 0x6192dd
mov byte [esp + 0x38], bl
shr bl, 4
mov byte [esp + 0x41], bl
shl ebx, 4
movzx ecx, byte [esp + 0x41]
add ecx, ebx
xchg esi, eax
cmp al, cl
xchg esi, eax
jne 0x61941e
xor ebx, ebx
jmp 0x619369
mov ebx, 0xffffffff
jmp 0x619369
mov eax, ebx
mov ecx, ebp
call fcn.0045f030
add edx, 4
mov ebx, dword [esp + 0x2b8]
mov edi, dword [esp + 0xe4]
mov ebx, dword [esp + 0x2e0]
mov edi, dword [esp + 0x2c4]
mov dword [esp + 0xc4], edx
mov edx, dword [esp + 0x2d0]
mov ebx, dword [esp + 0xc4]
cmp ebx, esi
jge 0x6194a6
sar ebx, 0x1f
shr ebx, 0x1e
mov edx, dword [esp + 0xc4]
add ebx, edx
sar ebx, 2
cmp ebx, ebp
jae 0x6195af
movzx ebx, byte [ebx + eax]
mov dword [esp + 0x184], eax
xor eax, eax
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x184]
jmp 0x6194f1
mov ebp, dword [esp + 0x120]
jmp 0x619431
mov ebx, dword [esp + 0x2e0]
mov eax, dword [esp + 0xdc]
jmp 0x6175a5
mov edx, dword [esp + 0x74]
inc edx
shl edi, 2
mov ebx, dword [esp + 0xc4]
mov ebp, dword [esp + 0xd4]
mov ebp, dword [esp + 0x120]
mov esi, dword [esp + 0xd4]
mov dword [esp + 0x74], edx
mov ebx, edi
mov edx, dword [esp + 0xc4]
mov edi, dword [esp + 0x2c4]
mov edi, dword [esp + 0x74]
cmp edi, 4
jge 0x619431
lea ebp, [edi + edx]
cmp esi, ebp
jle 0x61949d
mov byte [esp + 0x39], bl
mov esi, dword [esp + 0x2b8]
mov edx, dword [esi + 0x10]
mov ebx, dword [esi + 0x14]
mov edi, dword [esi + 0x18]
mov esi, dword [esi + 0x1c]
cmp edx, ebp
jg 0x61958e
cmp edi, ebp
jle 0x619585
mov edi, dword [esp + 0xe4]
cmp edi, ebx
jl 0x619595
cmp edi, esi
jge 0x619595
mov dword [esp + 0x11c], edx
nop
mov esi, dword [esp + 0x2b8]
mov edx, dword [esi + 4]
mov dword [esp + 0x118], edx
mov edx, dword [esi]
sub edi, ebx
imul edi, dword [esi + 0xc]
mov ebx, dword [esp + 0x11c]
sub ebp, ebx
lea ebx, [ebp + edi]
mov ebp, dword [esp + 0x118]
cmp ebp, ebx
jbe 0x6195a6
movzx ebp, byte [esp + 0x39]
mov edi, ebp
xchg ebp, eax
shr al, 6
xchg ebp, eax
imul ebp, ebp, 0x55
xchg ebp, eax
mov byte [edx + ebx], al
xchg ebp, eax
jmp 0x6194b9
mov edi, dword [esp + 0xe4]
jmp 0x619595
mov edi, dword [esp + 0xe4]
mov esi, dword [esp + 0x2b8]
movzx edi, byte [esp + 0x39]
jmp 0x6194b9
mov eax, ebx
mov ecx, ebp
call fcn.0045f030
mov eax, ebx
mov ecx, ebp
call fcn.0045f030
lea ebx, [edi + 4]
mov ebp, dword [esp + 0x2ac]
mov edi, dword [esp + 0xe4]
mov edx, dword [esp + 0x2d0]
mov ebp, dword [esp + 0x120]
mov edi, dword [esp + 0x2c4]
mov dword [esp + 0xc8], ebx
mov ebx, dword [esp + 0x2e0]
mov ebx, dword [esp + 0xc8]
mov edx, dword [esp + 0xd4]
cmp ebx, edx
jge 0x619635
sar ebx, 0x1f
shr ebx, 0x1e
mov edi, dword [esp + 0xc8]
add ebx, edi
sar ebx, 2
cmp ebx, ebp
jae 0x619717
movzx ebx, byte [ebx + eax]
mov dword [esp + 0x174], eax
xor eax, eax
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x174]
jmp 0x6196c9
mov edx, dword [esp + 0x2d0]
mov esi, dword [esp + 0xd4]
jmp 0x6194a6
mov eax, dword [esp + 0x2ac]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov ecx, dword [esp + 0xe4]
mov dword [esp + 8], ecx
mov byte [esp + 0xc], bl
mov byte [esp + 0xd], bl
mov byte [esp + 0xe], bl
movzx edx, byte [esp + 0x3e]
mov byte [esp + 0xf], dl
call fcn.0060a310
mov eax, dword [esp + 0x78]
inc eax
movzx ebx, byte [esp + 0x3a]
shl ebx, 2
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0xd4]
mov ebp, dword [esp + 0x2ac]
movzx esi, byte [esp + 0x29]
mov edi, dword [esp + 0xe4]
mov ecx, dword [esp + 0x128]
mov ebp, dword [esp + 0x120]
mov edi, dword [esp + 0xc8]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x2c8]
mov ebp, dword [esp + 0x78]
cmp ebp, 4
jge 0x6195b8
add ebp, edi
cmp edx, ebp
jle 0x6195b8
mov byte [esp + 0x3a], bl
shr bl, 6
imul ebx, ebx, 0x55
xchg esi, eax
cmp al, bl
xchg esi, eax
jne 0x619702
mov dword [esp + 0x164], eax
xor eax, eax
mov byte [esp + 0x3e], al
jmp 0x619648
mov dword [esp + 0x16c], eax
mov eax, 0xffffffff
mov byte [esp + 0x3e], al
jmp 0x619648
mov eax, ebx
mov ecx, ebp
call fcn.0045f030
add edx, 8
mov ebx, dword [esp + 0x2b8]
mov edi, dword [esp + 0xe4]
mov ebx, dword [esp + 0x2e0]
mov edi, dword [esp + 0x2c4]
mov dword [esp + 0xcc], edx
mov edx, dword [esp + 0x2d0]
mov ebx, dword [esp + 0xcc]
cmp ebx, esi
jge 0x619795
sar ebx, 0x1f
shr ebx, 0x1d
mov edx, dword [esp + 0xcc]
add ebx, edx
sar ebx, 3
cmp ebx, ebp
jae 0x6198a0
movzx ebx, byte [ebx + eax]
mov dword [esp + 0x154], eax
xor eax, eax
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x154]
jmp 0x6197df
mov ebp, dword [esp + 0x120]
jmp 0x619720
mov ebx, dword [esp + 0x2e0]
mov eax, dword [esp + 0xdc]
jmp 0x6175a5
mov edx, dword [esp + 0x7c]
inc edx
shl edi, 1
mov ebx, dword [esp + 0xcc]
mov ebp, dword [esp + 0xd4]
mov ebp, dword [esp + 0x120]
mov esi, dword [esp + 0xd4]
mov dword [esp + 0x7c], edx
mov ebx, edi
mov edx, dword [esp + 0xcc]
mov edi, dword [esp + 0x2c4]
mov edi, dword [esp + 0x7c]
cmp edi, 8
jge 0x619720
lea ebp, [edi + edx]
cmp esi, ebp
jle 0x61978c
mov byte [esp + 0x3b], bl
mov esi, dword [esp + 0x2b8]
mov edx, dword [esi + 0x10]
mov ebx, dword [esi + 0x14]
mov edi, dword [esi + 0x18]
mov esi, dword [esi + 0x1c]
cmp edx, ebp
jg 0x61987f
cmp edi, ebp
jle 0x619876
mov edi, dword [esp + 0xe4]
cmp edi, ebx
jl 0x619886
cmp edi, esi
jge 0x619886
mov dword [esp + 0x11c], edx
nop
mov esi, dword [esp + 0x2b8]
mov edx, dword [esi + 4]
mov dword [esp + 0x118], edx
mov edx, dword [esi]
sub edi, ebx
imul edi, dword [esi + 0xc]
mov ebx, dword [esp + 0x11c]
sub ebp, ebx
lea ebx, [ebp + edi]
mov ebp, dword [esp + 0x118]
cmp ebp, ebx
jbe 0x619897
movzx ebp, byte [esp + 0x3b]
mov edi, ebp
xchg ebp, eax
shr al, 7
xchg ebp, eax
xchg ebp, ebx
neg ebx
xchg ebp, ebx
xchg ebp, eax
mov byte [edx + ebx], al
xchg ebp, eax
jmp 0x6197a8
mov edi, dword [esp + 0xe4]
jmp 0x619886
mov edi, dword [esp + 0xe4]
mov esi, dword [esp + 0x2b8]
movzx edi, byte [esp + 0x3b]
jmp 0x6197a8
mov eax, ebx
mov ecx, ebp
call fcn.0045f030
mov eax, ebx
mov ecx, ebp
call fcn.0045f030
lea ebx, [edi + 8]
mov ebp, dword [esp + 0x2ac]
mov edi, dword [esp + 0xe4]
mov edx, dword [esp + 0x2d0]
mov ebp, dword [esp + 0x120]
mov edi, dword [esp + 0x2c4]
mov dword [esp + 0xd0], ebx
mov ebx, dword [esp + 0x2e0]
mov ebx, dword [esp + 0xd0]
mov edx, dword [esp + 0xd4]
cmp ebx, edx
jge 0x619929
sar ebx, 0x1f
shr ebx, 0x1d
mov edi, dword [esp + 0xd0]
add ebx, edi
sar ebx, 3
cmp ebx, ebp
jae 0x619a12
movzx ebx, byte [ebx + eax]
mov dword [esp + 0x144], eax
xor eax, eax
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x144]
jmp 0x6199c2
mov edx, dword [esp + 0x2d0]
mov esi, dword [esp + 0xd4]
jmp 0x619795
mov eax, dword [esp + 0x2ac]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov ecx, dword [esp + 0xe4]
mov dword [esp + 8], ecx
mov byte [esp + 0xc], bl
mov byte [esp + 0xd], bl
mov byte [esp + 0xe], bl
movzx edx, byte [esp + 0x3f]
mov byte [esp + 0xf], dl
call fcn.0060a310
mov eax, dword [esp + 0x80]
inc eax
movzx ebx, byte [esp + 0x3c]
shl ebx, 1
mov ecx, dword [esp + 0xd0]
mov edx, dword [esp + 0xd4]
mov ebp, dword [esp + 0x2ac]
movzx esi, byte [esp + 0x2a]
mov edi, dword [esp + 0xe4]
mov ecx, dword [esp + 0x128]
mov ebp, dword [esp + 0x120]
mov edi, dword [esp + 0xd0]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x2c8]
mov ebp, dword [esp + 0x80]
cmp ebp, 8
jge 0x6198a9
add ebp, edi
cmp edx, ebp
jle 0x6198a9
mov byte [esp + 0x3c], bl
shr bl, 7
neg ebx
xchg esi, eax
cmp al, bl
xchg esi, eax
jne 0x6199fd
mov dword [esp + 0x134], eax
xor eax, eax
mov byte [esp + 0x3f], al
jmp 0x61993c
mov dword [esp + 0x13c], eax
mov eax, 0xffffffff
mov byte [esp + 0x3f], al
jmp 0x61993c
mov eax, ebx
mov ecx, ebp
call fcn.0045f030
movzx ecx, byte [edi + ebx]
shr cl, 1
add ecx, ebp
mov byte [eax + edi], cl
lea ecx, [edi + 1]
mov ebp, dword [esp + 0x120]
mov edi, dword [esp + 0x2c4]
mov dword [esp + 0x100], ecx
mov ecx, dword [esp + 0x128]
mov edi, dword [esp + 0x100]
cmp edi, esi
jge 0x619a63
cmp edi, ebp
jae 0x619b05
movzx ebp, byte [edi + eax]
jb 0x619a1b
jmp 0x619af7
mov dword [esp + 0x2a0], ebx
mov edi, esi
jmp 0x619aa8
mov ecx, dword [esp + 0x2a0]
movzx edx, byte [edi + ecx]
add edx, esi
mov esi, edx
shr edx, 0x1f
add edx, esi
sar edx, 1
add edx, ebx
mov byte [eax + edi], dl
lea esi, [edi + 1]
mov edi, dword [esp + 0x10c]
mov ecx, dword [esp + 0x128]
mov edx, dword [esp + 0x2d0]
mov ebx, dword [esp + 0x2a0]
cmp esi, ebp
jge 0x619ad0
jae 0x619aee
mov dword [esp + 0xfc], esi
movzx ebx, byte [esi + eax]
sub esi, edi
cmp esi, ebp
jae 0x619ae5
movzx esi, byte [esi + eax]
mov edi, dword [esp + 0xfc]
cmp edi, ebp
jb 0x619a6e
jmp 0x619adc
mov edi, dword [esp + 0x2c4]
jmp 0x617734
mov eax, edi
mov ecx, ebp
call fcn.0045f030
mov eax, esi
mov ecx, ebp
call fcn.0045f030
mov eax, esi
mov ecx, ebp
call fcn.0045f030
mov eax, edi
mov ecx, dword [esp + 0x120]
call fcn.0045f030
mov eax, edi
mov ecx, ebp
call fcn.0045f030
movzx ecx, byte [esi + eax]
add ecx, edi
mov byte [eax + esi], cl
inc esi
mov ecx, dword [esp + 0x128]
mov edi, dword [esp + 0x2c4]
cmp esi, ebp
jge 0x617734
movzx edi, byte [esi + ebx]
jb 0x619b0e
mov eax, esi
mov ecx, ebp
call fcn.0045f030
movzx ebx, byte [ebx + eax]
add ebx, edi
mov edi, dword [esp + 0x104]
mov byte [eax + edi], bl
lea ebx, [edi + 1]
mov edi, dword [esp + 0x2c4]
cmp ebx, ebp
jge 0x617734
jae 0x619b7b
mov dword [esp + 0x104], ebx
movzx edi, byte [ebx + eax]
sub ebx, esi
cmp ebx, ebp
jb 0x619b3d
mov eax, ebx
mov ecx, ebp
call fcn.0045f030
mov eax, ebx
mov ecx, ebp
call fcn.0045f030
mov eax, 1
call fcn.0045f090
mov eax, 1
call fcn.0045f090
call fcn.00432e40
call fcn.00432e40
call fcn.0045f030
nop
call fcn.0045dba0
jmp fcn.006169e0