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

Disassembly:
mov ecx, dword [0x9ec7ac]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x244]
cmp eax, dword [ecx + 8]
jbe 0x6821b9
sub esp, 0x2c4
mov edx, dword [esp + 0x2c8]
mov ebx, dword [edx + 0x18]
mov ebp, dword [edx + 0x1c]
cmp dword [edx + 0x33c], 1
jne 0x67f30e
movzx esi, byte [esp + 0x2d8]
xchg esi, eax
test al, al
xchg esi, eax
jne 0x67f316
mov ecx, dword [0x9a4d24]
mov eax, dword [esp + 0x2d4]
cmp eax, ecx
jae 0x6821b3
shl eax, 4
mov ecx, dword [0x9a4d20]
mov edi, dword [ecx + eax]
mov esi, dword [ecx + eax + 8]
sub ebx, esi
mov esi, dword [ecx + eax + 4]
mov ecx, dword [ecx + eax + 0xc]
lea eax, [edi + ebx - 1]
test edi, edi
je 0x6821ae
sub ebp, ecx
cmp edi, 0xffffffff
je 0x67f294
cdq
idiv edi
jmp 0x67f296
neg eax
lea ecx, [esi + ebp - 1]
test esi, esi
je 0x6821a9
mov dword [esp + 0xc0], eax
mov eax, ecx
cmp esi, 0xffffffff
je 0x67f2b5
cdq
idiv esi
jmp 0x67f2b7
neg eax
mov ecx, dword [esp + 0xc0]
test ecx, ecx
je 0x67f2c6
test eax, eax
jne 0x67f2f9
mov dword [esp + 0x2dc], 0
mov dword [esp + 0x2e0], 0
mov dword [esp + 0x2e4], 0
mov dword [esp + 0x2e8], 0
add esp, 0x2c4
ret
mov edx, dword [esp + 0x2c8]
movzx esi, byte [esp + 0x2d8]
mov ebx, ecx
mov ebp, eax
jmp 0x67f316
movzx esi, byte [esp + 0x2d8]
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xf4], ebp
mov ecx, dword [edx + 0x30]
cmp ecx, 0xa
jg 0x67f732
cmp ecx, 5
jg 0x67f540
lea edi, [ecx - 1]
cmp edi, 3
ja 0x67f475
movzx eax, byte [edx + 0x340]
mov ecx, dword [edx + 0x20]
mov dword [esp + 0x100], ecx
test al, al
je 0x67f3b4
test ebx, ebx
jge 0x67f364
mov eax, ebx
xor edi, edi
jmp 0x67f36a
mov eax, ebx
xor ebx, ebx
mov edi, eax
test ebp, ebp
jge 0x67f37d
mov dword [esp + 0x274], eax
xor eax, eax
mov dword [esp + 0x48], eax
jmp 0x67f38c
xor ebp, ebp
mov ebp, dword [esp + 0xf4]
mov dword [esp + 0x48], ebp
xor ebp, ebp
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], edi
mov eax, dword [esp + 0x48]
mov dword [esp + 0xc], eax
call fcn.004f4790
mov eax, dword [esp + 0x10]
lea ecx, [0x7ac0e4]
mov edx, eax
xor ebx, ebx
jmp 0x67f40c
test ebx, ebx
jge 0x67f3be
mov eax, ebx
xor edi, edi
jmp 0x67f3c4
mov eax, ebx
xor ebx, ebx
mov edi, eax
test ebp, ebp
jge 0x67f3d7
mov dword [esp + 0x26c], eax
xor eax, eax
mov dword [esp + 0x44], eax
jmp 0x67f3e6
xor ebp, ebp
mov ebp, dword [esp + 0xf4]
mov dword [esp + 0x44], ebp
xor ebp, ebp
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], edi
mov eax, dword [esp + 0x44]
mov dword [esp + 0xc], eax
call fcn.004f4ad0
mov eax, dword [esp + 0x10]
lea ecx, [0x7ac138]
xor edx, edx
mov ebx, eax
mov ebp, dword [esp + 0xf4]
movzx esi, byte [esp + 0x2d8]
xor edi, edi
xor ebp, ebp
mov dword [esp + 0x28c], ebp
xor esi, esi
mov dword [esp + 0x29c], esi
xor ebp, ebp
mov dword [esp + 0x27c], ebp
xor ebp, ebp
mov dword [esp + 0x290], ebp
mov dword [esp + 0xdc], ecx
mov dword [esp + 0x298], eax
mov eax, ebx
mov ecx, edx
mov ebp, dword [esp + 0xf4]
movzx esi, byte [esp + 0x2d8]
mov edx, dword [esp + 0x2c8]
mov ebx, dword [esp + 0xc0]
jmp 0x67fbf1
cmp ecx, 5
jne 0x67fbaa
test ebx, ebx
jge 0x67f488
mov eax, ebx
xor ecx, ecx
jmp 0x67f48e
mov eax, ebx
xor ebx, ebx
mov ecx, eax
test ebp, ebp
jge 0x67f496
xor edi, edi
jmp 0x67f49f
xor ebp, ebp
mov edi, dword [esp + 0xf4]
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edi
call fcn.004f4790
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x2c8]
mov ebx, dword [esp + 0xc0]
mov ebp, dword [esp + 0xf4]
movzx esi, byte [esp + 0x2d8]
mov ecx, eax
xor edi, edi
xor eax, eax
mov dword [esp + 0x28c], eax
xor edx, edx
mov dword [esp + 0x29c], edx
xor ebx, ebx
mov dword [esp + 0x27c], ebx
xor ebp, ebp
mov dword [esp + 0x290], ebp
lea esi, [0x7ac0e4]
mov dword [esp + 0xdc], esi
mov dword [esp + 0x298], ecx
mov eax, 0x10
mov dword [esp + 0x100], eax
xor eax, eax
mov edx, dword [esp + 0x2c8]
mov ebx, dword [esp + 0xc0]
mov ebp, dword [esp + 0xf4]
movzx esi, byte [esp + 0x2d8]
jmp 0x67fbf1
cmp ecx, 6
jne 0x67f651
movzx eax, byte [edx + 0x340]
test al, al
je 0x67f599
test ebx, ebx
jge 0x67f55e
mov eax, ebx
xor ecx, ecx
jmp 0x67f564
mov eax, ebx
xor ebx, ebx
mov ecx, eax
test ebp, ebp
jge 0x67f56c
xor edi, edi
jmp 0x67f575
xor ebp, ebp
mov edi, dword [esp + 0xf4]
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edi
call fcn.004f4790
mov eax, dword [esp + 0x10]
lea ecx, [0x7ac0e4]
mov edx, eax
xor ebx, ebx
jmp 0x67f5dc
test ebx, ebx
jge 0x67f5a3
mov eax, ebx
xor ecx, ecx
jmp 0x67f5a9
mov eax, ebx
xor ebx, ebx
mov ecx, eax
test ebp, ebp
jge 0x67f5b1
xor edi, edi
jmp 0x67f5ba
xor ebp, ebp
mov edi, dword [esp + 0xf4]
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edi
call fcn.004f43a0
mov eax, dword [esp + 0x10]
lea ecx, [0x7ac0c8]
xor edx, edx
mov ebx, eax
mov ebp, dword [esp + 0xf4]
movzx esi, byte [esp + 0x2d8]
mov edi, ebx
xor ebx, ebx
mov dword [esp + 0x28c], ebx
xor ebp, ebp
mov dword [esp + 0x29c], ebp
xor esi, esi
mov dword [esp + 0x27c], esi
xor ebx, ebx
mov dword [esp + 0x290], ebx
mov dword [esp + 0xdc], ecx
mov dword [esp + 0x298], eax
mov ebx, 0x18
mov dword [esp + 0x100], ebx
mov ebx, dword [esp + 0xc0]
xor eax, eax
mov ecx, edx
mov ebp, dword [esp + 0xf4]
movzx esi, byte [esp + 0x2d8]
mov edx, dword [esp + 0x2c8]
jmp 0x67fbf1
test ebx, ebx
jge 0x67f65b
mov eax, ebx
xor ecx, ecx
jmp 0x67f661
mov eax, ebx
xor ebx, ebx
mov ecx, eax
test ebp, ebp
jge 0x67f669
xor edi, edi
jmp 0x67f672
xor ebp, ebp
mov edi, dword [esp + 0xf4]
mov eax, dword [edx + 0x24]
mov esi, dword [edx + 0x28]
mov dword [esp + 0x108], esi
mov esi, dword [edx + 0x2c]
mov edx, dword [edx + 0x20]
mov dword [esp + 0x100], edx
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x108]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], esi
call fcn.004f4df0
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x2c8]
mov ebx, dword [esp + 0xc0]
mov ebp, dword [esp + 0xf4]
movzx esi, byte [esp + 0x2d8]
xor ecx, ecx
xor edi, edi
mov dword [esp + 0x28c], eax
xor edx, edx
mov dword [esp + 0x29c], edx
xor ebx, ebx
mov dword [esp + 0x27c], ebx
xor ebp, ebp
mov dword [esp + 0x290], ebp
lea esi, [0x7ac234]
mov dword [esp + 0xdc], esi
mov dword [esp + 0x298], eax
xor eax, eax
mov edx, dword [esp + 0x2c8]
mov ebx, dword [esp + 0xc0]
mov ebp, dword [esp + 0xf4]
movzx esi, byte [esp + 0x2d8]
jmp 0x67fbf1
cmp ecx, 0xc
jg 0x67f90a
cmp ecx, 0xb
jne 0x67f806
test ebx, ebx
jge 0x67f74e
mov eax, ebx
xor ecx, ecx
jmp 0x67f754
mov eax, ebx
xor ebx, ebx
mov ecx, eax
test ebp, ebp
jge 0x67f75c
xor edi, edi
jmp 0x67f765
xor ebp, ebp
mov edi, dword [esp + 0xf4]
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edi
call fcn.004f4790
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x2c8]
mov ebx, dword [esp + 0xc0]
mov ebp, dword [esp + 0xf4]
movzx esi, byte [esp + 0x2d8]
mov ecx, eax
xor edi, edi
xor eax, eax
mov dword [esp + 0x28c], eax
xor edx, edx
mov dword [esp + 0x29c], edx
xor ebx, ebx
mov dword [esp + 0x27c], ebx
xor ebp, ebp
mov dword [esp + 0x290], ebp
lea esi, [0x7ac0e4]
mov dword [esp + 0xdc], esi
mov dword [esp + 0x298], ecx
mov eax, 0x20
mov dword [esp + 0x100], eax
xor eax, eax
mov edx, dword [esp + 0x2c8]
mov ebx, dword [esp + 0xc0]
mov ebp, dword [esp + 0xf4]
movzx esi, byte [esp + 0x2d8]
jmp 0x67fbf1
movzx eax, byte [edx + 0x340]
test al, al
je 0x67f856
test ebx, ebx
jge 0x67f81b
mov eax, ebx
xor ecx, ecx
jmp 0x67f821
mov eax, ebx
xor ebx, ebx
mov ecx, eax
test ebp, ebp
jge 0x67f829
xor edi, edi
jmp 0x67f832
xor ebp, ebp
mov edi, dword [esp + 0xf4]
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edi
call fcn.004f4990
mov eax, dword [esp + 0x10]
lea ecx, [0x7ac11c]
mov edx, eax
xor ebx, ebx
jmp 0x67f899
test ebx, ebx
jge 0x67f860
mov eax, ebx
xor ecx, ecx
jmp 0x67f866
mov eax, ebx
xor ebx, ebx
mov ecx, eax
test ebp, ebp
jge 0x67f86e
xor edi, edi
jmp 0x67f877
xor ebp, ebp
mov edi, dword [esp + 0xf4]
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edi
call fcn.004f4cb0
mov eax, dword [esp + 0x10]
lea ecx, [0x7ac154]
xor edx, edx
mov ebx, eax
mov ebp, dword [esp + 0xf4]
movzx esi, byte [esp + 0x2d8]
xor edi, edi
xor ebp, ebp
mov dword [esp + 0x28c], ebp
mov dword [esp + 0x29c], ebx
xor esi, esi
mov dword [esp + 0x27c], esi
mov dword [esp + 0x290], edx
mov dword [esp + 0xdc], ecx
mov dword [esp + 0x298], eax
mov ebp, 0x10
mov dword [esp + 0x100], ebp
mov edx, dword [esp + 0x2c8]
mov ebx, dword [esp + 0xc0]
xor eax, eax
xor ecx, ecx
mov ebp, dword [esp + 0xf4]
movzx esi, byte [esp + 0x2d8]
jmp 0x67fbf1
cmp ecx, 0xd
jne 0x67f9d5
test ebx, ebx
jge 0x67f91d
mov eax, ebx
xor ecx, ecx
jmp 0x67f923
mov eax, ebx
xor ebx, ebx
mov ecx, eax
test ebp, ebp
jge 0x67f92b
xor edi, edi
jmp 0x67f934
xor ebp, ebp
mov edi, dword [esp + 0xf4]
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edi
call fcn.004f4990
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x2c8]
mov ebx, dword [esp + 0xc0]
mov ebp, dword [esp + 0xf4]
movzx esi, byte [esp + 0x2d8]
xor ecx, ecx
xor edi, edi
xor edx, edx
mov dword [esp + 0x28c], edx
xor ebx, ebx
mov dword [esp + 0x29c], ebx
xor ebp, ebp
mov dword [esp + 0x27c], ebp
mov dword [esp + 0x290], eax
lea esi, [0x7ac11c]
mov dword [esp + 0xdc], esi
mov dword [esp + 0x298], eax
mov ecx, 0x20
mov dword [esp + 0x100], ecx
xor eax, eax
mov edx, dword [esp + 0x2c8]
mov ebx, dword [esp + 0xc0]
mov ebp, dword [esp + 0xf4]
movzx esi, byte [esp + 0x2d8]
xor ecx, ecx
jmp 0x67fbf1
cmp ecx, 0xe
jne 0x67fae2
movzx eax, byte [edx + 0x340]
test al, al
je 0x67fa2e
test ebx, ebx
jge 0x67f9f3
mov eax, ebx
xor ecx, ecx
jmp 0x67f9f9
mov eax, ebx
xor ebx, ebx
mov ecx, eax
test ebp, ebp
jge 0x67fa01
xor edi, edi
jmp 0x67fa0a
xor ebp, ebp
mov edi, dword [esp + 0xf4]
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edi
call fcn.004f4990
mov eax, dword [esp + 0x10]
lea ecx, [0x7ac11c]
mov edx, eax
xor ebx, ebx
jmp 0x67fa71
test ebx, ebx
jge 0x67fa38
mov eax, ebx
xor ecx, ecx
jmp 0x67fa3e
mov eax, ebx
xor ebx, ebx
mov ecx, eax
test ebp, ebp
jge 0x67fa46
xor edi, edi
jmp 0x67fa4f
xor ebp, ebp
mov edi, dword [esp + 0xf4]
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edi
call fcn.004f45a0
mov eax, dword [esp + 0x10]
lea ecx, [0x7ac100]
xor edx, edx
mov ebx, eax
mov ebp, dword [esp + 0xf4]
movzx esi, byte [esp + 0x2d8]
xor edi, edi
xor ebp, ebp
mov dword [esp + 0x28c], ebp
xor esi, esi
mov dword [esp + 0x29c], esi
mov dword [esp + 0x27c], ebx
mov dword [esp + 0x290], edx
mov dword [esp + 0xdc], ecx
mov dword [esp + 0x298], eax
mov ebp, 0x30
mov dword [esp + 0x100], ebp
mov edx, dword [esp + 0x2c8]
mov ebx, dword [esp + 0xc0]
xor eax, eax
xor ecx, ecx
mov ebp, dword [esp + 0xf4]
movzx esi, byte [esp + 0x2d8]
jmp 0x67fbf1
cmp ecx, 0xf
jne 0x67fbaa
test ebx, ebx
jge 0x67faf5
mov eax, ebx
xor ecx, ecx
jmp 0x67fafb
mov eax, ebx
xor ebx, ebx
mov ecx, eax
test ebp, ebp
jge 0x67fb03
xor edi, edi
jmp 0x67fb0c
xor ebp, ebp
mov edi, dword [esp + 0xf4]
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edi
call fcn.004f4990
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x2c8]
mov ebx, dword [esp + 0xc0]
mov ebp, dword [esp + 0xf4]
movzx esi, byte [esp + 0x2d8]
xor ecx, ecx
xor edi, edi
xor edx, edx
mov dword [esp + 0x28c], edx
xor ebx, ebx
mov dword [esp + 0x29c], ebx
xor ebp, ebp
mov dword [esp + 0x27c], ebp
mov dword [esp + 0x290], eax
lea esi, [0x7ac11c]
mov dword [esp + 0xdc], esi
mov dword [esp + 0x298], eax
mov ecx, 0x40
mov dword [esp + 0x100], ecx
xor eax, eax
mov edx, dword [esp + 0x2c8]
mov ebx, dword [esp + 0xc0]
mov ebp, dword [esp + 0xf4]
movzx esi, byte [esp + 0x2d8]
xor ecx, ecx
jmp 0x67fbf1
xor eax, eax
xor ecx, ecx
xor edi, edi
xor eax, eax
mov dword [esp + 0x28c], eax
xor eax, eax
mov dword [esp + 0x29c], eax
xor eax, eax
mov dword [esp + 0x27c], eax
xor eax, eax
mov dword [esp + 0x290], eax
xor eax, eax
mov dword [esp + 0xdc], eax
xor eax, eax
mov dword [esp + 0x298], eax
xor eax, eax
mov dword [esp + 0x100], eax
xor eax, eax
xchg esi, eax
test al, al
xchg esi, eax
jne 0x67fd45
mov dword [esp + 0x2a0], eax
mov dword [esp + 0x280], edi
mov esi, dword [esp + 0x100]
lea edi, [esi + 7]
sar edi, 0x1f
shr edi, 0x1d
sar esi, 0x1f
mov eax, dword [esp + 0x100]
mul ebx
imul esi, ebx
add edx, esi
sar ebx, 0x1f
mov esi, dword [esp + 0x100]
imul ebx, esi
add edx, ebx
lea ebx, [esi + edi + 7]
mov esi, eax
add eax, 7
mov edi, edx
adc edx, 0
sar edx, 0x1f
shr edx, 0x1d
add edx, esi
adc edi, 0
add edx, 7
adc edi, 0
shr edx, 3
mov esi, edi
sar edi, 3
shl esi, 0x1d
or edx, esi
add edx, 1
adc edi, 0
mov esi, edx
sar edx, 0x1f
cmp edx, edi
jne 0x67fd0e
mov dword [esp + 0x104], esi
mov dword [esp + 0xc4], edi
mov dword [esp + 0x294], ecx
mov dword [esp + 0x108], ebx
lea eax, [0x6e4500]
mov dword [esp], eax
mov dword [esp + 8], edi
mov dword [esp + 4], esi
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], esi
call fcn.0044e170
mov eax, dword [esp + 0x108]
sar eax, 3
mov dword [esp + 0xfc], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x2c0], ecx
lea edx, [0x6e4500]
mov dword [esp], edx
mov edx, dword [esp + 0xc4]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x104]
mov dword [esp + 4], ebx
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], ebx
call fcn.0044e170
mov eax, dword [esp + 0x14]
xor ecx, ecx
mov edx, dword [esp + 0x2c0]
xor ebx, ebx
jmp 0x67fd8e
mov dword [esp + 0x2dc], 0
mov dword [esp + 0x2e0], 0
lea eax, [0x7ab6f4]
mov dword [esp + 0x2e4], eax
lea eax, [0x7aac48]
mov dword [esp + 0x2e8], eax
add esp, 0x2c4
ret
mov eax, dword [esp + 0xdc]
mov dword [esp + 0x2dc], eax
mov eax, dword [esp + 0x298]
mov dword [esp + 0x2e0], eax
mov dword [esp + 0x2e4], 0
mov dword [esp + 0x2e8], 0
add esp, 0x2c4
ret
mov edi, dword [esp + 0xd0]
lea ecx, [edi + 1]
mov edx, ebx
mov ebx, eax
mov eax, esi
mov ebp, dword [esp + 0xf4]
cmp ecx, ebp
jge 0x68057e
mov dword [esp + 0x2ac], eax
mov dword [esp + 0x2bc], edx
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xc8], ebx
nop
mov eax, dword [esp + 0x2cc]
mov dword [esp], eax
mov ecx, dword [esp + 0x2d0]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x104]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], ebx
call fcn.00473a30
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
test eax, eax
jne 0x680474
mov ebx, dword [esp + 0x104]
cmp ebx, 1
jb 0x68219d
lea ecx, [ebx - 1]
mov ebp, ecx
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, 1
mov esi, dword [esp + 0x2bc]
lea edi, [esi + ebp]
cmp ebx, 1
jb 0x682191
mov dword [esp + 0xf8], ecx
mov dword [esp + 0x2b0], edi
movzx eax, byte [esi]
mov edx, ebx
mov ebx, dword [esp + 0x2ac]
add ebp, ebx
cmp al, 1
ja 0x67fe6a
test al, al
je 0x67fef1
mov eax, dword [esp + 0xfc]
mov ebp, eax
jmp 0x682165
cmp al, 2
jne 0x67fe76
xor eax, eax
jmp 0x682138
cmp al, 3
jne 0x67fe9e
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x10c], eax
xor eax, eax
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0x10c]
jmp 0x68207b
cmp al, 4
jne 0x68043d
mov dword [esp], edi
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], ecx
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x18], eax
call fcn.0067dc90
mov ecx, dword [esp + 0xf8]
mov edx, dword [esp + 0x104]
mov ebx, dword [esp + 0x2ac]
mov esi, dword [esp + 0x2bc]
mov edi, dword [esp + 0x2b0]
mov ebp, dword [esp + 0x2c8]
mov eax, dword [ebp + 0x30]
cmp eax, 7
jg 0x6801f6
cmp eax, 3
jg 0x680022
cmp eax, 1
jne 0x67ff68
movzx eax, byte [ebp + 0x340]
test al, al
je 0x67ff45
movzx eax, byte [ebp + 0x342]
mov byte [esp + 0x27], al
mov byte [esp + 0x12c], al
xor eax, eax
mov dword [esp + 0xbc], eax
movzx eax, byte [esp + 0x12c]
jmp 0x681f0d
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x13c], eax
xor eax, eax
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x13c]
jmp 0x681d89
cmp eax, 2
jne 0x67ffc3
movzx eax, byte [ebp + 0x340]
test al, al
je 0x67ffa0
movzx eax, byte [ebp + 0x342]
mov byte [esp + 0x26], al
mov byte [esp + 0x15c], al
xor eax, eax
mov dword [esp + 0xb4], eax
movzx eax, byte [esp + 0x15c]
jmp 0x681c1c
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x16c], eax
xor eax, eax
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x16c]
jmp 0x681aa1
cmp eax, 3
jne 0x680431
movzx eax, byte [ebp + 0x340]
test al, al
je 0x67ffff
movzx eax, byte [ebp + 0x342]
mov byte [esp + 0x25], al
mov byte [esp + 0x17c], al
xor eax, eax
mov dword [esp + 0xac], eax
movzx eax, byte [esp + 0x17c]
jmp 0x681946
mov eax, dword [esp + 0x2a0]
mov dword [esp + 0x18c], eax
xor eax, eax
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x18c]
jmp 0x6817c2
cmp eax, 5
jg 0x6800ed
cmp eax, 4
jne 0x6800ca
movzx eax, byte [ebp + 0x340]
test al, al
je 0x680067
movzx eax, byte [ebp + 0x342]
mov byte [esp + 0x24], al
mov byte [esp + 0x1a4], al
xor eax, eax
mov dword [esp + 0xa4], eax
movzx eax, byte [esp + 0x1a4]
jmp 0x681735
mov ebp, dword [esp + 0x2a0]
mov eax, dword [ebp + 4]
mov edx, dword [esp + 0xc8]
cmp edx, eax
ja 0x681698
mov ebx, dword [ebp]
mov esi, dword [ebp + 8]
sub eax, edx
sub esi, edx
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, edx
add ebx, esi
cmp eax, ecx
jg 0x68009d
mov ecx, eax
cmp ebx, edi
je 0x6800bf
mov dword [esp], ebx
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
call fcn.00468df0
mov edx, dword [esp + 0xc8]
mov ebp, dword [esp + 0x2a0]
mov eax, dword [ebp + 0xc]
lea ebx, [edx + eax]
jmp 0x681675
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x1ac], eax
xor eax, eax
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x1ac]
jmp 0x68162e
cmp eax, 6
jne 0x6801d3
movzx eax, byte [ebp + 0x340]
test al, al
je 0x680185
mov edx, dword [esp + 0x294]
mov eax, dword [edx + 4]
mov dword [esp + 0xcc], eax
mov ebx, dword [edx]
mov dword [esp + 0x284], ebx
movzx esi, byte [ebp + 0x342]
xchg esi, eax
mov byte [esp + 0x28], al
xchg esi, eax
movzx edx, byte [ebp + 0x344]
mov byte [esp + 0x29], dl
movzx ebp, byte [ebp + 0x346]
xchg ebp, eax
mov byte [esp + 0x2a], al
xchg ebp, eax
mov dword [esp + 0x1cc], eax
xor eax, eax
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0xe4], eax
mov dword [esp + 0x1c4], ecx
xor ecx, ecx
mov dword [esp + 0xd8], ecx
mov eax, dword [esp + 0x1cc]
mov ecx, dword [esp + 0x1c4]
jmp 0x68145b
mov ebp, dword [esp + 0x280]
mov eax, dword [ebp + 4]
mov edx, dword [ebp]
mov dword [esp + 0x1dc], eax
xor eax, eax
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0xe0], eax
mov dword [esp + 0x1d4], ecx
xor ecx, ecx
mov dword [esp + 0xd4], ecx
mov eax, dword [esp + 0x1dc]
mov ecx, dword [esp + 0x1d4]
jmp 0x681313
mov eax, dword [esp + 0x28c]
mov dword [esp + 0x1ec], eax
xor eax, eax
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x1ec]
jmp 0x681150
cmp eax, 0xb
jg 0x680307
cmp eax, 9
jg 0x68024f
cmp eax, 8
jne 0x68022c
mov eax, dword [esp + 0x28c]
mov dword [esp + 0x1fc], eax
xor eax, eax
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x1fc]
jmp 0x680faa
mov eax, dword [esp + 0x28c]
mov dword [esp + 0x20c], eax
xor eax, eax
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x20c]
jmp 0x680e08
cmp eax, 0xa
jne 0x680286
mov eax, ebp
mov ebp, dword [esp + 0x28c]
cmp dword [ebp + 0x24], 0x100
je 0x680ce7
mov dword [esp + 0x214], eax
xor eax, eax
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x214]
jmp 0x680d8a
mov ebp, dword [esp + 0x294]
mov eax, dword [ebp + 4]
mov edx, dword [esp + 0xc8]
cmp edx, eax
ja 0x680cde
mov ebx, dword [ebp]
mov esi, dword [ebp + 8]
sub eax, edx
sub esi, edx
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, edx
add ebx, esi
cmp eax, ecx
jg 0x6802bc
mov ecx, eax
cmp ebx, edi
je 0x6802de
mov dword [esp], ebx
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
call fcn.00468df0
mov edx, dword [esp + 0xc8]
mov ebp, dword [esp + 0x294]
mov eax, dword [ebp + 0xc]
lea ebx, [edx + eax]
mov edx, dword [esp + 0x104]
mov ebp, dword [esp + 0x2c8]
mov esi, dword [esp + 0x2bc]
mov eax, ebx
mov ebx, dword [esp + 0x2ac]
jmp 0x67fd7e
cmp eax, 0xd
jg 0x680391
cmp eax, 0xc
jne 0x680371
movzx eax, byte [ebp + 0x340]
test al, al
je 0x68034e
movzx eax, word [ebp + 0x341]
rol ax, 8
mov word [esp + 0x42], ax
mov word [esp + 0x22c], ax
xor eax, eax
mov dword [esp + 0x84], eax
movzx eax, word [esp + 0x22c]
jmp 0x680c66
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x234], eax
xor eax, eax
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x234]
jmp 0x680b91
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x23c], eax
xor eax, eax
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x23c]
jmp 0x680a9d
cmp eax, 0xe
jne 0x68040c
movzx eax, byte [ebp + 0x340]
test al, al
je 0x6803ec
movzx eax, word [ebp + 0x341]
movzx edx, word [ebp + 0x343]
movzx ebp, word [ebp + 0x345]
rol ax, 8
mov word [esp + 0x42], ax
rol dx, 8
mov word [esp + 0x40], dx
rol bp, 8
mov word [esp + 0x3e], bp
mov word [esp + 0x254], ax
xor eax, eax
mov dword [esp + 0x78], eax
movzx eax, word [esp + 0x254]
jmp 0x6808da
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x25c], eax
xor eax, eax
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x25c]
jmp 0x6807b9
cmp eax, 0xf
jne 0x680431
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x264], eax
xor eax, eax
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x264]
jmp 0x680665
mov eax, dword [esp + 0xc8]
jmp 0x67fd7e
mov dword [esp + 0x2dc], 0
mov dword [esp + 0x2e0], 0
lea eax, [0x7ab6e0]
mov dword [esp + 0x2e4], eax
lea eax, [0x7aac88]
mov dword [esp + 0x2e8], eax
add esp, 0x2c4
ret
mov dword [esp + 0x2a8], edx
mov dword [esp + 0x2bc], ecx
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x20]
cmp dword [0x9a3bd0], eax
je 0x680496
xor ebp, ebp
jmp 0x6804dd
mov dword [esp + 0x2b8], eax
mov dword [esp + 0x2a4], ebx
mov ecx, dword [0x9a3bd4]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
call fcn.00404340
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 0x2bc]
mov edx, dword [esp + 0x2a8]
mov ebx, dword [esp + 0x2a4]
mov ebp, eax
mov eax, dword [esp + 0x2b8]
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x68051c
cmp dword [0x9a3bd8], eax
je 0x6804ef
xor eax, eax
jmp 0x680518
mov ecx, dword [0x9a3bdc]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
call fcn.00404340
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 0x2bc]
mov edx, dword [esp + 0x2a8]
test al, al
je 0x680553
mov dword [esp + 0x2dc], 0
mov dword [esp + 0x2e0], 0
lea eax, [0x7ab6e0]
mov dword [esp + 0x2e4], eax
lea eax, [0x7aac70]
mov dword [esp + 0x2e8], eax
add esp, 0x2c4
ret
mov dword [esp + 0x2dc], 0
mov dword [esp + 0x2e0], 0
mov dword [esp + 0x2e4], ecx
mov dword [esp + 0x2e8], edx
add esp, 0x2c4
ret
mov eax, dword [esp + 0xdc]
mov dword [esp + 0x2dc], eax
mov eax, dword [esp + 0x298]
mov dword [esp + 0x2e0], eax
mov dword [esp + 0x2e4], 0
mov dword [esp + 0x2e8], 0
add esp, 0x2c4
ret
movzx ecx, word [esi]
rol cx, 8
mov edx, dword [esp + 0x2b4]
movzx edx, word [edx]
rol dx, 8
movzx eax, word [eax]
rol ax, 8
movzx ebp, word [ebp]
mov esi, dword [esp + 0x290]
mov dword [esp], esi
mov dword [esp + 4], ebx
mov edi, dword [esp + 0xd0]
mov dword [esp + 8], edi
mov word [esp + 0xc], cx
mov word [esp + 0xe], dx
mov word [esp + 0x10], ax
rol bp, 8
mov word [esp + 0x12], bp
call fcn.004f48d0
mov eax, dword [esp + 0x70]
inc eax
mov ecx, dword [esp + 0xc0]
mov edx, dword [esp + 0x290]
mov ebx, dword [esp + 0xf8]
mov ebp, dword [esp + 0xd0]
mov esi, dword [esp + 0x2b0]
mov ecx, ebx
mov edx, dword [esp + 0x104]
mov ebx, dword [esp + 0x2ac]
mov ebp, dword [esp + 0x2c8]
mov esi, dword [esp + 0x2bc]
mov edi, dword [esp + 0x2b0]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0xc0]
mov ebp, dword [esp + 0x70]
cmp ebp, eax
jge 0x6806cd
shl ebp, 3
cmp ebp, ecx
jae 0x680711
lea edx, [ebp + 1]
mov ebx, dword [esp + 0x70]
lea esi, [edi + ebx*8]
cmp edx, ecx
jae 0x68070a
lea edx, [ebp + 2]
cmp edx, ecx
jae 0x680703
lea edx, [ebp + 3]
lea eax, [edi + ebx*8 + 2]
cmp edx, ecx
jae 0x6806fc
lea edx, [ebp + 4]
cmp edx, ecx
jae 0x6806f5
mov dword [esp + 0x2b4], eax
lea edx, [ebp + 5]
lea eax, [edi + ebx*8 + 4]
cmp edx, ecx
jae 0x6806ee
lea edx, [ebp + 6]
cmp edx, ecx
jae 0x6806e7
lea edx, [ebp + 7]
lea ebp, [edi + ebx*8 + 6]
cmp edx, ecx
jb 0x6805b7
jmp 0x6806e0
mov ebp, dword [esp + 0x2c8]
mov eax, dword [esp + 0xc8]
jmp 0x67fd7e
mov eax, edx
call fcn.004684c0
mov eax, edx
call fcn.004684c0
mov eax, edx
call fcn.004684c0
mov eax, edx
call fcn.004684c0
mov eax, edx
call fcn.004684c0
mov eax, edx
call fcn.004684c0
mov eax, edx
call fcn.004684c0
mov eax, ebp
call fcn.004684c0
rol ax, 8
rol bp, 8
movzx ecx, word [edi + esi*2 + 4]
mov edx, dword [esp + 0x27c]
mov dword [esp], edx
mov ebx, dword [esp + 0x74]
mov dword [esp + 4], ebx
mov esi, dword [esp + 0xd0]
mov dword [esp + 8], esi
mov word [esp + 0xc], ax
mov word [esp + 0xe], bp
rol cx, 8
mov word [esp + 0x10], cx
mov word [esp + 0x12], 0xffff
call fcn.004f44e0
mov eax, dword [esp + 0x74]
inc eax
mov ecx, dword [esp + 0xc0]
mov edx, dword [esp + 0x27c]
mov ebx, dword [esp + 0x2b0]
mov ebp, dword [esp + 0xf8]
mov esi, dword [esp + 0xd0]
mov ecx, ebp
mov edx, dword [esp + 0x104]
mov ebx, dword [esp + 0x2ac]
mov ebp, dword [esp + 0x2c8]
mov esi, dword [esp + 0x2bc]
mov edi, dword [esp + 0x2b0]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0xc0]
mov ebp, dword [esp + 0x74]
cmp ebp, eax
jge 0x68080b
lea edx, [ebp + ebp*2]
mov dword [esp + 0x108], edx
shl edx, 1
cmp edx, ecx
jae 0x680841
lea ebx, [edx + 1]
cmp ebx, ecx
jae 0x68083a
lea ebx, [edx + 2]
mov esi, dword [esp + 0x108]
movzx eax, word [edi + esi*2]
cmp ebx, ecx
jae 0x680833
lea ebx, [edx + 3]
cmp ebx, ecx
jae 0x68082c
lea ebx, [edx + 4]
movzx ebp, word [edi + esi*2 + 2]
cmp ebx, ecx
jae 0x680825
add edx, 5
cmp edx, ecx
jb 0x680718
jmp 0x68081e
mov ebp, dword [esp + 0x2c8]
mov eax, dword [esp + 0xc8]
jmp 0x67fd7e
mov eax, edx
call fcn.004684c0
mov eax, ebx
call fcn.004684c0
mov eax, ebx
call fcn.004684c0
mov eax, ebx
call fcn.004684c0
mov eax, ebx
call fcn.004684c0
mov eax, edx
call fcn.004684c0
mov ecx, dword [esp + 0x290]
mov dword [esp], ecx
mov ebp, dword [esp + 0x78]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0xd0]
mov dword [esp + 8], esi
mov word [esp + 0xc], dx
mov word [esp + 0xe], ax
mov word [esp + 0x10], bx
movzx eax, word [esp + 0x3a]
mov word [esp + 0x12], ax
call fcn.004f48d0
mov eax, dword [esp + 0x78]
inc eax
mov ecx, dword [esp + 0xc0]
mov edx, dword [esp + 0x290]
movzx ebx, word [esp + 0x42]
mov ebp, dword [esp + 0xf8]
mov esi, dword [esp + 0x2b0]
mov edi, dword [esp + 0xd0]
mov ecx, ebp
movzx edx, word [esp + 0x40]
mov ebx, dword [esp + 0x2ac]
movzx ebp, word [esp + 0x3e]
mov esi, dword [esp + 0x2bc]
mov edi, dword [esp + 0x2b0]
mov dword [esp + 0x78], eax
movzx eax, word [esp + 0x42]
mov ebx, dword [esp + 0x78]
mov esi, dword [esp + 0xc0]
cmp ebx, esi
jge 0x6809be
lea esi, [ebx + ebx*2]
mov dword [esp + 0x108], esi
shl esi, 1
cmp esi, ecx
jae 0x6809fd
lea ebx, [esi + 1]
cmp ebx, ecx
jae 0x6809f6
lea ebx, [esi + 2]
mov ebp, dword [esp + 0x108]
movzx edx, word [edi + ebp*2]
cmp ebx, ecx
jae 0x6809ef
lea ebx, [esi + 3]
cmp ebx, ecx
jae 0x6809e8
lea ebx, [esi + 4]
movzx eax, word [edi + ebp*2 + 2]
cmp ebx, ecx
jae 0x6809e1
lea ebx, [esi + 5]
cmp ebx, ecx
jae 0x6809da
rol dx, 8
movzx ebx, word [edi + ebp*2 + 4]
rol ax, 8
rol bx, 8
movzx ebp, word [esp + 0x42]
cmp dx, bp
jne 0x68099a
movzx esi, word [esp + 0x40]
cmp ax, si
jne 0x680993
movzx esi, word [esp + 0x3e]
cmp bx, si
jne 0x68099f
mov word [esp + 0x244], ax
xor eax, eax
mov word [esp + 0x3a], ax
movzx eax, word [esp + 0x244]
jmp 0x680848
movzx esi, word [esp + 0x3e]
jmp 0x68099f
movzx esi, word [esp + 0x3e]
mov word [esp + 0x24c], ax
mov eax, 0xffffffff
mov word [esp + 0x3a], ax
movzx eax, word [esp + 0x24c]
jmp 0x680848
mov eax, esi
mov edx, dword [esp + 0x104]
mov ebx, dword [esp + 0x2ac]
mov esi, dword [esp + 0x2bc]
jmp 0x68080b
mov eax, ebx
call fcn.004684c0
mov eax, ebx
call fcn.004684c0
mov eax, ebx
call fcn.004684c0
mov eax, ebx
call fcn.004684c0
mov eax, ebx
call fcn.004684c0
mov eax, esi
call fcn.004684c0
movzx eax, word [esi]
rol ax, 8
movzx ecx, word [ebp]
mov edx, dword [esp + 0x290]
mov dword [esp], edx
mov dword [esp + 4], ebx
mov ebp, dword [esp + 0xd0]
mov dword [esp + 8], ebp
mov word [esp + 0xc], ax
mov word [esp + 0xe], ax
mov word [esp + 0x10], ax
rol cx, 8
mov word [esp + 0x12], cx
call fcn.004f48d0
mov eax, dword [esp + 0x7c]
inc eax
mov ecx, dword [esp + 0xc0]
mov edx, dword [esp + 0x290]
mov ebx, dword [esp + 0xf8]
mov ebp, dword [esp + 0xd0]
mov esi, dword [esp + 0x2b0]
mov ecx, ebx
mov edx, dword [esp + 0x104]
mov ebx, dword [esp + 0x2ac]
mov ebp, dword [esp + 0x2c8]
mov esi, dword [esp + 0x2bc]
mov edi, dword [esp + 0x2b0]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0xc0]
mov ebp, dword [esp + 0x7c]
cmp ebp, eax
jge 0x680ad2
shl ebp, 2
cmp ebp, ecx
jae 0x680afa
lea edx, [ebp + 1]
mov ebx, dword [esp + 0x7c]
lea esi, [edi + ebx*4]
cmp edx, ecx
jae 0x680af3
lea edx, [ebp + 2]
cmp edx, ecx
jae 0x680aec
lea edx, [ebp + 3]
lea ebp, [edi + ebx*4 + 2]
cmp edx, ecx
jb 0x680a04
jmp 0x680ae5
mov ebp, dword [esp + 0x2c8]
mov eax, dword [esp + 0xc8]
jmp 0x67fd7e
mov eax, edx
call fcn.004684c0
mov eax, edx
call fcn.004684c0
mov eax, edx
call fcn.004684c0
mov eax, ebp
call fcn.004684c0
mov eax, dword [esp + 0x80]
movzx ecx, word [edi + eax*2]
mov edx, dword [esp + 0x29c]
mov dword [esp], edx
mov dword [esp + 4], eax
mov ebx, dword [esp + 0xd0]
mov dword [esp + 8], ebx
rol cx, 8
mov word [esp + 0xc], cx
call fcn.004f4c10
mov eax, dword [esp + 0x80]
inc eax
mov ecx, dword [esp + 0xc0]
mov edx, dword [esp + 0x29c]
mov ebx, dword [esp + 0xd0]
mov ebp, dword [esp + 0x2b0]
mov esi, dword [esp + 0xf8]
mov ecx, esi
mov edx, dword [esp + 0x104]
mov ebx, dword [esp + 0x2ac]
mov ebp, dword [esp + 0x2c8]
mov esi, dword [esp + 0x2bc]
mov edi, dword [esp + 0x2b0]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0xc0]
mov ebp, dword [esp + 0x80]
cmp ebp, eax
jge 0x680bad
shl ebp, 1
cmp ebp, ecx
jae 0x680bc7
inc ebp
cmp ebp, ecx
jb 0x680b01
jmp 0x680bc0
mov ebp, dword [esp + 0x2c8]
mov eax, dword [esp + 0xc8]
jmp 0x67fd7e
mov eax, ebp
call fcn.004684c0
mov eax, ebp
call fcn.004684c0
mov eax, dword [esp + 0x290]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov ecx, dword [esp + 0xd0]
mov dword [esp + 8], ecx
mov word [esp + 0xc], bx
mov word [esp + 0xe], bx
mov word [esp + 0x10], bx
movzx edx, word [esp + 0x3c]
mov word [esp + 0x12], dx
call fcn.004f48d0
mov eax, dword [esp + 0x84]
inc eax
mov ecx, dword [esp + 0xc0]
mov edx, dword [esp + 0x290]
movzx ebx, word [esp + 0x42]
mov ebp, dword [esp + 0xd0]
mov esi, dword [esp + 0x2b0]
mov edi, dword [esp + 0xf8]
mov ecx, edi
mov edx, dword [esp + 0x104]
mov ebx, dword [esp + 0x2ac]
mov ebp, dword [esp + 0x2c8]
mov esi, dword [esp + 0x2bc]
mov edi, dword [esp + 0x2b0]
mov dword [esp + 0x84], eax
movzx eax, word [esp + 0x42]
mov ebp, dword [esp + 0x84]
mov edx, dword [esp + 0xc0]
cmp ebp, edx
jge 0x680cc2
shl ebp, 1
cmp ebp, ecx
jae 0x680cd7
inc ebp
cmp ebp, ecx
jae 0x680cd0
mov ebp, dword [esp + 0x84]
movzx ebx, word [edi + ebp*2]
rol bx, 8
cmp bx, ax
jne 0x680cab
mov word [esp + 0x21c], ax
xor eax, eax
mov word [esp + 0x3c], ax
jmp 0x680bce
mov word [esp + 0x224], ax
mov eax, 0xffffffff
mov word [esp + 0x3c], ax
jmp 0x680bce
mov eax, edx
mov edx, dword [esp + 0x104]
jmp 0x680bad
mov eax, ebp
call fcn.004684c0
mov eax, ebp
call fcn.004684c0
mov ecx, eax
mov eax, edx
call fcn.00468520
mov eax, dword [ebp + 4]
mov edx, dword [esp + 0xc8]
cmp edx, eax
ja 0x680d5b
mov ebx, dword [ebp]
mov esi, dword [ebp + 8]
sub eax, edx
sub esi, edx
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, edx
add ebx, esi
cmp eax, ecx
jg 0x680d12
mov ecx, eax
cmp ebx, edi
je 0x680d34
mov dword [esp], ebx
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
call fcn.00468df0
mov edx, dword [esp + 0xc8]
mov ebp, dword [esp + 0x28c]
mov ecx, dword [ebp + 0xc]
lea eax, [edx + ecx]
mov edx, dword [esp + 0x104]
mov ebx, dword [esp + 0x2ac]
mov ebp, dword [esp + 0x2c8]
mov esi, dword [esp + 0x2bc]
jmp 0x67fd7e
mov ecx, eax
mov eax, edx
call fcn.00468520
lea eax, [ebx + 1]
mov edx, dword [esp + 0x104]
mov ebx, dword [esp + 0x2ac]
mov esi, dword [esp + 0x2bc]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x2c8]
mov ebx, dword [esp + 0x88]
mov esi, dword [esp + 0xc0]
cmp ebx, esi
jge 0x680db8
cmp ebx, ecx
jae 0x680dd4
mov eax, dword [ebp + 0x24]
movzx edx, byte [ebx + edi]
cmp eax, edx
jg 0x680d64
mov eax, dword [ebp + 0x28]
inc edx
cmp eax, edx
jb 0x680dcb
mov dword [ebp + 0x24], edx
jmp 0x680d64
mov ebx, dword [esp + 0x2ac]
mov esi, dword [esp + 0x2bc]
jmp 0x680ce7
mov ecx, edx
mov edx, eax
call fcn.00468500
mov eax, ebx
call fcn.004684c0
lea ebp, [esi + 2]
mov esi, dword [esp + 0xd0]
mov edi, dword [esp + 0x2b0]
mov ebx, dword [esp + 0x2ac]
mov esi, dword [esp + 0x2bc]
mov dword [esp + 0x8c], ebp
mov ebp, dword [esp + 0x2c8]
mov ebp, dword [esp + 0x8c]
mov ebx, dword [esp + 0xc0]
cmp ebp, ebx
jge 0x680e54
shr ebp, 0x1f
mov esi, dword [esp + 0x8c]
add ebp, esi
sar ebp, 1
cmp ebp, ecx
jae 0x680f76
movzx ebp, byte [ebp + edi]
mov dword [esp + 0x204], eax
xor eax, eax
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x204]
jmp 0x680e99
mov edx, dword [esp + 0x104]
jmp 0x680ddb
mov ebx, dword [esp + 0x2ac]
mov ebp, dword [esp + 0x2c8]
mov eax, dword [esp + 0xc8]
jmp 0x67fd7e
lea ecx, [edi + 1]
movzx ebp, byte [esp + 0x2e]
shl ebp, 4
mov edx, dword [esp + 0xd0]
mov edx, dword [esp + 0x104]
mov edi, dword [esp + 0x2b0]
mov dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0xf8]
mov edi, dword [esp + 0x4c]
cmp edi, 2
jge 0x680ddb
lea edx, [edi + esi]
cmp ebx, edx
jle 0x680e4b
xchg ebp, eax
mov byte [esp + 0x2e], al
xchg ebp, eax
xchg ebp, eax
shr al, 4
xchg ebp, eax
xchg ebp, eax
movzx ecx, al
xchg ebp, eax
cmp dword [eax + 0x24], ecx
jg 0x680edc
xchg ebp, eax
mov byte [esp + 0x2b], al
xchg ebp, eax
mov ebp, dword [eax + 0x28]
inc ecx
cmp ebp, ecx
jb 0x680f6f
mov dword [eax + 0x24], ecx
movzx ebp, byte [esp + 0x2b]
mov ecx, dword [eax + 0x10]
cmp ecx, edx
jg 0x680e6e
mov ebx, dword [eax + 0x18]
cmp ebx, edx
jle 0x680f5a
mov ebx, dword [eax + 0x14]
mov esi, dword [esp + 0xd0]
cmp esi, ebx
jl 0x680f47
mov edi, dword [eax + 0x1c]
cmp esi, edi
jge 0x680f30
mov edi, dword [eax + 4]
sub esi, ebx
imul esi, dword [eax + 0xc]
sub edx, ecx
lea ebx, [edx + esi]
nop
cmp edi, ebx
jbe 0x680f66
mov esi, dword [eax]
xchg ebp, eax
mov byte [esi + ebx], al
xchg ebp, eax
mov ebx, dword [esp + 0xc0]
mov esi, dword [esp + 0x8c]
mov edi, dword [esp + 0x4c]
jmp 0x680e6e
mov ebx, dword [esp + 0xc0]
mov esi, dword [esp + 0x8c]
mov edi, dword [esp + 0x4c]
jmp 0x680e6e
mov ebx, dword [esp + 0xc0]
mov esi, dword [esp + 0x8c]
jmp 0x680e6e
mov ebx, dword [esp + 0xc0]
jmp 0x680e6e
mov eax, ebx
mov ecx, edi
call fcn.004684c0
mov edx, ebp
call fcn.00468500
mov eax, ebp
call fcn.004684c0
lea ebp, [esi + 4]
mov esi, dword [esp + 0xd0]
mov edi, dword [esp + 0x2b0]
mov ebx, dword [esp + 0x2ac]
mov esi, dword [esp + 0x2bc]
mov dword [esp + 0x90], ebp
mov ebp, dword [esp + 0x2c8]
mov ebp, dword [esp + 0x90]
mov ebx, dword [esp + 0xc0]
cmp ebp, ebx
jge 0x680ffa
sar ebp, 0x1f
shr ebp, 0x1e
mov esi, dword [esp + 0x90]
add ebp, esi
sar ebp, 2
cmp ebp, ecx
jae 0x68111c
movzx ebp, byte [ebp + edi]
mov dword [esp + 0x1f4], eax
xor eax, eax
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x1f4]
jmp 0x68103f
mov edx, dword [esp + 0x104]
jmp 0x680f7d
mov ebx, dword [esp + 0x2ac]
mov ebp, dword [esp + 0x2c8]
mov eax, dword [esp + 0xc8]
jmp 0x67fd7e
lea ecx, [edi + 1]
movzx ebp, byte [esp + 0x2f]
shl ebp, 2
mov edx, dword [esp + 0xd0]
mov edx, dword [esp + 0x104]
mov edi, dword [esp + 0x2b0]
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0xf8]
mov edi, dword [esp + 0x50]
cmp edi, 4
jge 0x680f7d
lea edx, [edi + esi]
cmp ebx, edx
jle 0x680ff1
xchg ebp, eax
mov byte [esp + 0x2f], al
xchg ebp, eax
xchg ebp, eax
shr al, 6
xchg ebp, eax
xchg ebp, eax
movzx ecx, al
xchg ebp, eax
cmp dword [eax + 0x24], ecx
jg 0x681082
xchg ebp, eax
mov byte [esp + 0x2c], al
xchg ebp, eax
mov ebp, dword [eax + 0x28]
inc ecx
cmp ebp, ecx
jb 0x681115
mov dword [eax + 0x24], ecx
movzx ebp, byte [esp + 0x2c]
mov ecx, dword [eax + 0x10]
cmp ecx, edx
jg 0x681014
mov ebx, dword [eax + 0x18]
cmp ebx, edx
jle 0x681100
mov ebx, dword [eax + 0x14]
mov esi, dword [esp + 0xd0]
cmp esi, ebx
jl 0x6810ed
mov edi, dword [eax + 0x1c]
cmp esi, edi
jge 0x6810d6
mov edi, dword [eax + 4]
sub esi, ebx
imul esi, dword [eax + 0xc]
sub edx, ecx
lea ebx, [edx + esi]
nop
cmp edi, ebx
jbe 0x68110c
mov esi, dword [eax]
xchg ebp, eax
mov byte [esi + ebx], al
xchg ebp, eax
mov ebx, dword [esp + 0xc0]
mov esi, dword [esp + 0x90]
mov edi, dword [esp + 0x50]
jmp 0x681014
mov ebx, dword [esp + 0xc0]
mov esi, dword [esp + 0x90]
mov edi, dword [esp + 0x50]
jmp 0x681014
mov ebx, dword [esp + 0xc0]
mov esi, dword [esp + 0x90]
jmp 0x681014
mov ebx, dword [esp + 0xc0]
jmp 0x681014
mov eax, ebx
mov ecx, edi
call fcn.004684c0
mov edx, ebp
call fcn.00468500
mov eax, ebp
call fcn.004684c0
lea ebp, [esi + 8]
mov esi, dword [esp + 0xd0]
mov edi, dword [esp + 0x2b0]
mov ebx, dword [esp + 0x2ac]
mov esi, dword [esp + 0x2bc]
mov dword [esp + 0x94], ebp
mov ebp, dword [esp + 0x2c8]
mov ebp, dword [esp + 0x94]
mov ebx, dword [esp + 0xc0]
cmp ebp, ebx
jge 0x6811a0
sar ebp, 0x1f
shr ebp, 0x1d
mov esi, dword [esp + 0x94]
add ebp, esi
sar ebp, 3
cmp ebp, ecx
jae 0x6812c1
movzx ebp, byte [ebp + edi]
mov dword [esp + 0x1e4], eax
xor eax, eax
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x1e4]
jmp 0x6811e4
mov edx, dword [esp + 0x104]
jmp 0x681123
mov ebx, dword [esp + 0x2ac]
mov ebp, dword [esp + 0x2c8]
mov eax, dword [esp + 0xc8]
jmp 0x67fd7e
lea ecx, [edi + 1]
movzx ebp, byte [esp + 0x30]
shl ebp, 1
mov edx, dword [esp + 0xd0]
mov edx, dword [esp + 0x104]
mov edi, dword [esp + 0x2b0]
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0xf8]
mov edi, dword [esp + 0x54]
cmp edi, 8
jge 0x681123
lea edx, [edi + esi]
cmp ebx, edx
jle 0x681197
xchg ebp, eax
mov byte [esp + 0x30], al
xchg ebp, eax
xchg ebp, eax
shr al, 7
xchg ebp, eax
xchg ebp, eax
movzx ecx, al
xchg ebp, eax
cmp dword [eax + 0x24], ecx
jg 0x681227
xchg ebp, eax
mov byte [esp + 0x2d], al
xchg ebp, eax
mov ebp, dword [eax + 0x28]
inc ecx
cmp ebp, ecx
jb 0x6812ba
mov dword [eax + 0x24], ecx
movzx ebp, byte [esp + 0x2d]
mov ecx, dword [eax + 0x10]
cmp ecx, edx
jg 0x6811ba
mov ebx, dword [eax + 0x18]
cmp ebx, edx
jle 0x6812a5
mov ebx, dword [eax + 0x14]
mov esi, dword [esp + 0xd0]
cmp esi, ebx
jl 0x681292
mov edi, dword [eax + 0x1c]
cmp esi, edi
jge 0x68127b
mov edi, dword [eax + 4]
sub esi, ebx
imul esi, dword [eax + 0xc]
sub edx, ecx
lea ebx, [edx + esi]
nop
cmp edi, ebx
jbe 0x6812b1
mov esi, dword [eax]
xchg ebp, eax
mov byte [esi + ebx], al
xchg ebp, eax
mov ebx, dword [esp + 0xc0]
mov esi, dword [esp + 0x94]
mov edi, dword [esp + 0x54]
jmp 0x6811ba
mov ebx, dword [esp + 0xc0]
mov esi, dword [esp + 0x94]
mov edi, dword [esp + 0x54]
jmp 0x6811ba
mov ebx, dword [esp + 0xc0]
mov esi, dword [esp + 0x94]
jmp 0x6811ba
mov ebx, dword [esp + 0xc0]
jmp 0x6811ba
mov eax, ebx
mov ecx, edi
call fcn.004684c0
mov edx, ebp
call fcn.00468500
mov eax, ebp
call fcn.004684c0
mov byte [ebx + edx + 3], 0xff
mov esi, dword [esp + 0x98]
inc esi
add ebx, 4
add ebp, 3
mov edi, dword [esp + 0xc0]
mov edi, dword [esp + 0x2b0]
mov dword [esp + 0x98], esi
mov dword [esp + 0xe0], ebx
mov dword [esp + 0xd4], ebp
mov ebx, dword [esp + 0x2ac]
mov ebp, dword [esp + 0x280]
mov esi, dword [esp + 0x2bc]
mov ebx, dword [esp + 0x98]
mov esi, dword [esp + 0xc0]
cmp ebx, esi
jge 0x681397
mov ebp, dword [esp + 0xd4]
cmp ebp, ecx
jae 0x6813f6
movzx esi, byte [ebp + edi]
mov ebx, dword [esp + 0xe0]
cmp ebx, eax
jae 0x6813ed
xchg esi, eax
mov byte [edx + ebx], al
xchg esi, eax
lea esi, [ebp + 1]
cmp esi, ecx
jae 0x6813e6
lea esi, [ebx + 1]
movzx edi, byte [ebp + edi + 1]
cmp eax, esi
jbe 0x6813dd
xchg edi, eax
mov byte [ebx + edx + 1], al
xchg edi, eax
lea esi, [ebp + 2]
cmp esi, ecx
jae 0x6813d6
lea esi, [ebx + 2]
mov edi, dword [esp + 0x2b0]
movzx edi, byte [ebp + edi + 2]
cmp eax, esi
jbe 0x6813cd
xchg edi, eax
mov byte [ebx + edx + 2], al
xchg edi, eax
lea esi, [ebx + 3]
cmp eax, esi
ja 0x6812c8
jmp 0x6813c4
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0xc8]
add eax, ecx
mov edx, dword [esp + 0x104]
mov ebx, dword [esp + 0x2ac]
mov ebp, dword [esp + 0x2c8]
mov esi, dword [esp + 0x2bc]
jmp 0x67fd7e
mov ecx, eax
mov eax, esi
call fcn.004684c0
mov ecx, eax
mov eax, esi
call fcn.004684c0
mov eax, esi
call fcn.004684c0
mov ecx, eax
mov eax, esi
call fcn.004684c0
mov eax, esi
call fcn.004684c0
mov ecx, eax
mov eax, ebx
call fcn.004684c0
mov eax, ebp
call fcn.004684c0
movzx eax, byte [esp + 0x38]
mov byte [esi + ebp + 3], al
mov eax, dword [esp + 0x9c]
inc eax
lea ebx, [esi + 4]
mov edx, dword [esp + 0xd8]
add edx, 3
mov esi, dword [esp + 0xc0]
movzx ebp, byte [esp + 0x2a]
movzx esi, byte [esp + 0x28]
mov edi, dword [esp + 0x2b0]
mov dword [esp + 0x9c], eax
mov dword [esp + 0xe4], ebx
mov dword [esp + 0xd8], edx
mov eax, dword [esp + 0xcc]
movzx edx, byte [esp + 0x29]
mov ebx, dword [esp + 0x284]
mov ebx, dword [esp + 0x9c]
mov ebp, dword [esp + 0xc0]
cmp ebx, ebp
jge 0x68153e
mov ebp, dword [esp + 0xd8]
cmp ebp, ecx
jae 0x681591
lea ebx, [ebp + 1]
movzx eax, byte [ebp + edi]
cmp ebx, ecx
jae 0x68158a
lea ebx, [ebp + 2]
movzx edx, byte [ebp + edi + 1]
cmp ebx, ecx
jae 0x681583
movzx ebx, byte [ebp + edi + 2]
xchg esi, ebx
cmp al, bl
xchg esi, ebx
jne 0x6814e1
movzx esi, byte [esp + 0x29]
xchg esi, eax
cmp dl, al
xchg esi, eax
jne 0x6814da
movzx esi, byte [esp + 0x2a]
xchg esi, eax
cmp bl, al
xchg esi, eax
jne 0x6814e6
mov byte [esp + 0x1b4], al
xor eax, eax
mov byte [esp + 0x38], al
movzx eax, byte [esp + 0x1b4]
jmp 0x6814fe
movzx esi, byte [esp + 0x2a]
jmp 0x6814e6
movzx esi, byte [esp + 0x2a]
mov byte [esp + 0x1bc], al
mov eax, 0xffffffff
mov byte [esp + 0x38], al
movzx eax, byte [esp + 0x1bc]
mov esi, dword [esp + 0xe4]
mov edi, dword [esp + 0xcc]
cmp esi, edi
jae 0x68157a
mov ebp, dword [esp + 0x284]
mov byte [ebp + esi], al
lea eax, [esi + 1]
cmp edi, eax
jbe 0x681573
mov byte [esi + ebp + 1], dl
lea eax, [esi + 2]
cmp edi, eax
jbe 0x68156c
mov byte [esi + ebp + 2], bl
lea eax, [esi + 3]
cmp edi, eax
ja 0x6813fd
jmp 0x681565
mov ecx, dword [esp + 0x294]
mov edx, dword [ecx + 0xc]
mov ebx, dword [esp + 0xc8]
lea eax, [ebx + edx]
mov ebp, dword [esp + 0x280]
mov esi, dword [esp + 0xc0]
jmp 0x6813a3
mov ecx, edi
call fcn.004684c0
mov ecx, edi
call fcn.004684c0
mov ecx, edi
call fcn.004684c0
mov eax, esi
mov ecx, edi
call fcn.004684c0
mov eax, ebx
call fcn.004684c0
mov eax, ebx
call fcn.004684c0
mov eax, ebp
call fcn.004684c0
movzx eax, byte [ebx]
lea ecx, [edi + edx*2 + 1]
movzx ecx, byte [ecx]
mov ebx, dword [esp + 0x294]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov ebp, dword [esp + 0xd0]
mov dword [esp + 8], ebp
mov byte [esp + 0xc], al
mov byte [esp + 0xd], al
mov byte [esp + 0xe], al
mov byte [esp + 0xf], cl
call fcn.004f46e0
mov eax, dword [esp + 0xa0]
inc eax
mov ecx, dword [esp + 0xc0]
mov edx, dword [esp + 0x294]
mov ebx, dword [esp + 0x2b0]
mov ebp, dword [esp + 0xd0]
mov esi, dword [esp + 0xf8]
mov ecx, esi
mov edx, dword [esp + 0x104]
mov ebx, dword [esp + 0x2ac]
mov ebp, dword [esp + 0x2c8]
mov esi, dword [esp + 0x2bc]
mov edi, dword [esp + 0x2b0]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0xc0]
mov ebp, dword [esp + 0xa0]
cmp ebp, eax
jge 0x681654
shl ebp, 1
cmp ebp, ecx
jae 0x68166e
inc ebp
mov edx, dword [esp + 0xa0]
lea ebx, [edi + edx*2]
cmp ebp, ecx
jb 0x681598
jmp 0x681667
mov ebp, dword [esp + 0x2c8]
mov eax, dword [esp + 0xc8]
jmp 0x67fd7e
mov eax, ebp
call fcn.004684c0
mov eax, ebp
call fcn.004684c0
mov edx, dword [esp + 0x104]
mov ebp, dword [esp + 0x2c8]
mov esi, dword [esp + 0x2bc]
mov eax, ebx
mov ebx, dword [esp + 0x2ac]
jmp 0x67fd7e
mov ecx, eax
mov eax, edx
call fcn.00468520
mov eax, dword [esp + 0x294]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov ecx, dword [esp + 0xd0]
mov dword [esp + 8], ecx
mov byte [esp + 0xc], bl
mov byte [esp + 0xd], bl
mov byte [esp + 0xe], bl
movzx edx, byte [esp + 0x35]
mov byte [esp + 0xf], dl
call fcn.004f46e0
mov eax, dword [esp + 0xa4]
inc eax
mov ecx, dword [esp + 0xc0]
mov edx, dword [esp + 0x294]
movzx ebx, byte [esp + 0x24]
mov ebp, dword [esp + 0xd0]
mov esi, dword [esp + 0x2b0]
mov edi, dword [esp + 0xf8]
mov ecx, edi
mov edx, dword [esp + 0x104]
mov ebx, dword [esp + 0x2ac]
mov ebp, dword [esp + 0x2c8]
mov esi, dword [esp + 0x2bc]
mov edi, dword [esp + 0x2b0]
mov dword [esp + 0xa4], eax
movzx eax, byte [esp + 0x24]
mov ebp, dword [esp + 0xa4]
mov edx, dword [esp + 0xc0]
cmp ebp, edx
jge 0x68177b
cmp ebp, ecx
jae 0x68178e
movzx ebx, byte [ebp + edi]
cmp bl, al
jne 0x681766
mov byte [esp + 0x194], al
xor eax, eax
mov byte [esp + 0x35], al
jmp 0x6816a1
mov byte [esp + 0x19c], al
mov eax, 0xffffffff
mov byte [esp + 0x35], al
jmp 0x6816a1
mov ebp, dword [esp + 0x2a0]
mov ebx, dword [esp + 0xc8]
jmp 0x681675
mov eax, ebp
call fcn.004684c0
add ebx, 2
mov ebp, dword [esp + 0xd0]
mov edx, dword [esp + 0x104]
mov ebp, dword [esp + 0x2c8]
mov esi, dword [esp + 0x2bc]
mov dword [esp + 0xa8], ebx
mov ebx, dword [esp + 0x2ac]
mov ebp, dword [esp + 0xa8]
mov edx, dword [esp + 0xc0]
cmp ebp, edx
jge 0x68180e
shr ebp, 0x1f
mov ebx, dword [esp + 0xa8]
add ebp, ebx
sar ebp, 1
cmp ebp, ecx
jae 0x68190b
movzx ebp, byte [ebp + edi]
mov dword [esp + 0x184], eax
xor eax, eax
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x184]
jmp 0x681863
mov edi, dword [esp + 0x2b0]
jmp 0x681795
mov edx, dword [esp + 0x104]
mov ebp, dword [esp + 0x2c8]
mov eax, dword [esp + 0xc8]
jmp 0x67fd7e
lea ecx, [esi + 1]
movzx ebp, byte [esp + 0x31]
shl ebp, 4
mov edx, dword [esp + 0xa8]
mov esi, dword [esp + 0xc0]
mov edx, esi
mov ebx, dword [esp + 0xa8]
mov esi, dword [esp + 0x2bc]
mov edi, dword [esp + 0x2b0]
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0xf8]
mov esi, dword [esp + 0x58]
cmp esi, 2
jge 0x681795
lea edi, [esi + ebx]
cmp edx, edi
jle 0x681805
xchg ebp, eax
mov byte [esp + 0x31], al
xchg ebp, eax
xchg ebp, eax
shr al, 4
xchg ebp, eax
xchg ebp, eax
mov byte [esp + 0x39], al
xchg ebp, eax
shl ebp, 4
mov ecx, dword [eax + 0x10]
movzx edx, byte [esp + 0x39]
add edx, ebp
cmp ecx, edi
jg 0x6818f6
mov ebp, dword [eax + 0x18]
cmp ebp, edi
jle 0x6818ea
mov ebp, dword [eax + 0x14]
mov ebx, dword [esp + 0xd0]
cmp ebx, ebp
jl 0x681828
mov esi, dword [eax + 0x1c]
cmp ebx, esi
jge 0x6818e1
mov esi, dword [eax + 4]
sub ebx, ebp
imul ebx, dword [eax + 0xc]
sub edi, ecx
add ebx, edi
nop
cmp esi, ebx
jbe 0x681902
mov ebp, dword [eax]
mov byte [ebp + ebx], dl
mov ebx, dword [esp + 0xd0]
mov esi, dword [esp + 0x58]
jmp 0x681828
mov esi, dword [esp + 0x58]
jmp 0x681828
mov ebx, dword [esp + 0xd0]
jmp 0x681828
mov ebx, dword [esp + 0xd0]
jmp 0x681828
mov eax, ebx
mov ecx, esi
call fcn.004684c0
mov eax, ebp
call fcn.004684c0
add ebx, 2
mov ebp, dword [esp + 0x294]
mov esi, dword [esp + 0xd0]
mov edx, dword [esp + 0x104]
mov ebp, dword [esp + 0x2c8]
mov esi, dword [esp + 0x2bc]
mov dword [esp + 0xac], ebx
mov ebx, dword [esp + 0x2ac]
mov ebp, dword [esp + 0xac]
mov edx, dword [esp + 0xc0]
cmp ebp, edx
jge 0x68198d
shr ebp, 0x1f
mov ebx, dword [esp + 0xac]
add ebp, ebx
sar ebp, 1
cmp ebp, ecx
jae 0x681a6d
movzx ebp, byte [ebp + edi]
mov byte [esp + 0x174], al
xor eax, eax
mov dword [esp + 0x5c], eax
movzx eax, byte [esp + 0x174]
jmp 0x681a22
mov eax, dword [esp + 0x2a0]
jmp 0x68180e
mov eax, dword [esp + 0x294]
mov dword [esp], eax
mov dword [esp + 4], esi
mov ecx, dword [esp + 0xd0]
mov dword [esp + 8], ecx
xchg ebp, eax
mov byte [esp + 0xc], al
xchg ebp, eax
xchg ebp, eax
mov byte [esp + 0xd], al
xchg ebp, eax
xchg ebp, eax
mov byte [esp + 0xe], al
xchg ebp, eax
xchg edi, eax
mov byte [esp + 0xf], al
xchg edi, eax
call fcn.004f46e0
mov eax, dword [esp + 0x5c]
inc eax
movzx ebp, byte [esp + 0x32]
shl ebp, 4
mov ecx, dword [esp + 0xac]
mov edx, dword [esp + 0xc0]
mov ebx, dword [esp + 0x294]
movzx esi, byte [esp + 0x25]
mov edi, dword [esp + 0xd0]
mov ecx, dword [esp + 0xf8]
mov ebx, dword [esp + 0xac]
mov esi, dword [esp + 0x2bc]
mov edi, dword [esp + 0x2b0]
mov dword [esp + 0x5c], eax
movzx eax, byte [esp + 0x25]
mov esi, dword [esp + 0x5c]
cmp esi, 2
jge 0x681912
add esi, ebx
cmp edx, esi
jle 0x681912
xchg ebp, eax
mov byte [esp + 0x32], al
xchg ebp, eax
xchg ebp, eax
shr al, 4
xchg ebp, eax
xchg ebp, eax
mov byte [esp + 0x39], al
xchg ebp, eax
shl ebp, 4
movzx edi, byte [esp + 0x39]
add ebp, edi
xchg ebp, ebx
cmp al, bl
xchg ebp, ebx
jne 0x681a63
xor edi, edi
jmp 0x681999
mov edi, 0xffffffff
jmp 0x681999
mov eax, ebp
call fcn.004684c0
add edx, 4
mov ebx, dword [esp + 0x2a0]
mov ebp, dword [esp + 0xd0]
mov ebx, dword [esp + 0x2ac]
mov ebp, dword [esp + 0x2c8]
mov dword [esp + 0xb0], edx
mov edx, dword [esp + 0x104]
mov ebp, dword [esp + 0xb0]
cmp ebp, eax
jge 0x681aea
sar ebp, 0x1f
shr ebp, 0x1e
mov edx, dword [esp + 0xb0]
add ebp, edx
sar ebp, 2
cmp ebp, ecx
jae 0x681be1
movzx ebp, byte [ebp + edi]
mov dword [esp + 0x164], eax
xor eax, eax
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x164]
jmp 0x681b2a
mov esi, dword [esp + 0x2bc]
jmp 0x681a74
mov ebp, dword [esp + 0x2c8]
mov eax, dword [esp + 0xc8]
jmp 0x67fd7e
lea ecx, [ebx + 1]
shl ebp, 2
mov ebx, dword [esp + 0xd0]
mov ebx, dword [esp + 0x2ac]
mov esi, dword [esp + 0x2bc]
mov edi, dword [esp + 0x2b0]
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0xf8]
mov ebx, dword [esp + 0x60]
cmp ebx, 4
jge 0x681a74
lea esi, [ebx + edx]
cmp eax, esi
jle 0x681ae1
mov edi, dword [esp + 0x2a0]
mov ecx, dword [edi + 0x10]
cmp ecx, esi
jg 0x681afd
mov eax, dword [edi + 0x18]
cmp eax, esi
jle 0x681bce
mov eax, dword [edi + 0x14]
mov edx, dword [esp + 0xd0]
cmp edx, eax
jl 0x681bbb
mov ebx, dword [edi + 0x1c]
cmp edx, ebx
jge 0x681ba4
mov ebx, dword [edi + 4]
sub edx, eax
imul edx, dword [edi + 0xc]
sub esi, ecx
lea eax, [esi + edx]
nop
cmp ebx, eax
jbe 0x681bda
mov edx, ebp
xchg ebp, eax
shr al, 6
xchg ebp, eax
imul ebx, ebp, 0x55
mov ebp, dword [edi]
mov byte [ebp + eax], bl
mov eax, dword [esp + 0xc0]
mov ebx, dword [esp + 0x60]
mov ebp, edx
mov edx, dword [esp + 0xb0]
jmp 0x681afd
mov eax, dword [esp + 0xc0]
mov edx, dword [esp + 0xb0]
mov ebx, dword [esp + 0x60]
jmp 0x681afd
mov eax, dword [esp + 0xc0]
mov edx, dword [esp + 0xb0]
jmp 0x681afd
mov eax, dword [esp + 0xc0]
jmp 0x681afd
mov ecx, ebx
call fcn.004684c0
mov eax, ebp
call fcn.004684c0
add ebx, 4
mov ebp, dword [esp + 0x294]
mov esi, dword [esp + 0xd0]
mov edx, dword [esp + 0x104]
mov ebp, dword [esp + 0x2c8]
mov esi, dword [esp + 0x2bc]
mov dword [esp + 0xb4], ebx
mov ebx, dword [esp + 0x2ac]
mov ebp, dword [esp + 0xb4]
mov edx, dword [esp + 0xc0]
cmp ebp, edx
jge 0x681c67
sar ebp, 0x1f
shr ebp, 0x1e
mov ebx, dword [esp + 0xb4]
add ebp, ebx
sar ebp, 2
cmp ebp, ecx
jae 0x681d55
movzx ebp, byte [ebp + edi]
mov byte [esp + 0x154], al
xor eax, eax
mov dword [esp + 0x64], eax
movzx eax, byte [esp + 0x154]
jmp 0x681d01
mov eax, edx
mov edx, dword [esp + 0x104]
jmp 0x681aea
mov eax, dword [esp + 0x294]
mov dword [esp], eax
mov dword [esp + 4], esi
mov ecx, dword [esp + 0xd0]
mov dword [esp + 8], ecx
xchg ebp, eax
mov byte [esp + 0xc], al
xchg ebp, eax
xchg ebp, eax
mov byte [esp + 0xd], al
xchg ebp, eax
xchg ebp, eax
mov byte [esp + 0xe], al
xchg ebp, eax
movzx edx, byte [esp + 0x36]
mov byte [esp + 0xf], dl
call fcn.004f46e0
mov eax, dword [esp + 0x64]
inc eax
movzx ebp, byte [esp + 0x33]
shl ebp, 2
mov ecx, dword [esp + 0xb4]
mov edx, dword [esp + 0xc0]
mov ebx, dword [esp + 0x294]
movzx esi, byte [esp + 0x26]
mov edi, dword [esp + 0xd0]
mov ecx, dword [esp + 0xf8]
mov ebx, dword [esp + 0xb4]
mov esi, dword [esp + 0x2bc]
mov edi, dword [esp + 0x2b0]
mov dword [esp + 0x64], eax
movzx eax, byte [esp + 0x26]
mov esi, dword [esp + 0x64]
cmp esi, 4
jge 0x681be8
add esi, ebx
cmp edx, esi
jle 0x681be8
xchg ebp, eax
mov byte [esp + 0x33], al
xchg ebp, eax
xchg ebp, eax
shr al, 6
xchg ebp, eax
imul ebp, ebp, 0x55
xchg ebp, ebx
cmp al, bl
xchg ebp, ebx
jne 0x681d40
mov byte [esp + 0x144], al
xor eax, eax
mov byte [esp + 0x36], al
jmp 0x681c75
mov byte [esp + 0x14c], al
mov eax, 0xffffffff
mov byte [esp + 0x36], al
jmp 0x681c75
mov eax, ebp
call fcn.004684c0
add edx, 8
mov ebx, dword [esp + 0x2a0]
mov ebp, dword [esp + 0xd0]
mov ebx, dword [esp + 0x2ac]
mov ebp, dword [esp + 0x2c8]
mov dword [esp + 0xb8], edx
mov edx, dword [esp + 0x104]
mov ebp, dword [esp + 0xb8]
cmp ebp, eax
jge 0x681dd2
sar ebp, 0x1f
shr ebp, 0x1d
mov edx, dword [esp + 0xb8]
add ebp, edx
sar ebp, 3
cmp ebp, ecx
jae 0x681ed2
movzx ebp, byte [ebp + edi]
mov dword [esp + 0x134], eax
xor eax, eax
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x134]
jmp 0x681e11
mov esi, dword [esp + 0x2bc]
jmp 0x681d5c
mov ebp, dword [esp + 0x2c8]
mov eax, dword [esp + 0xc8]
jmp 0x67fd7e
lea ecx, [ebx + 1]
shl ebp, 1
mov ebx, dword [esp + 0xd0]
mov ebx, dword [esp + 0x2ac]
mov esi, dword [esp + 0x2bc]
mov edi, dword [esp + 0x2b0]
mov dword [esp + 0x68], ecx
mov ecx, dword [esp + 0xf8]
mov ebx, dword [esp + 0x68]
cmp ebx, 8
jge 0x681d5c
lea esi, [ebx + edx]
cmp eax, esi
jle 0x681dc9
mov edi, dword [esp + 0x2a0]
mov ecx, dword [edi + 0x10]
cmp ecx, esi
jg 0x681de5
mov eax, dword [edi + 0x18]
cmp eax, esi
jle 0x681ebf
mov eax, dword [edi + 0x14]
mov edx, dword [esp + 0xd0]
cmp edx, eax
jl 0x681eac
mov ebx, dword [edi + 0x1c]
cmp edx, ebx
jge 0x681e95
mov ebx, dword [edi + 4]
sub edx, eax
imul edx, dword [edi + 0xc]
sub esi, ecx
lea eax, [esi + edx]
nop
cmp ebx, eax
jbe 0x681ecb
mov edx, ebp
xchg ebp, eax
shr al, 7
xchg ebp, eax
xchg ebp, ebx
neg ebx
xchg ebp, ebx
mov ebx, dword [edi]
xchg ebp, ecx
mov byte [ebx + eax], cl
xchg ebp, ecx
mov eax, dword [esp + 0xc0]
mov ebx, dword [esp + 0x68]
mov ebp, edx
mov edx, dword [esp + 0xb8]
jmp 0x681de5
mov eax, dword [esp + 0xc0]
mov edx, dword [esp + 0xb8]
mov ebx, dword [esp + 0x68]
jmp 0x681de5
mov eax, dword [esp + 0xc0]
mov edx, dword [esp + 0xb8]
jmp 0x681de5
mov eax, dword [esp + 0xc0]
jmp 0x681de5
mov ecx, ebx
call fcn.004684c0
mov eax, ebp
call fcn.004684c0
add ebx, 8
mov ebp, dword [esp + 0x294]
mov esi, dword [esp + 0xd0]
mov edx, dword [esp + 0x104]
mov ebp, dword [esp + 0x2c8]
mov esi, dword [esp + 0x2bc]
mov dword [esp + 0xbc], ebx
mov ebx, dword [esp + 0x2ac]
mov ebp, dword [esp + 0xbc]
mov edx, dword [esp + 0xc0]
cmp ebp, edx
jge 0x681f58
sar ebp, 0x1f
shr ebp, 0x1d
mov ebx, dword [esp + 0xbc]
add ebp, ebx
sar ebp, 3
cmp ebp, ecx
jae 0x682048
movzx ebp, byte [ebp + edi]
mov byte [esp + 0x124], al
xor eax, eax
mov dword [esp + 0x6c], eax
movzx eax, byte [esp + 0x124]
jmp 0x681ff1
mov eax, edx
mov edx, dword [esp + 0x104]
jmp 0x681dd2
mov eax, dword [esp + 0x294]
mov dword [esp], eax
mov dword [esp + 4], esi
mov ecx, dword [esp + 0xd0]
mov dword [esp + 8], ecx
xchg ebp, eax
mov byte [esp + 0xc], al
xchg ebp, eax
xchg ebp, eax
mov byte [esp + 0xd], al
xchg ebp, eax
xchg ebp, eax
mov byte [esp + 0xe], al
xchg ebp, eax
movzx edx, byte [esp + 0x37]
mov byte [esp + 0xf], dl
call fcn.004f46e0
mov eax, dword [esp + 0x6c]
inc eax
movzx ebp, byte [esp + 0x34]
shl ebp, 1
mov ecx, dword [esp + 0xbc]
mov edx, dword [esp + 0xc0]
mov ebx, dword [esp + 0x294]
movzx esi, byte [esp + 0x27]
mov edi, dword [esp + 0xd0]
mov ecx, dword [esp + 0xf8]
mov ebx, dword [esp + 0xbc]
mov esi, dword [esp + 0x2bc]
mov edi, dword [esp + 0x2b0]
mov dword [esp + 0x6c], eax
movzx eax, byte [esp + 0x27]
mov esi, dword [esp + 0x6c]
cmp esi, 8
jge 0x681ed9
add esi, ebx
cmp edx, esi
jle 0x681ed9
xchg ebp, eax
mov byte [esp + 0x34], al
xchg ebp, eax
xchg ebp, eax
shr al, 7
xchg ebp, eax
xchg ebp, ebx
neg ebx
xchg ebp, ebx
xchg ebp, ebx
cmp al, bl
xchg ebp, ebx
jne 0x682033
mov byte [esp + 0x114], al
xor eax, eax
mov byte [esp + 0x37], al
jmp 0x681f66
mov byte [esp + 0x11c], al
mov eax, 0xffffffff
mov byte [esp + 0x37], al
jmp 0x681f66
mov eax, ebp
call fcn.004684c0
movzx esi, byte [ebx + ebp]
xchg esi, eax
shr al, 1
xchg esi, eax
add edx, esi
mov byte [edi + ebx], dl
lea edx, [ebx + 1]
mov ebx, dword [esp + 0x2ac]
mov esi, dword [esp + 0x2bc]
mov dword [esp + 0xec], edx
mov edx, dword [esp + 0x104]
mov ebx, dword [esp + 0xec]
cmp ebx, eax
jge 0x682096
cmp ebx, ecx
jae 0x682119
movzx edx, byte [ebx + edi]
jb 0x68204f
jmp 0x682112
mov dword [esp + 0x288], ebp
mov ebx, eax
jmp 0x6820cd
movzx ebp, byte [esi + ebp]
add eax, ebp
mov ebp, eax
shr eax, 0x1f
add eax, ebp
sar eax, 1
add eax, edx
mov byte [edi + esi], al
lea eax, [esi + 1]
mov ebp, dword [esp + 0x288]
mov edx, dword [esp + 0x104]
mov esi, dword [esp + 0x2bc]
cmp eax, ecx
jge 0x6820f5
jae 0x68210d
mov dword [esp + 0xe8], eax
sub eax, ebx
mov esi, dword [esp + 0xe8]
movzx edx, byte [esi + edi]
cmp eax, ecx
jae 0x682108
movzx eax, byte [eax + edi]
cmp esi, ecx
jb 0x6820a1
jmp 0x682101
mov ebx, dword [esp + 0x2ac]
jmp 0x67fef1
mov eax, esi
call fcn.004684c0
call fcn.004684c0
call fcn.004684c0
mov eax, ebx
call fcn.004684c0
mov eax, ebx
call fcn.004684c0
movzx ebx, byte [eax + edi]
add edx, ebx
mov byte [edi + eax], dl
inc eax
mov edx, dword [esp + 0x104]
mov ebx, dword [esp + 0x2ac]
cmp eax, ecx
jge 0x67fef1
movzx edx, byte [eax + ebp]
jb 0x682120
call fcn.004684c0
movzx eax, byte [eax + edi]
add eax, edx
mov byte [edi + ebx], al
lea eax, [ebx + 1]
mov edx, dword [esp + 0x104]
mov ebx, dword [esp + 0x2ac]
cmp eax, ecx
jge 0x67fef1
jae 0x68218c
mov dword [esp + 0xf0], eax
sub eax, ebp
mov ebx, dword [esp + 0xf0]
movzx edx, byte [ebx + edi]
cmp eax, ecx
jb 0x68214b
call fcn.004684c0
call fcn.004684c0
mov eax, 1
xor ecx, ecx
call fcn.00468520
mov eax, 1
xor ecx, ecx
call fcn.00468520
call fcn.00437570
call fcn.00437570
call fcn.004684c0
nop
call fcn.00467050
jmp fcn.0067f200