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

Disassembly:
mov ecx, dword [0x63a67440]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x250]
cmp eax, dword [ecx + 8]
jbe 0x638465a8
sub esp, 0x2d0
mov edx, dword [esp + 0x2d4]
mov ebx, dword [edx + 0x18]
mov ebp, dword [edx + 0x1c]
cmp dword [edx + 0x33c], 1
jne 0x6384371e
movzx esi, byte [esp + 0x2e4]
xchg esi, eax
test al, al
xchg esi, eax
jne 0x63843726
mov ecx, dword [0x638ac1dc]
mov eax, dword [esp + 0x2e0]
cmp eax, ecx
jae 0x638465a2
shl eax, 4
mov ecx, dword [0x638ac1d8]
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 0x6384659d
sub ebp, ecx
cmp edi, 0xffffffff
je 0x638436a4
cdq
idiv edi
jmp 0x638436a6
neg eax
lea ecx, [esi + ebp - 1]
test esi, esi
je 0x63846598
mov dword [esp + 0xc0], eax
mov eax, ecx
cmp esi, 0xffffffff
je 0x638436c5
cdq
idiv esi
jmp 0x638436c7
neg eax
mov ecx, dword [esp + 0xc0]
test ecx, ecx
je 0x638436d6
test eax, eax
jne 0x63843709
mov dword [esp + 0x2e8], 0
mov dword [esp + 0x2ec], 0
mov dword [esp + 0x2f0], 0
mov dword [esp + 0x2f4], 0
add esp, 0x2d0
ret
mov edx, dword [esp + 0x2d4]
movzx esi, byte [esp + 0x2e4]
mov ebx, ecx
mov ebp, eax
jmp 0x63843726
movzx esi, byte [esp + 0x2e4]
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xf4], ebp
mov ecx, dword [edx + 0x30]
cmp ecx, 0xa
jg 0x63843b42
cmp ecx, 5
jg 0x63843950
lea edi, [ecx - 1]
cmp edi, 3
ja 0x63843885
movzx eax, byte [edx + 0x340]
mov ecx, dword [edx + 0x20]
mov dword [esp + 0x104], ecx
test al, al
je 0x638437c4
test ebx, ebx
jge 0x63843774
mov eax, ebx
xor edi, edi
jmp 0x6384377a
mov eax, ebx
xor ebx, ebx
mov edi, eax
test ebp, ebp
jge 0x6384378d
mov dword [esp + 0x280], eax
xor eax, eax
mov dword [esp + 0x48], eax
jmp 0x6384379c
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.63832f70
mov eax, dword [esp + 0x10]
lea ecx, [0x6393ca10]
mov edx, eax
xor ebx, ebx
jmp 0x6384381c
test ebx, ebx
jge 0x638437ce
mov eax, ebx
xor edi, edi
jmp 0x638437d4
mov eax, ebx
xor ebx, ebx
mov edi, eax
test ebp, ebp
jge 0x638437e7
mov dword [esp + 0x278], eax
xor eax, eax
mov dword [esp + 0x44], eax
jmp 0x638437f6
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.63833410
mov eax, dword [esp + 0x10]
lea ecx, [0x6393c9a0]
xor edx, edx
mov ebx, eax
mov ebp, dword [esp + 0xf4]
movzx esi, byte [esp + 0x2e4]
xor edi, edi
xor ebp, ebp
mov dword [esp + 0x2a0], ebp
xor esi, esi
mov dword [esp + 0x2b0], esi
xor ebp, ebp
mov dword [esp + 0x290], ebp
xor ebp, ebp
mov dword [esp + 0x2a4], ebp
mov dword [esp + 0xdc], ecx
mov dword [esp + 0x2ac], eax
mov eax, ebx
mov ecx, edx
mov ebp, dword [esp + 0xf4]
movzx esi, byte [esp + 0x2e4]
mov edx, dword [esp + 0x2d4]
mov ebx, dword [esp + 0xc0]
jmp 0x63844001
cmp ecx, 5
jne 0x63843fba
test ebx, ebx
jge 0x63843898
mov eax, ebx
xor ecx, ecx
jmp 0x6384389e
mov eax, ebx
xor ebx, ebx
mov ecx, eax
test ebp, ebp
jge 0x638438a6
xor edi, edi
jmp 0x638438af
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.63832f70
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x2d4]
mov ebx, dword [esp + 0xc0]
mov ebp, dword [esp + 0xf4]
movzx esi, byte [esp + 0x2e4]
mov ecx, eax
xor edi, edi
xor eax, eax
mov dword [esp + 0x2a0], eax
xor edx, edx
mov dword [esp + 0x2b0], edx
xor ebx, ebx
mov dword [esp + 0x290], ebx
xor ebp, ebp
mov dword [esp + 0x2a4], ebp
lea esi, [0x6393ca10]
mov dword [esp + 0xdc], esi
mov dword [esp + 0x2ac], ecx
mov eax, 0x10
mov dword [esp + 0x104], eax
xor eax, eax
mov edx, dword [esp + 0x2d4]
mov ebx, dword [esp + 0xc0]
mov ebp, dword [esp + 0xf4]
movzx esi, byte [esp + 0x2e4]
jmp 0x63844001
cmp ecx, 6
jne 0x63843a61
movzx eax, byte [edx + 0x340]
test al, al
je 0x638439a9
test ebx, ebx
jge 0x6384396e
mov eax, ebx
xor ecx, ecx
jmp 0x63843974
mov eax, ebx
xor ebx, ebx
mov ecx, eax
test ebp, ebp
jge 0x6384397c
xor edi, edi
jmp 0x63843985
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.63832f70
mov eax, dword [esp + 0x10]
lea ecx, [0x6393ca10]
mov edx, eax
xor ebx, ebx
jmp 0x638439ec
test ebx, ebx
jge 0x638439b3
mov eax, ebx
xor ecx, ecx
jmp 0x638439b9
mov eax, ebx
xor ebx, ebx
mov ecx, eax
test ebp, ebp
jge 0x638439c1
xor edi, edi
jmp 0x638439ca
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.63832ba0
mov eax, dword [esp + 0x10]
lea ecx, [0x6393c914]
xor edx, edx
mov ebx, eax
mov ebp, dword [esp + 0xf4]
movzx esi, byte [esp + 0x2e4]
mov edi, ebx
xor ebx, ebx
mov dword [esp + 0x2a0], ebx
xor ebp, ebp
mov dword [esp + 0x2b0], ebp
xor esi, esi
mov dword [esp + 0x290], esi
xor ebx, ebx
mov dword [esp + 0x2a4], ebx
mov dword [esp + 0xdc], ecx
mov dword [esp + 0x2ac], eax
mov ebx, 0x18
mov dword [esp + 0x104], ebx
mov ebx, dword [esp + 0xc0]
xor eax, eax
mov ecx, edx
mov ebp, dword [esp + 0xf4]
movzx esi, byte [esp + 0x2e4]
mov edx, dword [esp + 0x2d4]
jmp 0x63844001
test ebx, ebx
jge 0x63843a6b
mov eax, ebx
xor ecx, ecx
jmp 0x63843a71
mov eax, ebx
xor ebx, ebx
mov ecx, eax
test ebp, ebp
jge 0x63843a79
xor edi, edi
jmp 0x63843a82
xor ebp, ebp
mov edi, dword [esp + 0xf4]
mov eax, dword [edx + 0x24]
mov esi, dword [edx + 0x28]
mov dword [esp + 0x28c], esi
mov esi, dword [edx + 0x2c]
mov edx, dword [edx + 0x20]
mov dword [esp + 0x104], 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 + 0x28c]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], esi
call fcn.63833840
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x2d4]
mov ebx, dword [esp + 0xc0]
mov ebp, dword [esp + 0xf4]
movzx esi, byte [esp + 0x2e4]
xor ecx, ecx
xor edi, edi
mov dword [esp + 0x2a0], eax
xor edx, edx
mov dword [esp + 0x2b0], edx
xor ebx, ebx
mov dword [esp + 0x290], ebx
xor ebp, ebp
mov dword [esp + 0x2a4], ebp
lea esi, [0x6393c94c]
mov dword [esp + 0xdc], esi
mov dword [esp + 0x2ac], eax
xor eax, eax
mov edx, dword [esp + 0x2d4]
mov ebx, dword [esp + 0xc0]
mov ebp, dword [esp + 0xf4]
movzx esi, byte [esp + 0x2e4]
jmp 0x63844001
cmp ecx, 0xc
jg 0x63843d1a
cmp ecx, 0xb
jne 0x63843c16
test ebx, ebx
jge 0x63843b5e
mov eax, ebx
xor ecx, ecx
jmp 0x63843b64
mov eax, ebx
xor ebx, ebx
mov ecx, eax
test ebp, ebp
jge 0x63843b6c
xor edi, edi
jmp 0x63843b75
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.63832f70
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x2d4]
mov ebx, dword [esp + 0xc0]
mov ebp, dword [esp + 0xf4]
movzx esi, byte [esp + 0x2e4]
mov ecx, eax
xor edi, edi
xor eax, eax
mov dword [esp + 0x2a0], eax
xor edx, edx
mov dword [esp + 0x2b0], edx
xor ebx, ebx
mov dword [esp + 0x290], ebx
xor ebp, ebp
mov dword [esp + 0x2a4], ebp
lea esi, [0x6393ca10]
mov dword [esp + 0xdc], esi
mov dword [esp + 0x2ac], ecx
mov eax, 0x20
mov dword [esp + 0x104], eax
xor eax, eax
mov edx, dword [esp + 0x2d4]
mov ebx, dword [esp + 0xc0]
mov ebp, dword [esp + 0xf4]
movzx esi, byte [esp + 0x2e4]
jmp 0x63844001
movzx eax, byte [edx + 0x340]
test al, al
je 0x63843c66
test ebx, ebx
jge 0x63843c2b
mov eax, ebx
xor ecx, ecx
jmp 0x63843c31
mov eax, ebx
xor ebx, ebx
mov ecx, eax
test ebp, ebp
jge 0x63843c39
xor edi, edi
jmp 0x63843c42
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.63833160
mov eax, dword [esp + 0x10]
lea ecx, [0x6393c9f4]
mov edx, eax
xor ebx, ebx
jmp 0x63843ca9
test ebx, ebx
jge 0x63843c70
mov eax, ebx
xor ecx, ecx
jmp 0x63843c76
mov eax, ebx
xor ebx, ebx
mov ecx, eax
test ebp, ebp
jge 0x63843c7e
xor edi, edi
jmp 0x63843c87
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.638335e0
mov eax, dword [esp + 0x10]
lea ecx, [0x6393c984]
xor edx, edx
mov ebx, eax
mov ebp, dword [esp + 0xf4]
movzx esi, byte [esp + 0x2e4]
xor edi, edi
xor ebp, ebp
mov dword [esp + 0x2a0], ebp
mov dword [esp + 0x2b0], ebx
xor esi, esi
mov dword [esp + 0x290], esi
mov dword [esp + 0x2a4], edx
mov dword [esp + 0xdc], ecx
mov dword [esp + 0x2ac], eax
mov ebp, 0x10
mov dword [esp + 0x104], ebp
mov edx, dword [esp + 0x2d4]
mov ebx, dword [esp + 0xc0]
xor eax, eax
xor ecx, ecx
mov ebp, dword [esp + 0xf4]
movzx esi, byte [esp + 0x2e4]
jmp 0x63844001
cmp ecx, 0xd
jne 0x63843de5
test ebx, ebx
jge 0x63843d2d
mov eax, ebx
xor ecx, ecx
jmp 0x63843d33
mov eax, ebx
xor ebx, ebx
mov ecx, eax
test ebp, ebp
jge 0x63843d3b
xor edi, edi
jmp 0x63843d44
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.63833160
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x2d4]
mov ebx, dword [esp + 0xc0]
mov ebp, dword [esp + 0xf4]
movzx esi, byte [esp + 0x2e4]
xor ecx, ecx
xor edi, edi
xor edx, edx
mov dword [esp + 0x2a0], edx
xor ebx, ebx
mov dword [esp + 0x2b0], ebx
xor ebp, ebp
mov dword [esp + 0x290], ebp
mov dword [esp + 0x2a4], eax
lea esi, [0x6393c9f4]
mov dword [esp + 0xdc], esi
mov dword [esp + 0x2ac], eax
mov ecx, 0x20
mov dword [esp + 0x104], ecx
xor eax, eax
mov edx, dword [esp + 0x2d4]
mov ebx, dword [esp + 0xc0]
mov ebp, dword [esp + 0xf4]
movzx esi, byte [esp + 0x2e4]
xor ecx, ecx
jmp 0x63844001
cmp ecx, 0xe
jne 0x63843ef2
movzx eax, byte [edx + 0x340]
test al, al
je 0x63843e3e
test ebx, ebx
jge 0x63843e03
mov eax, ebx
xor ecx, ecx
jmp 0x63843e09
mov eax, ebx
xor ebx, ebx
mov ecx, eax
test ebp, ebp
jge 0x63843e11
xor edi, edi
jmp 0x63843e1a
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.63833160
mov eax, dword [esp + 0x10]
lea ecx, [0x6393c9f4]
mov edx, eax
xor ebx, ebx
jmp 0x63843e81
test ebx, ebx
jge 0x63843e48
mov eax, ebx
xor ecx, ecx
jmp 0x63843e4e
mov eax, ebx
xor ebx, ebx
mov ecx, eax
test ebp, ebp
jge 0x63843e56
xor edi, edi
jmp 0x63843e5f
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.63832d90
mov eax, dword [esp + 0x10]
lea ecx, [0x6393ca2c]
xor edx, edx
mov ebx, eax
mov ebp, dword [esp + 0xf4]
movzx esi, byte [esp + 0x2e4]
xor edi, edi
xor ebp, ebp
mov dword [esp + 0x2a0], ebp
xor esi, esi
mov dword [esp + 0x2b0], esi
mov dword [esp + 0x290], ebx
mov dword [esp + 0x2a4], edx
mov dword [esp + 0xdc], ecx
mov dword [esp + 0x2ac], eax
mov ebp, 0x30
mov dword [esp + 0x104], ebp
mov edx, dword [esp + 0x2d4]
mov ebx, dword [esp + 0xc0]
xor eax, eax
xor ecx, ecx
mov ebp, dword [esp + 0xf4]
movzx esi, byte [esp + 0x2e4]
jmp 0x63844001
cmp ecx, 0xf
jne 0x63843fba
test ebx, ebx
jge 0x63843f05
mov eax, ebx
xor ecx, ecx
jmp 0x63843f0b
mov eax, ebx
xor ebx, ebx
mov ecx, eax
test ebp, ebp
jge 0x63843f13
xor edi, edi
jmp 0x63843f1c
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.63833160
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x2d4]
mov ebx, dword [esp + 0xc0]
mov ebp, dword [esp + 0xf4]
movzx esi, byte [esp + 0x2e4]
xor ecx, ecx
xor edi, edi
xor edx, edx
mov dword [esp + 0x2a0], edx
xor ebx, ebx
mov dword [esp + 0x2b0], ebx
xor ebp, ebp
mov dword [esp + 0x290], ebp
mov dword [esp + 0x2a4], eax
lea esi, [0x6393c9f4]
mov dword [esp + 0xdc], esi
mov dword [esp + 0x2ac], eax
mov ecx, 0x40
mov dword [esp + 0x104], ecx
xor eax, eax
mov edx, dword [esp + 0x2d4]
mov ebx, dword [esp + 0xc0]
mov ebp, dword [esp + 0xf4]
movzx esi, byte [esp + 0x2e4]
xor ecx, ecx
jmp 0x63844001
xor eax, eax
xor ecx, ecx
xor edi, edi
xor eax, eax
mov dword [esp + 0x2a0], eax
xor eax, eax
mov dword [esp + 0x2b0], eax
xor eax, eax
mov dword [esp + 0x290], eax
xor eax, eax
mov dword [esp + 0x2a4], eax
xor eax, eax
mov dword [esp + 0xdc], eax
xor eax, eax
mov dword [esp + 0x2ac], eax
xor eax, eax
mov dword [esp + 0x104], eax
xor eax, eax
xchg esi, eax
test al, al
xchg esi, eax
jne 0x63844155
mov dword [esp + 0x2b4], eax
mov dword [esp + 0x294], edi
mov esi, dword [esp + 0x104]
lea edi, [esi + 7]
sar edi, 0x1f
shr edi, 0x1d
sar esi, 0x1f
mov eax, dword [esp + 0x104]
mul ebx
imul esi, ebx
add edx, esi
sar ebx, 0x1f
mov esi, dword [esp + 0x104]
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 0x6384411e
mov dword [esp + 0x288], esi
mov dword [esp + 0xc4], edi
mov dword [esp + 0x2a8], ecx
mov dword [esp + 0x28c], ebx
lea eax, [0x638cc620]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], edi
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], edi
call fcn.637505d0
mov eax, dword [esp + 0x28c]
sar eax, 3
mov dword [esp + 0x100], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x2cc], ecx
lea edx, [0x638cc620]
mov dword [esp], edx
mov edx, dword [esp + 0x288]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0xc4]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebx
call fcn.637505d0
mov eax, dword [esp + 0x14]
xor ecx, ecx
mov edx, dword [esp + 0x2cc]
xor ebx, ebx
jmp 0x6384419e
mov dword [esp + 0x2e8], 0
mov dword [esp + 0x2ec], 0
lea eax, [0x6393c4cc]
mov dword [esp + 0x2f0], eax
lea eax, [0x6393bbf8]
mov dword [esp + 0x2f4], eax
add esp, 0x2d0
ret
mov eax, dword [esp + 0xdc]
mov dword [esp + 0x2e8], eax
mov eax, dword [esp + 0x2ac]
mov dword [esp + 0x2ec], eax
mov dword [esp + 0x2f0], 0
mov dword [esp + 0x2f4], 0
add esp, 0x2d0
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 0x6384498d
mov dword [esp + 0x2bc], edx
mov dword [esp + 0x2c8], eax
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xc8], ebx
nop
mov eax, dword [esp + 0x2d8]
mov dword [esp], eax
mov ecx, dword [esp + 0x2dc]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x288]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], ebx
call fcn.6378b160
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x638448a3
mov ebx, dword [esp + 0x288]
cmp ebx, 1
jb 0x6384658c
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 0x63846580
mov dword [esp + 0xfc], ecx
mov dword [esp + 0x2c0], edi
movzx eax, byte [esi]
mov edx, ebx
mov ebx, dword [esp + 0x2c8]
add ebp, ebx
cmp al, 1
ja 0x63844272
test al, al
je 0x638442f9
mov eax, dword [esp + 0x100]
mov ebp, eax
jmp 0x63846554
cmp al, 2
jne 0x6384427e
xor eax, eax
jmp 0x63846527
cmp al, 3
jne 0x638442a6
mov eax, dword [esp + 0x100]
mov dword [esp + 0x108], eax
xor eax, eax
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0x108]
jmp 0x6384646a
cmp al, 4
jne 0x6384486c
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 + 0x100]
mov dword [esp + 0x18], eax
call fcn.63842100
mov ecx, dword [esp + 0xfc]
mov edx, dword [esp + 0x288]
mov ebx, dword [esp + 0x2c8]
mov esi, dword [esp + 0x2bc]
mov edi, dword [esp + 0x2c0]
mov ebp, dword [esp + 0x2d4]
mov eax, dword [ebp + 0x30]
cmp eax, 7
jg 0x63844625
cmp eax, 3
jg 0x6384442a
cmp eax, 1
jne 0x63844370
movzx eax, byte [ebp + 0x340]
test al, al
je 0x6384434d
movzx eax, byte [ebp + 0x342]
mov byte [esp + 0x27], al
mov byte [esp + 0x128], al
xor eax, eax
mov dword [esp + 0xbc], eax
movzx eax, byte [esp + 0x128]
jmp 0x638462fc
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x138], eax
xor eax, eax
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x138]
jmp 0x63846178
cmp eax, 2
jne 0x638443cb
movzx eax, byte [ebp + 0x340]
test al, al
je 0x638443a8
movzx eax, byte [ebp + 0x342]
mov byte [esp + 0x26], al
mov byte [esp + 0x158], al
xor eax, eax
mov dword [esp + 0xb4], eax
movzx eax, byte [esp + 0x158]
jmp 0x6384600b
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x168], eax
xor eax, eax
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x168]
jmp 0x63845e90
cmp eax, 3
jne 0x63844860
movzx eax, byte [ebp + 0x340]
test al, al
je 0x63844407
movzx eax, byte [ebp + 0x342]
mov byte [esp + 0x25], al
mov byte [esp + 0x178], al
xor eax, eax
mov dword [esp + 0xac], eax
movzx eax, byte [esp + 0x178]
jmp 0x63845d35
mov eax, dword [esp + 0x2b4]
mov dword [esp + 0x188], eax
xor eax, eax
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x188]
jmp 0x63845bb1
cmp eax, 5
jg 0x638444f5
cmp eax, 4
jne 0x638444d2
movzx eax, byte [ebp + 0x340]
test al, al
je 0x6384446f
movzx eax, byte [ebp + 0x342]
mov byte [esp + 0x24], al
mov byte [esp + 0x1a0], al
xor eax, eax
mov dword [esp + 0xa4], eax
movzx eax, byte [esp + 0x1a0]
jmp 0x63845b24
mov ebp, dword [esp + 0x2b4]
mov eax, dword [ebp + 4]
mov edx, dword [esp + 0xc8]
cmp edx, eax
ja 0x63845a87
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 0x638444a5
mov ecx, eax
cmp ebx, edi
je 0x638444c7
mov dword [esp], ebx
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
call fcn.6376ca20
mov edx, dword [esp + 0xc8]
mov ebp, dword [esp + 0x2b4]
mov eax, dword [ebp + 0xc]
lea ebx, [edx + eax]
jmp 0x63845a64
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x1a8], eax
xor eax, eax
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x1a8]
jmp 0x63845a1d
cmp eax, 6
jne 0x63844602
movzx eax, byte [ebp + 0x340]
test al, al
je 0x638445a1
mov edx, dword [esp + 0x2a8]
mov eax, dword [edx + 4]
mov dword [esp + 0xcc], eax
mov ebx, dword [edx]
mov dword [esp + 0x298], 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 + 0x1d0], eax
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x9c], eax
mov dword [esp + 0x1c8], ecx
mov ecx, dword [esp + 0xc8]
mov dword [esp + 0xe4], ecx
mov byte [esp + 0x1c0], dl
xor edx, edx
mov dword [esp + 0xd8], edx
mov eax, dword [esp + 0x1d0]
mov ecx, dword [esp + 0x1c8]
movzx edx, byte [esp + 0x1c0]
jmp 0x6384584d
mov ebp, dword [esp + 0x294]
mov eax, dword [ebp + 4]
mov edx, dword [ebp]
mov dword [esp + 0x1e8], eax
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x98], eax
mov dword [esp + 0x1e0], ecx
mov ecx, dword [esp + 0xc8]
mov dword [esp + 0xe0], ecx
mov dword [esp + 0x1d8], edx
xor edx, edx
mov dword [esp + 0xd4], edx
mov eax, dword [esp + 0x1e8]
mov ecx, dword [esp + 0x1e0]
mov edx, dword [esp + 0x1d8]
jmp 0x6384571b
mov eax, dword [esp + 0x2a0]
mov dword [esp + 0x1f8], eax
xor eax, eax
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x1f8]
jmp 0x6384555f
cmp eax, 0xb
jg 0x63844736
cmp eax, 9
jg 0x6384467e
cmp eax, 8
jne 0x6384465b
mov eax, dword [esp + 0x2a0]
mov dword [esp + 0x208], eax
xor eax, eax
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x208]
jmp 0x638453b9
mov eax, dword [esp + 0x2a0]
mov dword [esp + 0x218], eax
xor eax, eax
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x218]
jmp 0x63845217
cmp eax, 0xa
jne 0x638446b5
mov eax, ebp
mov ebp, dword [esp + 0x2a0]
cmp dword [ebp + 0x24], 0x100
je 0x638450f6
mov dword [esp + 0x220], eax
xor eax, eax
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x220]
jmp 0x63845199
mov ebp, dword [esp + 0x2a8]
mov eax, dword [ebp + 4]
mov edx, dword [esp + 0xc8]
cmp edx, eax
ja 0x638450ed
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 0x638446eb
mov ecx, eax
cmp ebx, edi
je 0x6384470d
mov dword [esp], ebx
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
call fcn.6376ca20
mov edx, dword [esp + 0xc8]
mov ebp, dword [esp + 0x2a8]
mov eax, dword [ebp + 0xc]
lea ebx, [edx + eax]
mov edx, dword [esp + 0x288]
mov ebp, dword [esp + 0x2d4]
mov esi, dword [esp + 0x2bc]
mov eax, ebx
mov ebx, dword [esp + 0x2c8]
jmp 0x6384418e
cmp eax, 0xd
jg 0x638447c0
cmp eax, 0xc
jne 0x638447a0
movzx eax, byte [ebp + 0x340]
test al, al
je 0x6384477d
movzx eax, word [ebp + 0x341]
rol ax, 8
mov word [esp + 0x42], ax
mov word [esp + 0x238], ax
xor eax, eax
mov dword [esp + 0x84], eax
movzx eax, word [esp + 0x238]
jmp 0x63845075
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x240], eax
xor eax, eax
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x240]
jmp 0x63844fa0
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x248], eax
xor eax, eax
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x248]
jmp 0x63844eac
cmp eax, 0xe
jne 0x6384483b
movzx eax, byte [ebp + 0x340]
test al, al
je 0x6384481b
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 + 0x260], ax
xor eax, eax
mov dword [esp + 0x78], eax
movzx eax, word [esp + 0x260]
jmp 0x63844ce9
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x268], eax
xor eax, eax
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x268]
jmp 0x63844bc8
cmp eax, 0xf
jne 0x63844860
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x270], eax
xor eax, eax
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x270]
jmp 0x63844a74
mov eax, dword [esp + 0xc8]
jmp 0x6384418e
mov dword [esp + 0x2e8], 0
mov dword [esp + 0x2ec], 0
lea eax, [0x6393c4b8]
mov dword [esp + 0x2f0], eax
lea eax, [0x6393bc38]
mov dword [esp + 0x2f4], eax
add esp, 0x2d0
ret
mov dword [esp + 0xf8], eax
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x2b8], ecx
cmp dword [0x638ab7a8], eax
je 0x638448c1
xor edx, edx
jmp 0x638448ec
mov edx, dword [0x638ab7ac]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.637053b0
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 0x2b8]
mov edx, eax
mov eax, dword [esp + 0xf8]
test dl, dl
jne 0x6384492b
cmp dword [0x638ab7b0], eax
je 0x638448fc
xor edx, edx
jmp 0x63844927
mov edx, dword [0x638ab7b4]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.637053b0
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 0x2b8]
mov edx, eax
mov eax, dword [esp + 0xf8]
test dl, dl
je 0x63844962
mov dword [esp + 0x2e8], 0
mov dword [esp + 0x2ec], 0
lea eax, [0x6393c4b8]
mov dword [esp + 0x2f0], eax
lea eax, [0x6393bc20]
mov dword [esp + 0x2f4], eax
add esp, 0x2d0
ret
mov dword [esp + 0x2e8], 0
mov dword [esp + 0x2ec], 0
mov dword [esp + 0x2f0], eax
mov dword [esp + 0x2f4], ecx
add esp, 0x2d0
ret
mov eax, dword [esp + 0xdc]
mov dword [esp + 0x2e8], eax
mov eax, dword [esp + 0x2ac]
mov dword [esp + 0x2ec], eax
mov dword [esp + 0x2f0], 0
mov dword [esp + 0x2f4], 0
add esp, 0x2d0
ret
movzx ecx, word [esi]
rol cx, 8
mov edx, dword [esp + 0x2c4]
movzx edx, word [edx]
rol dx, 8
movzx eax, word [eax]
rol ax, 8
movzx ebp, word [ebp]
mov esi, dword [esp + 0x2a4]
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.638330a0
mov eax, dword [esp + 0x70]
inc eax
mov ecx, dword [esp + 0xc0]
mov edx, dword [esp + 0x2a4]
mov ebx, dword [esp + 0xfc]
mov ebp, dword [esp + 0xd0]
mov esi, dword [esp + 0x2c0]
mov ecx, ebx
mov edx, dword [esp + 0x288]
mov ebx, dword [esp + 0x2c8]
mov ebp, dword [esp + 0x2d4]
mov esi, dword [esp + 0x2bc]
mov edi, dword [esp + 0x2c0]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0xc0]
mov ebp, dword [esp + 0x70]
cmp ebp, eax
jge 0x63844adc
shl ebp, 3
cmp ebp, ecx
jae 0x63844b20
lea edx, [ebp + 1]
mov ebx, dword [esp + 0x70]
lea esi, [edi + ebx*8]
cmp edx, ecx
jae 0x63844b19
lea edx, [ebp + 2]
cmp edx, ecx
jae 0x63844b12
lea edx, [ebp + 3]
lea eax, [edi + ebx*8 + 2]
cmp edx, ecx
jae 0x63844b0b
lea edx, [ebp + 4]
cmp edx, ecx
jae 0x63844b04
mov dword [esp + 0x2c4], eax
lea edx, [ebp + 5]
lea eax, [edi + ebx*8 + 4]
cmp edx, ecx
jae 0x63844afd
lea edx, [ebp + 6]
cmp edx, ecx
jae 0x63844af6
lea edx, [ebp + 7]
lea ebp, [edi + ebx*8 + 6]
cmp edx, ecx
jb 0x638449c6
jmp 0x63844aef
mov ebp, dword [esp + 0x2d4]
mov eax, dword [esp + 0xc8]
jmp 0x6384418e
mov eax, edx
call fcn.6376c140
mov eax, edx
call fcn.6376c140
mov eax, edx
call fcn.6376c140
mov eax, edx
call fcn.6376c140
mov eax, edx
call fcn.6376c140
mov eax, edx
call fcn.6376c140
mov eax, edx
call fcn.6376c140
mov eax, ebp
call fcn.6376c140
rol ax, 8
rol bp, 8
movzx ecx, word [edi + esi*2 + 4]
mov edx, dword [esp + 0x290]
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.63832cd0
mov eax, dword [esp + 0x74]
inc eax
mov ecx, dword [esp + 0xc0]
mov edx, dword [esp + 0x290]
mov ebx, dword [esp + 0x2c0]
mov ebp, dword [esp + 0xfc]
mov esi, dword [esp + 0xd0]
mov ecx, ebp
mov edx, dword [esp + 0x288]
mov ebx, dword [esp + 0x2c8]
mov ebp, dword [esp + 0x2d4]
mov esi, dword [esp + 0x2bc]
mov edi, dword [esp + 0x2c0]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0xc0]
mov ebp, dword [esp + 0x74]
cmp ebp, eax
jge 0x63844c1a
lea edx, [ebp + ebp*2]
mov dword [esp + 0x28c], edx
shl edx, 1
cmp edx, ecx
jae 0x63844c50
lea ebx, [edx + 1]
cmp ebx, ecx
jae 0x63844c49
lea ebx, [edx + 2]
mov esi, dword [esp + 0x28c]
movzx eax, word [edi + esi*2]
cmp ebx, ecx
jae 0x63844c42
lea ebx, [edx + 3]
cmp ebx, ecx
jae 0x63844c3b
lea ebx, [edx + 4]
movzx ebp, word [edi + esi*2 + 2]
cmp ebx, ecx
jae 0x63844c34
add edx, 5
cmp edx, ecx
jb 0x63844b27
jmp 0x63844c2d
mov ebp, dword [esp + 0x2d4]
mov eax, dword [esp + 0xc8]
jmp 0x6384418e
mov eax, edx
call fcn.6376c140
mov eax, ebx
call fcn.6376c140
mov eax, ebx
call fcn.6376c140
mov eax, ebx
call fcn.6376c140
mov eax, ebx
call fcn.6376c140
mov eax, edx
call fcn.6376c140
mov ecx, dword [esp + 0x2a4]
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.638330a0
mov eax, dword [esp + 0x78]
inc eax
mov ecx, dword [esp + 0xc0]
mov edx, dword [esp + 0x2a4]
movzx ebx, word [esp + 0x42]
mov ebp, dword [esp + 0xfc]
mov esi, dword [esp + 0x2c0]
mov edi, dword [esp + 0xd0]
mov ecx, ebp
movzx edx, word [esp + 0x40]
mov ebx, dword [esp + 0x2c8]
movzx ebp, word [esp + 0x3e]
mov esi, dword [esp + 0x2bc]
mov edi, dword [esp + 0x2c0]
mov dword [esp + 0x78], eax
movzx eax, word [esp + 0x42]
mov ebx, dword [esp + 0x78]
mov esi, dword [esp + 0xc0]
cmp ebx, esi
jge 0x63844dcd
lea esi, [ebx + ebx*2]
mov dword [esp + 0x28c], esi
shl esi, 1
cmp esi, ecx
jae 0x63844e0c
lea ebx, [esi + 1]
cmp ebx, ecx
jae 0x63844e05
lea ebx, [esi + 2]
mov ebp, dword [esp + 0x28c]
movzx edx, word [edi + ebp*2]
cmp ebx, ecx
jae 0x63844dfe
lea ebx, [esi + 3]
cmp ebx, ecx
jae 0x63844df7
lea ebx, [esi + 4]
movzx eax, word [edi + ebp*2 + 2]
cmp ebx, ecx
jae 0x63844df0
lea ebx, [esi + 5]
cmp ebx, ecx
jae 0x63844de9
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 0x63844da9
movzx esi, word [esp + 0x40]
cmp ax, si
jne 0x63844da2
movzx esi, word [esp + 0x3e]
cmp bx, si
jne 0x63844dae
mov word [esp + 0x250], ax
xor eax, eax
mov word [esp + 0x3a], ax
movzx eax, word [esp + 0x250]
jmp 0x63844c57
movzx esi, word [esp + 0x3e]
jmp 0x63844dae
movzx esi, word [esp + 0x3e]
mov word [esp + 0x258], ax
mov eax, 0xffffffff
mov word [esp + 0x3a], ax
movzx eax, word [esp + 0x258]
jmp 0x63844c57
mov eax, esi
mov edx, dword [esp + 0x288]
mov ebx, dword [esp + 0x2c8]
mov esi, dword [esp + 0x2bc]
jmp 0x63844c1a
mov eax, ebx
call fcn.6376c140
mov eax, ebx
call fcn.6376c140
mov eax, ebx
call fcn.6376c140
mov eax, ebx
call fcn.6376c140
mov eax, ebx
call fcn.6376c140
mov eax, esi
call fcn.6376c140
movzx eax, word [esi]
rol ax, 8
movzx ecx, word [ebp]
mov edx, dword [esp + 0x2a4]
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.638330a0
mov eax, dword [esp + 0x7c]
inc eax
mov ecx, dword [esp + 0xc0]
mov edx, dword [esp + 0x2a4]
mov ebx, dword [esp + 0xfc]
mov ebp, dword [esp + 0xd0]
mov esi, dword [esp + 0x2c0]
mov ecx, ebx
mov edx, dword [esp + 0x288]
mov ebx, dword [esp + 0x2c8]
mov ebp, dword [esp + 0x2d4]
mov esi, dword [esp + 0x2bc]
mov edi, dword [esp + 0x2c0]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0xc0]
mov ebp, dword [esp + 0x7c]
cmp ebp, eax
jge 0x63844ee1
shl ebp, 2
cmp ebp, ecx
jae 0x63844f09
lea edx, [ebp + 1]
mov ebx, dword [esp + 0x7c]
lea esi, [edi + ebx*4]
cmp edx, ecx
jae 0x63844f02
lea edx, [ebp + 2]
cmp edx, ecx
jae 0x63844efb
lea edx, [ebp + 3]
lea ebp, [edi + ebx*4 + 2]
cmp edx, ecx
jb 0x63844e13
jmp 0x63844ef4
mov ebp, dword [esp + 0x2d4]
mov eax, dword [esp + 0xc8]
jmp 0x6384418e
mov eax, edx
call fcn.6376c140
mov eax, edx
call fcn.6376c140
mov eax, edx
call fcn.6376c140
mov eax, ebp
call fcn.6376c140
mov eax, dword [esp + 0x80]
movzx ecx, word [edi + eax*2]
mov edx, dword [esp + 0x2b0]
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.63833540
mov eax, dword [esp + 0x80]
inc eax
mov ecx, dword [esp + 0xc0]
mov edx, dword [esp + 0x2b0]
mov ebx, dword [esp + 0xd0]
mov ebp, dword [esp + 0x2c0]
mov esi, dword [esp + 0xfc]
mov ecx, esi
mov edx, dword [esp + 0x288]
mov ebx, dword [esp + 0x2c8]
mov ebp, dword [esp + 0x2d4]
mov esi, dword [esp + 0x2bc]
mov edi, dword [esp + 0x2c0]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0xc0]
mov ebp, dword [esp + 0x80]
cmp ebp, eax
jge 0x63844fbc
shl ebp, 1
cmp ebp, ecx
jae 0x63844fd6
inc ebp
cmp ebp, ecx
jb 0x63844f10
jmp 0x63844fcf
mov ebp, dword [esp + 0x2d4]
mov eax, dword [esp + 0xc8]
jmp 0x6384418e
mov eax, ebp
call fcn.6376c140
mov eax, ebp
call fcn.6376c140
mov eax, dword [esp + 0x2a4]
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.638330a0
mov eax, dword [esp + 0x84]
inc eax
mov ecx, dword [esp + 0xc0]
mov edx, dword [esp + 0x2a4]
movzx ebx, word [esp + 0x42]
mov ebp, dword [esp + 0xd0]
mov esi, dword [esp + 0x2c0]
mov edi, dword [esp + 0xfc]
mov ecx, edi
mov edx, dword [esp + 0x288]
mov ebx, dword [esp + 0x2c8]
mov ebp, dword [esp + 0x2d4]
mov esi, dword [esp + 0x2bc]
mov edi, dword [esp + 0x2c0]
mov dword [esp + 0x84], eax
movzx eax, word [esp + 0x42]
mov ebp, dword [esp + 0x84]
mov edx, dword [esp + 0xc0]
cmp ebp, edx
jge 0x638450d1
shl ebp, 1
cmp ebp, ecx
jae 0x638450e6
inc ebp
cmp ebp, ecx
jae 0x638450df
mov ebp, dword [esp + 0x84]
movzx ebx, word [edi + ebp*2]
rol bx, 8
cmp bx, ax
jne 0x638450ba
mov word [esp + 0x228], ax
xor eax, eax
mov word [esp + 0x3c], ax
jmp 0x63844fdd
mov word [esp + 0x230], ax
mov eax, 0xffffffff
mov word [esp + 0x3c], ax
jmp 0x63844fdd
mov eax, edx
mov edx, dword [esp + 0x288]
jmp 0x63844fbc
mov eax, ebp
call fcn.6376c140
mov eax, ebp
call fcn.6376c140
mov ecx, eax
mov eax, edx
call fcn.6376c1a0
mov eax, dword [ebp + 4]
mov edx, dword [esp + 0xc8]
cmp edx, eax
ja 0x6384516a
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 0x63845121
mov ecx, eax
cmp ebx, edi
je 0x63845143
mov dword [esp], ebx
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
call fcn.6376ca20
mov edx, dword [esp + 0xc8]
mov ebp, dword [esp + 0x2a0]
mov ecx, dword [ebp + 0xc]
lea eax, [edx + ecx]
mov edx, dword [esp + 0x288]
mov ebx, dword [esp + 0x2c8]
mov ebp, dword [esp + 0x2d4]
mov esi, dword [esp + 0x2bc]
jmp 0x6384418e
mov ecx, eax
mov eax, edx
call fcn.6376c1a0
lea eax, [ebx + 1]
mov edx, dword [esp + 0x288]
mov ebx, dword [esp + 0x2c8]
mov esi, dword [esp + 0x2bc]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x2d4]
mov ebx, dword [esp + 0x88]
mov esi, dword [esp + 0xc0]
cmp ebx, esi
jge 0x638451c7
cmp ebx, ecx
jae 0x638451e3
mov eax, dword [ebp + 0x24]
movzx edx, byte [ebx + edi]
cmp eax, edx
jg 0x63845173
mov eax, dword [ebp + 0x28]
inc edx
cmp eax, edx
jb 0x638451da
mov dword [ebp + 0x24], edx
jmp 0x63845173
mov ebx, dword [esp + 0x2c8]
mov esi, dword [esp + 0x2bc]
jmp 0x638450f6
mov ecx, edx
mov edx, eax
call fcn.6376c180
mov eax, ebx
call fcn.6376c140
lea ebp, [esi + 2]
mov esi, dword [esp + 0xd0]
mov edi, dword [esp + 0x2c0]
mov ebx, dword [esp + 0x2c8]
mov esi, dword [esp + 0x2bc]
mov dword [esp + 0x8c], ebp
mov ebp, dword [esp + 0x2d4]
mov ebp, dword [esp + 0x8c]
mov ebx, dword [esp + 0xc0]
cmp ebp, ebx
jge 0x63845263
shr ebp, 0x1f
mov esi, dword [esp + 0x8c]
add ebp, esi
sar ebp, 1
cmp ebp, ecx
jae 0x63845385
movzx ebp, byte [ebp + edi]
mov dword [esp + 0x210], eax
xor eax, eax
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x210]
jmp 0x638452a8
mov edx, dword [esp + 0x288]
jmp 0x638451ea
mov ebx, dword [esp + 0x2c8]
mov ebp, dword [esp + 0x2d4]
mov eax, dword [esp + 0xc8]
jmp 0x6384418e
lea ecx, [edi + 1]
movzx ebp, byte [esp + 0x2e]
shl ebp, 4
mov edx, dword [esp + 0xd0]
mov edx, dword [esp + 0x288]
mov edi, dword [esp + 0x2c0]
mov dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0xfc]
mov edi, dword [esp + 0x4c]
cmp edi, 2
jge 0x638451ea
lea edx, [edi + esi]
cmp ebx, edx
jle 0x6384525a
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 0x638452eb
xchg ebp, eax
mov byte [esp + 0x2b], al
xchg ebp, eax
mov ebp, dword [eax + 0x28]
inc ecx
cmp ebp, ecx
jb 0x6384537e
mov dword [eax + 0x24], ecx
movzx ebp, byte [esp + 0x2b]
mov ecx, dword [eax + 0x10]
cmp ecx, edx
jg 0x6384527d
mov ebx, dword [eax + 0x18]
cmp ebx, edx
jle 0x63845369
mov ebx, dword [eax + 0x14]
mov esi, dword [esp + 0xd0]
cmp esi, ebx
jl 0x63845356
mov edi, dword [eax + 0x1c]
cmp esi, edi
jge 0x6384533f
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 0x63845375
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 0x6384527d
mov ebx, dword [esp + 0xc0]
mov esi, dword [esp + 0x8c]
mov edi, dword [esp + 0x4c]
jmp 0x6384527d
mov ebx, dword [esp + 0xc0]
mov esi, dword [esp + 0x8c]
jmp 0x6384527d
mov ebx, dword [esp + 0xc0]
jmp 0x6384527d
mov eax, ebx
mov ecx, edi
call fcn.6376c140
mov edx, ebp
call fcn.6376c180
mov eax, ebp
call fcn.6376c140
lea ebp, [esi + 4]
mov esi, dword [esp + 0xd0]
mov edi, dword [esp + 0x2c0]
mov ebx, dword [esp + 0x2c8]
mov esi, dword [esp + 0x2bc]
mov dword [esp + 0x90], ebp
mov ebp, dword [esp + 0x2d4]
mov ebp, dword [esp + 0x90]
mov ebx, dword [esp + 0xc0]
cmp ebp, ebx
jge 0x63845409
sar ebp, 0x1f
shr ebp, 0x1e
mov esi, dword [esp + 0x90]
add ebp, esi
sar ebp, 2
cmp ebp, ecx
jae 0x6384552b
movzx ebp, byte [ebp + edi]
mov dword [esp + 0x200], eax
xor eax, eax
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x200]
jmp 0x6384544e
mov edx, dword [esp + 0x288]
jmp 0x6384538c
mov ebx, dword [esp + 0x2c8]
mov ebp, dword [esp + 0x2d4]
mov eax, dword [esp + 0xc8]
jmp 0x6384418e
lea ecx, [edi + 1]
movzx ebp, byte [esp + 0x2f]
shl ebp, 2
mov edx, dword [esp + 0xd0]
mov edx, dword [esp + 0x288]
mov edi, dword [esp + 0x2c0]
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0xfc]
mov edi, dword [esp + 0x50]
cmp edi, 4
jge 0x6384538c
lea edx, [edi + esi]
cmp ebx, edx
jle 0x63845400
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 0x63845491
xchg ebp, eax
mov byte [esp + 0x2c], al
xchg ebp, eax
mov ebp, dword [eax + 0x28]
inc ecx
cmp ebp, ecx
jb 0x63845524
mov dword [eax + 0x24], ecx
movzx ebp, byte [esp + 0x2c]
mov ecx, dword [eax + 0x10]
cmp ecx, edx
jg 0x63845423
mov ebx, dword [eax + 0x18]
cmp ebx, edx
jle 0x6384550f
mov ebx, dword [eax + 0x14]
mov esi, dword [esp + 0xd0]
cmp esi, ebx
jl 0x638454fc
mov edi, dword [eax + 0x1c]
cmp esi, edi
jge 0x638454e5
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 0x6384551b
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 0x63845423
mov ebx, dword [esp + 0xc0]
mov esi, dword [esp + 0x90]
mov edi, dword [esp + 0x50]
jmp 0x63845423
mov ebx, dword [esp + 0xc0]
mov esi, dword [esp + 0x90]
jmp 0x63845423
mov ebx, dword [esp + 0xc0]
jmp 0x63845423
mov eax, ebx
mov ecx, edi
call fcn.6376c140
mov edx, ebp
call fcn.6376c180
mov eax, ebp
call fcn.6376c140
lea ebp, [esi + 8]
mov esi, dword [esp + 0xd0]
mov edi, dword [esp + 0x2c0]
mov ebx, dword [esp + 0x2c8]
mov esi, dword [esp + 0x2bc]
mov dword [esp + 0x94], ebp
mov ebp, dword [esp + 0x2d4]
mov ebp, dword [esp + 0x94]
mov ebx, dword [esp + 0xc0]
cmp ebp, ebx
jge 0x638455af
sar ebp, 0x1f
shr ebp, 0x1d
mov esi, dword [esp + 0x94]
add ebp, esi
sar ebp, 3
cmp ebp, ecx
jae 0x638456d0
movzx ebp, byte [ebp + edi]
mov dword [esp + 0x1f0], eax
xor eax, eax
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x1f0]
jmp 0x638455f3
mov edx, dword [esp + 0x288]
jmp 0x63845532
mov ebx, dword [esp + 0x2c8]
mov ebp, dword [esp + 0x2d4]
mov eax, dword [esp + 0xc8]
jmp 0x6384418e
lea ecx, [edi + 1]
movzx ebp, byte [esp + 0x30]
shl ebp, 1
mov edx, dword [esp + 0xd0]
mov edx, dword [esp + 0x288]
mov edi, dword [esp + 0x2c0]
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0xfc]
mov edi, dword [esp + 0x54]
cmp edi, 8
jge 0x63845532
lea edx, [edi + esi]
cmp ebx, edx
jle 0x638455a6
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 0x63845636
xchg ebp, eax
mov byte [esp + 0x2d], al
xchg ebp, eax
mov ebp, dword [eax + 0x28]
inc ecx
cmp ebp, ecx
jb 0x638456c9
mov dword [eax + 0x24], ecx
movzx ebp, byte [esp + 0x2d]
mov ecx, dword [eax + 0x10]
cmp ecx, edx
jg 0x638455c9
mov ebx, dword [eax + 0x18]
cmp ebx, edx
jle 0x638456b4
mov ebx, dword [eax + 0x14]
mov esi, dword [esp + 0xd0]
cmp esi, ebx
jl 0x638456a1
mov edi, dword [eax + 0x1c]
cmp esi, edi
jge 0x6384568a
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 0x638456c0
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 0x638455c9
mov ebx, dword [esp + 0xc0]
mov esi, dword [esp + 0x94]
mov edi, dword [esp + 0x54]
jmp 0x638455c9
mov ebx, dword [esp + 0xc0]
mov esi, dword [esp + 0x94]
jmp 0x638455c9
mov ebx, dword [esp + 0xc0]
jmp 0x638455c9
mov eax, ebx
mov ecx, edi
call fcn.6376c140
mov edx, ebp
call fcn.6376c180
mov eax, ebp
call fcn.6376c140
mov byte [ebx + edx + 3], 0xff
mov ebp, dword [esp + 0x98]
dec ebp
add ebx, 4
add esi, 3
mov edi, dword [esp + 0x2c0]
mov dword [esp + 0x98], ebp
mov dword [esp + 0xe0], ebx
mov dword [esp + 0xd4], esi
mov ebx, dword [esp + 0x2c8]
mov ebp, dword [esp + 0x294]
mov esi, dword [esp + 0x2bc]
mov ebx, dword [esp + 0x98]
test ebx, ebx
jle 0x63845797
mov esi, dword [esp + 0xd4]
cmp esi, ecx
jae 0x638457ef
movzx ebp, byte [esi + edi]
mov ebx, dword [esp + 0xe0]
cmp ebx, eax
jae 0x638457e6
xchg ebp, eax
mov byte [edx + ebx], al
xchg ebp, eax
lea ebp, [esi + 1]
cmp ebp, ecx
jae 0x638457df
lea ebp, [ebx + 1]
movzx edi, byte [esi + edi + 1]
cmp eax, ebp
jbe 0x638457d6
xchg edi, eax
mov byte [ebx + edx + 1], al
xchg edi, eax
lea ebp, [esi + 2]
cmp ebp, ecx
jae 0x638457cf
lea ebp, [ebx + 2]
mov edi, dword [esp + 0x2c0]
movzx edi, byte [esi + edi + 2]
cmp eax, ebp
jbe 0x638457c6
xchg edi, eax
mov byte [ebx + edx + 2], al
xchg edi, eax
lea ebp, [ebx + 3]
cmp eax, ebp
ja 0x638456d7
jmp 0x638457bd
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0xc8]
add eax, ecx
mov edx, dword [esp + 0x288]
mov ebx, dword [esp + 0x2c8]
mov ebp, dword [esp + 0x2d4]
jmp 0x6384418e
mov ecx, eax
mov eax, ebp
call fcn.6376c140
mov ecx, eax
mov eax, ebp
call fcn.6376c140
mov eax, ebp
call fcn.6376c140
mov ecx, eax
mov eax, ebp
call fcn.6376c140
mov eax, ebp
call fcn.6376c140
mov ecx, eax
mov eax, ebx
call fcn.6376c140
mov eax, esi
call fcn.6376c140
movzx eax, byte [esp + 0x38]
mov byte [esi + ebx + 3], al
mov eax, dword [esp + 0x9c]
dec eax
lea edx, [esi + 4]
mov ebp, dword [esp + 0xd8]
add ebp, 3
mov esi, dword [esp + 0x2c0]
movzx esi, byte [esp + 0x28]
mov edi, dword [esp + 0x2c0]
mov dword [esp + 0x9c], eax
mov dword [esp + 0xe4], edx
mov dword [esp + 0xd8], ebp
mov eax, dword [esp + 0xcc]
movzx edx, byte [esp + 0x29]
movzx ebp, byte [esp + 0x2a]
mov ebx, dword [esp + 0x9c]
test ebx, ebx
jle 0x6384592d
mov ebx, dword [esp + 0xd8]
cmp ebx, ecx
jae 0x63845980
lea eax, [ebx + 1]
movzx ebp, byte [ebx + edi]
cmp eax, ecx
jae 0x6384597b
lea eax, [ebx + 2]
movzx edx, byte [ebx + edi + 1]
cmp eax, ecx
jae 0x63845976
movzx eax, byte [ebx + edi + 2]
xchg ebp, eax
xchg esi, ebx
cmp al, bl
xchg esi, ebx
xchg ebp, eax
jne 0x638458cf
movzx esi, byte [esp + 0x29]
xchg esi, eax
cmp dl, al
xchg esi, eax
jne 0x638458c8
movzx esi, byte [esp + 0x2a]
xchg esi, ebx
cmp al, bl
xchg esi, ebx
jne 0x638458d4
mov byte [esp + 0x1b0], al
xor eax, eax
mov byte [esp + 0x38], al
movzx eax, byte [esp + 0x1b0]
jmp 0x638458ec
movzx esi, byte [esp + 0x2a]
jmp 0x638458d4
movzx esi, byte [esp + 0x2a]
mov byte [esp + 0x1b8], al
mov eax, 0xffffffff
mov byte [esp + 0x38], al
movzx eax, byte [esp + 0x1b8]
mov esi, dword [esp + 0xe4]
mov edi, dword [esp + 0xcc]
cmp esi, edi
jae 0x6384596d
mov ebx, dword [esp + 0x298]
xchg ebp, eax
mov byte [ebx + esi], al
xchg ebp, eax
lea ebp, [esi + 1]
cmp edi, ebp
jbe 0x63845964
mov byte [esi + ebx + 1], dl
lea edx, [esi + 2]
cmp edi, edx
jbe 0x6384595b
mov byte [esi + ebx + 2], al
lea eax, [esi + 3]
cmp edi, eax
ja 0x638457f6
jmp 0x63845954
mov ecx, dword [esp + 0x2a8]
mov edx, dword [ecx + 0xc]
mov ebx, dword [esp + 0xc8]
lea eax, [ebx + edx]
mov ebp, dword [esp + 0x294]
mov esi, dword [esp + 0x2bc]
jmp 0x638457a3
mov ecx, edi
call fcn.6376c140
mov eax, edx
mov ecx, edi
call fcn.6376c140
mov eax, ebp
mov ecx, edi
call fcn.6376c140
mov eax, esi
mov ecx, edi
call fcn.6376c140
call fcn.6376c140
call fcn.6376c140
mov eax, ebx
call fcn.6376c140
movzx eax, byte [ebx]
lea ecx, [edi + edx*2 + 1]
movzx ecx, byte [ecx]
mov ebx, dword [esp + 0x2a8]
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.63832ec0
mov eax, dword [esp + 0xa0]
inc eax
mov ecx, dword [esp + 0xc0]
mov edx, dword [esp + 0x2a8]
mov ebx, dword [esp + 0x2c0]
mov ebp, dword [esp + 0xd0]
mov esi, dword [esp + 0xfc]
mov ecx, esi
mov edx, dword [esp + 0x288]
mov ebx, dword [esp + 0x2c8]
mov ebp, dword [esp + 0x2d4]
mov esi, dword [esp + 0x2bc]
mov edi, dword [esp + 0x2c0]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0xc0]
mov ebp, dword [esp + 0xa0]
cmp ebp, eax
jge 0x63845a43
shl ebp, 1
cmp ebp, ecx
jae 0x63845a5d
inc ebp
mov edx, dword [esp + 0xa0]
lea ebx, [edi + edx*2]
cmp ebp, ecx
jb 0x63845987
jmp 0x63845a56
mov ebp, dword [esp + 0x2d4]
mov eax, dword [esp + 0xc8]
jmp 0x6384418e
mov eax, ebp
call fcn.6376c140
mov eax, ebp
call fcn.6376c140
mov edx, dword [esp + 0x288]
mov ebp, dword [esp + 0x2d4]
mov esi, dword [esp + 0x2bc]
mov eax, ebx
mov ebx, dword [esp + 0x2c8]
jmp 0x6384418e
mov ecx, eax
mov eax, edx
call fcn.6376c1a0
mov eax, dword [esp + 0x2a8]
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.63832ec0
mov eax, dword [esp + 0xa4]
inc eax
mov ecx, dword [esp + 0xc0]
mov edx, dword [esp + 0x2a8]
movzx ebx, byte [esp + 0x24]
mov ebp, dword [esp + 0xd0]
mov esi, dword [esp + 0x2c0]
mov edi, dword [esp + 0xfc]
mov ecx, edi
mov edx, dword [esp + 0x288]
mov ebx, dword [esp + 0x2c8]
mov ebp, dword [esp + 0x2d4]
mov esi, dword [esp + 0x2bc]
mov edi, dword [esp + 0x2c0]
mov dword [esp + 0xa4], eax
movzx eax, byte [esp + 0x24]
mov ebp, dword [esp + 0xa4]
mov edx, dword [esp + 0xc0]
cmp ebp, edx
jge 0x63845b6a
cmp ebp, ecx
jae 0x63845b7d
movzx ebx, byte [ebp + edi]
cmp bl, al
jne 0x63845b55
mov byte [esp + 0x190], al
xor eax, eax
mov byte [esp + 0x35], al
jmp 0x63845a90
mov byte [esp + 0x198], al
mov eax, 0xffffffff
mov byte [esp + 0x35], al
jmp 0x63845a90
mov ebp, dword [esp + 0x2b4]
mov ebx, dword [esp + 0xc8]
jmp 0x63845a64
mov eax, ebp
call fcn.6376c140
add ebx, 2
mov ebp, dword [esp + 0xd0]
mov edx, dword [esp + 0x288]
mov ebp, dword [esp + 0x2d4]
mov esi, dword [esp + 0x2bc]
mov dword [esp + 0xa8], ebx
mov ebx, dword [esp + 0x2c8]
mov ebp, dword [esp + 0xa8]
mov edx, dword [esp + 0xc0]
cmp ebp, edx
jge 0x63845bfd
shr ebp, 0x1f
mov ebx, dword [esp + 0xa8]
add ebp, ebx
sar ebp, 1
cmp ebp, ecx
jae 0x63845cfa
movzx ebp, byte [ebp + edi]
mov dword [esp + 0x180], eax
xor eax, eax
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x180]
jmp 0x63845c52
mov edi, dword [esp + 0x2c0]
jmp 0x63845b84
mov edx, dword [esp + 0x288]
mov ebp, dword [esp + 0x2d4]
mov eax, dword [esp + 0xc8]
jmp 0x6384418e
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 + 0x2c0]
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0xfc]
mov esi, dword [esp + 0x58]
cmp esi, 2
jge 0x63845b84
lea edi, [esi + ebx]
cmp edx, edi
jle 0x63845bf4
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 0x63845ce5
mov ebp, dword [eax + 0x18]
cmp ebp, edi
jle 0x63845cd9
mov ebp, dword [eax + 0x14]
mov ebx, dword [esp + 0xd0]
cmp ebx, ebp
jl 0x63845c17
mov esi, dword [eax + 0x1c]
cmp ebx, esi
jge 0x63845cd0
mov esi, dword [eax + 4]
sub ebx, ebp
imul ebx, dword [eax + 0xc]
sub edi, ecx
add ebx, edi
nop
cmp esi, ebx
jbe 0x63845cf1
mov ebp, dword [eax]
mov byte [ebp + ebx], dl
mov ebx, dword [esp + 0xd0]
mov esi, dword [esp + 0x58]
jmp 0x63845c17
mov esi, dword [esp + 0x58]
jmp 0x63845c17
mov ebx, dword [esp + 0xd0]
jmp 0x63845c17
mov ebx, dword [esp + 0xd0]
jmp 0x63845c17
mov eax, ebx
mov ecx, esi
call fcn.6376c140
mov eax, ebp
call fcn.6376c140
add ebx, 2
mov ebp, dword [esp + 0x2a8]
mov esi, dword [esp + 0xd0]
mov edx, dword [esp + 0x288]
mov ebp, dword [esp + 0x2d4]
mov esi, dword [esp + 0x2bc]
mov dword [esp + 0xac], ebx
mov ebx, dword [esp + 0x2c8]
mov ebp, dword [esp + 0xac]
mov edx, dword [esp + 0xc0]
cmp ebp, edx
jge 0x63845d7c
shr ebp, 0x1f
mov ebx, dword [esp + 0xac]
add ebp, ebx
sar ebp, 1
cmp ebp, ecx
jae 0x63845e5c
movzx ebp, byte [ebp + edi]
mov byte [esp + 0x170], al
xor eax, eax
mov dword [esp + 0x5c], eax
movzx eax, byte [esp + 0x170]
jmp 0x63845e11
mov eax, dword [esp + 0x2b4]
jmp 0x63845bfd
mov eax, dword [esp + 0x2a8]
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.63832ec0
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 + 0x2a8]
movzx esi, byte [esp + 0x25]
mov edi, dword [esp + 0xd0]
mov ecx, dword [esp + 0xfc]
mov ebx, dword [esp + 0xac]
mov esi, dword [esp + 0x2bc]
mov edi, dword [esp + 0x2c0]
mov dword [esp + 0x5c], eax
movzx eax, byte [esp + 0x25]
mov esi, dword [esp + 0x5c]
cmp esi, 2
jge 0x63845d01
add esi, ebx
cmp edx, esi
jle 0x63845d01
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 0x63845e52
xor edi, edi
jmp 0x63845d88
mov edi, 0xffffffff
jmp 0x63845d88
mov eax, ebp
call fcn.6376c140
add edx, 4
mov ebx, dword [esp + 0x2b4]
mov ebp, dword [esp + 0xd0]
mov ebx, dword [esp + 0x2c8]
mov ebp, dword [esp + 0x2d4]
mov dword [esp + 0xb0], edx
mov edx, dword [esp + 0x288]
mov ebp, dword [esp + 0xb0]
cmp ebp, eax
jge 0x63845ed9
sar ebp, 0x1f
shr ebp, 0x1e
mov edx, dword [esp + 0xb0]
add ebp, edx
sar ebp, 2
cmp ebp, ecx
jae 0x63845fd0
movzx ebp, byte [ebp + edi]
mov dword [esp + 0x160], eax
xor eax, eax
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x160]
jmp 0x63845f19
mov esi, dword [esp + 0x2bc]
jmp 0x63845e63
mov ebp, dword [esp + 0x2d4]
mov eax, dword [esp + 0xc8]
jmp 0x6384418e
lea ecx, [ebx + 1]
shl ebp, 2
mov ebx, dword [esp + 0xd0]
mov ebx, dword [esp + 0x2c8]
mov esi, dword [esp + 0x2bc]
mov edi, dword [esp + 0x2c0]
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0xfc]
mov ebx, dword [esp + 0x60]
cmp ebx, 4
jge 0x63845e63
lea esi, [ebx + edx]
cmp eax, esi
jle 0x63845ed0
mov edi, dword [esp + 0x2b4]
mov ecx, dword [edi + 0x10]
cmp ecx, esi
jg 0x63845eec
mov eax, dword [edi + 0x18]
cmp eax, esi
jle 0x63845fbd
mov eax, dword [edi + 0x14]
mov edx, dword [esp + 0xd0]
cmp edx, eax
jl 0x63845faa
mov ebx, dword [edi + 0x1c]
cmp edx, ebx
jge 0x63845f93
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 0x63845fc9
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 0x63845eec
mov eax, dword [esp + 0xc0]
mov edx, dword [esp + 0xb0]
mov ebx, dword [esp + 0x60]
jmp 0x63845eec
mov eax, dword [esp + 0xc0]
mov edx, dword [esp + 0xb0]
jmp 0x63845eec
mov eax, dword [esp + 0xc0]
jmp 0x63845eec
mov ecx, ebx
call fcn.6376c140
mov eax, ebp
call fcn.6376c140
add ebx, 4
mov ebp, dword [esp + 0x2a8]
mov esi, dword [esp + 0xd0]
mov edx, dword [esp + 0x288]
mov ebp, dword [esp + 0x2d4]
mov esi, dword [esp + 0x2bc]
mov dword [esp + 0xb4], ebx
mov ebx, dword [esp + 0x2c8]
mov ebp, dword [esp + 0xb4]
mov edx, dword [esp + 0xc0]
cmp ebp, edx
jge 0x63846056
sar ebp, 0x1f
shr ebp, 0x1e
mov ebx, dword [esp + 0xb4]
add ebp, ebx
sar ebp, 2
cmp ebp, ecx
jae 0x63846144
movzx ebp, byte [ebp + edi]
mov byte [esp + 0x150], al
xor eax, eax
mov dword [esp + 0x64], eax
movzx eax, byte [esp + 0x150]
jmp 0x638460f0
mov eax, edx
mov edx, dword [esp + 0x288]
jmp 0x63845ed9
mov eax, dword [esp + 0x2a8]
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.63832ec0
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 + 0x2a8]
movzx esi, byte [esp + 0x26]
mov edi, dword [esp + 0xd0]
mov ecx, dword [esp + 0xfc]
mov ebx, dword [esp + 0xb4]
mov esi, dword [esp + 0x2bc]
mov edi, dword [esp + 0x2c0]
mov dword [esp + 0x64], eax
movzx eax, byte [esp + 0x26]
mov esi, dword [esp + 0x64]
cmp esi, 4
jge 0x63845fd7
add esi, ebx
cmp edx, esi
jle 0x63845fd7
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 0x6384612f
mov byte [esp + 0x140], al
xor eax, eax
mov byte [esp + 0x36], al
jmp 0x63846064
mov byte [esp + 0x148], al
mov eax, 0xffffffff
mov byte [esp + 0x36], al
jmp 0x63846064
mov eax, ebp
call fcn.6376c140
add edx, 8
mov ebx, dword [esp + 0x2b4]
mov ebp, dword [esp + 0xd0]
mov ebx, dword [esp + 0x2c8]
mov ebp, dword [esp + 0x2d4]
mov dword [esp + 0xb8], edx
mov edx, dword [esp + 0x288]
mov ebp, dword [esp + 0xb8]
cmp ebp, eax
jge 0x638461c1
sar ebp, 0x1f
shr ebp, 0x1d
mov edx, dword [esp + 0xb8]
add ebp, edx
sar ebp, 3
cmp ebp, ecx
jae 0x638462c1
movzx ebp, byte [ebp + edi]
mov dword [esp + 0x130], eax
xor eax, eax
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x130]
jmp 0x63846200
mov esi, dword [esp + 0x2bc]
jmp 0x6384614b
mov ebp, dword [esp + 0x2d4]
mov eax, dword [esp + 0xc8]
jmp 0x6384418e
lea ecx, [ebx + 1]
shl ebp, 1
mov ebx, dword [esp + 0xd0]
mov ebx, dword [esp + 0x2c8]
mov esi, dword [esp + 0x2bc]
mov edi, dword [esp + 0x2c0]
mov dword [esp + 0x68], ecx
mov ecx, dword [esp + 0xfc]
mov ebx, dword [esp + 0x68]
cmp ebx, 8
jge 0x6384614b
lea esi, [ebx + edx]
cmp eax, esi
jle 0x638461b8
mov edi, dword [esp + 0x2b4]
mov ecx, dword [edi + 0x10]
cmp ecx, esi
jg 0x638461d4
mov eax, dword [edi + 0x18]
cmp eax, esi
jle 0x638462ae
mov eax, dword [edi + 0x14]
mov edx, dword [esp + 0xd0]
cmp edx, eax
jl 0x6384629b
mov ebx, dword [edi + 0x1c]
cmp edx, ebx
jge 0x63846284
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 0x638462ba
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 0x638461d4
mov eax, dword [esp + 0xc0]
mov edx, dword [esp + 0xb8]
mov ebx, dword [esp + 0x68]
jmp 0x638461d4
mov eax, dword [esp + 0xc0]
mov edx, dword [esp + 0xb8]
jmp 0x638461d4
mov eax, dword [esp + 0xc0]
jmp 0x638461d4
mov ecx, ebx
call fcn.6376c140
mov eax, ebp
call fcn.6376c140
add ebx, 8
mov ebp, dword [esp + 0x2a8]
mov esi, dword [esp + 0xd0]
mov edx, dword [esp + 0x288]
mov ebp, dword [esp + 0x2d4]
mov esi, dword [esp + 0x2bc]
mov dword [esp + 0xbc], ebx
mov ebx, dword [esp + 0x2c8]
mov ebp, dword [esp + 0xbc]
mov edx, dword [esp + 0xc0]
cmp ebp, edx
jge 0x63846347
sar ebp, 0x1f
shr ebp, 0x1d
mov ebx, dword [esp + 0xbc]
add ebp, ebx
sar ebp, 3
cmp ebp, ecx
jae 0x63846437
movzx ebp, byte [ebp + edi]
mov byte [esp + 0x120], al
xor eax, eax
mov dword [esp + 0x6c], eax
movzx eax, byte [esp + 0x120]
jmp 0x638463e0
mov eax, edx
mov edx, dword [esp + 0x288]
jmp 0x638461c1
mov eax, dword [esp + 0x2a8]
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.63832ec0
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 + 0x2a8]
movzx esi, byte [esp + 0x27]
mov edi, dword [esp + 0xd0]
mov ecx, dword [esp + 0xfc]
mov ebx, dword [esp + 0xbc]
mov esi, dword [esp + 0x2bc]
mov edi, dword [esp + 0x2c0]
mov dword [esp + 0x6c], eax
movzx eax, byte [esp + 0x27]
mov esi, dword [esp + 0x6c]
cmp esi, 8
jge 0x638462c8
add esi, ebx
cmp edx, esi
jle 0x638462c8
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 0x63846422
mov byte [esp + 0x110], al
xor eax, eax
mov byte [esp + 0x37], al
jmp 0x63846355
mov byte [esp + 0x118], al
mov eax, 0xffffffff
mov byte [esp + 0x37], al
jmp 0x63846355
mov eax, ebp
call fcn.6376c140
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 + 0x2c8]
mov esi, dword [esp + 0x2bc]
mov dword [esp + 0xec], edx
mov edx, dword [esp + 0x288]
mov ebx, dword [esp + 0xec]
cmp ebx, eax
jge 0x63846485
cmp ebx, ecx
jae 0x63846508
movzx edx, byte [ebx + edi]
jb 0x6384643e
jmp 0x63846501
mov dword [esp + 0x29c], ebp
mov ebx, eax
jmp 0x638464bc
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 + 0x29c]
mov edx, dword [esp + 0x288]
mov esi, dword [esp + 0x2bc]
cmp eax, ecx
jge 0x638464e4
jae 0x638464fc
mov dword [esp + 0xe8], eax
sub eax, ebx
mov esi, dword [esp + 0xe8]
movzx edx, byte [esi + edi]
cmp eax, ecx
jae 0x638464f7
movzx eax, byte [eax + edi]
cmp esi, ecx
jb 0x63846490
jmp 0x638464f0
mov ebx, dword [esp + 0x2c8]
jmp 0x638442f9
mov eax, esi
call fcn.6376c140
call fcn.6376c140
call fcn.6376c140
mov eax, ebx
call fcn.6376c140
mov eax, ebx
call fcn.6376c140
movzx ebx, byte [eax + edi]
add edx, ebx
mov byte [edi + eax], dl
inc eax
mov edx, dword [esp + 0x288]
mov ebx, dword [esp + 0x2c8]
cmp eax, ecx
jge 0x638442f9
movzx edx, byte [eax + ebp]
jb 0x6384650f
call fcn.6376c140
movzx eax, byte [eax + edi]
add eax, edx
mov byte [edi + ebx], al
lea eax, [ebx + 1]
mov edx, dword [esp + 0x288]
mov ebx, dword [esp + 0x2c8]
cmp eax, ecx
jge 0x638442f9
jae 0x6384657b
mov dword [esp + 0xf0], eax
sub eax, ebp
mov ebx, dword [esp + 0xf0]
movzx edx, byte [ebx + edi]
cmp eax, ecx
jb 0x6384653a
call fcn.6376c140
call fcn.6376c140
mov eax, 1
xor ecx, ecx
call fcn.6376c1a0
mov eax, 1
xor ecx, ecx
call fcn.6376c1a0
call fcn.63738ba0
call fcn.63738ba0
call fcn.6376c140
nop
call fcn.6376aca0
jmp fcn.63843610