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

Disassembly:
mov ecx, dword [0x6cb24420]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x250]
cmp eax, dword [ecx + 8]
jbe 0x6c905ce8
sub esp, 0x2d0
mov edx, dword [esp + 0x2d4]
mov ebx, dword [edx + 0x18]
mov ebp, dword [edx + 0x1c]
cmp dword [edx + 0x33c], 1
jne 0x6c902e5e
movzx esi, byte [esp + 0x2e4]
xchg esi, eax
test al, al
xchg esi, eax
jne 0x6c902e66
mov ecx, dword [0x6c96c1d4]
mov eax, dword [esp + 0x2e0]
cmp eax, ecx
jae 0x6c905ce2
shl eax, 4
mov ecx, dword [0x6c96c1d0]
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 0x6c905cdd
sub ebp, ecx
cmp edi, 0xffffffff
je 0x6c902de4
cdq
idiv edi
jmp 0x6c902de6
neg eax
lea ecx, [esi + ebp - 1]
test esi, esi
je 0x6c905cd8
mov dword [esp + 0xc0], eax
mov eax, ecx
cmp esi, 0xffffffff
je 0x6c902e05
cdq
idiv esi
jmp 0x6c902e07
neg eax
mov ecx, dword [esp + 0xc0]
test ecx, ecx
je 0x6c902e16
test eax, eax
jne 0x6c902e49
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 0x6c902e66
movzx esi, byte [esp + 0x2e4]
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xf4], ebp
mov ecx, dword [edx + 0x30]
cmp ecx, 0xa
jg 0x6c903282
cmp ecx, 5
jg 0x6c903090
lea edi, [ecx - 1]
cmp edi, 3
ja 0x6c902fc5
movzx eax, byte [edx + 0x340]
mov ecx, dword [edx + 0x20]
mov dword [esp + 0x104], ecx
test al, al
je 0x6c902f04
test ebx, ebx
jge 0x6c902eb4
mov eax, ebx
xor edi, edi
jmp 0x6c902eba
mov eax, ebx
xor ebx, ebx
mov edi, eax
test ebp, ebp
jge 0x6c902ecd
mov dword [esp + 0x280], eax
xor eax, eax
mov dword [esp + 0x48], eax
jmp 0x6c902edc
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.6c8f26b0
mov eax, dword [esp + 0x10]
lea ecx, [0x6c9fc6d8]
mov edx, eax
xor ebx, ebx
jmp 0x6c902f5c
test ebx, ebx
jge 0x6c902f0e
mov eax, ebx
xor edi, edi
jmp 0x6c902f14
mov eax, ebx
xor ebx, ebx
mov edi, eax
test ebp, ebp
jge 0x6c902f27
mov dword [esp + 0x278], eax
xor eax, eax
mov dword [esp + 0x44], eax
jmp 0x6c902f36
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.6c8f2b50
mov eax, dword [esp + 0x10]
lea ecx, [0x6c9fc668]
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 0x6c903741
cmp ecx, 5
jne 0x6c9036fa
test ebx, ebx
jge 0x6c902fd8
mov eax, ebx
xor ecx, ecx
jmp 0x6c902fde
mov eax, ebx
xor ebx, ebx
mov ecx, eax
test ebp, ebp
jge 0x6c902fe6
xor edi, edi
jmp 0x6c902fef
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.6c8f26b0
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, [0x6c9fc6d8]
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 0x6c903741
cmp ecx, 6
jne 0x6c9031a1
movzx eax, byte [edx + 0x340]
test al, al
je 0x6c9030e9
test ebx, ebx
jge 0x6c9030ae
mov eax, ebx
xor ecx, ecx
jmp 0x6c9030b4
mov eax, ebx
xor ebx, ebx
mov ecx, eax
test ebp, ebp
jge 0x6c9030bc
xor edi, edi
jmp 0x6c9030c5
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.6c8f26b0
mov eax, dword [esp + 0x10]
lea ecx, [0x6c9fc6d8]
mov edx, eax
xor ebx, ebx
jmp 0x6c90312c
test ebx, ebx
jge 0x6c9030f3
mov eax, ebx
xor ecx, ecx
jmp 0x6c9030f9
mov eax, ebx
xor ebx, ebx
mov ecx, eax
test ebp, ebp
jge 0x6c903101
xor edi, edi
jmp 0x6c90310a
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.6c8f22e0
mov eax, dword [esp + 0x10]
lea ecx, [0x6c9fc5dc]
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 0x6c903741
test ebx, ebx
jge 0x6c9031ab
mov eax, ebx
xor ecx, ecx
jmp 0x6c9031b1
mov eax, ebx
xor ebx, ebx
mov ecx, eax
test ebp, ebp
jge 0x6c9031b9
xor edi, edi
jmp 0x6c9031c2
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.6c8f2f80
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, [0x6c9fc614]
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 0x6c903741
cmp ecx, 0xc
jg 0x6c90345a
cmp ecx, 0xb
jne 0x6c903356
test ebx, ebx
jge 0x6c90329e
mov eax, ebx
xor ecx, ecx
jmp 0x6c9032a4
mov eax, ebx
xor ebx, ebx
mov ecx, eax
test ebp, ebp
jge 0x6c9032ac
xor edi, edi
jmp 0x6c9032b5
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.6c8f26b0
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, [0x6c9fc6d8]
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 0x6c903741
movzx eax, byte [edx + 0x340]
test al, al
je 0x6c9033a6
test ebx, ebx
jge 0x6c90336b
mov eax, ebx
xor ecx, ecx
jmp 0x6c903371
mov eax, ebx
xor ebx, ebx
mov ecx, eax
test ebp, ebp
jge 0x6c903379
xor edi, edi
jmp 0x6c903382
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.6c8f28a0
mov eax, dword [esp + 0x10]
lea ecx, [0x6c9fc6bc]
mov edx, eax
xor ebx, ebx
jmp 0x6c9033e9
test ebx, ebx
jge 0x6c9033b0
mov eax, ebx
xor ecx, ecx
jmp 0x6c9033b6
mov eax, ebx
xor ebx, ebx
mov ecx, eax
test ebp, ebp
jge 0x6c9033be
xor edi, edi
jmp 0x6c9033c7
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.6c8f2d20
mov eax, dword [esp + 0x10]
lea ecx, [0x6c9fc64c]
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 0x6c903741
cmp ecx, 0xd
jne 0x6c903525
test ebx, ebx
jge 0x6c90346d
mov eax, ebx
xor ecx, ecx
jmp 0x6c903473
mov eax, ebx
xor ebx, ebx
mov ecx, eax
test ebp, ebp
jge 0x6c90347b
xor edi, edi
jmp 0x6c903484
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.6c8f28a0
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, [0x6c9fc6bc]
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 0x6c903741
cmp ecx, 0xe
jne 0x6c903632
movzx eax, byte [edx + 0x340]
test al, al
je 0x6c90357e
test ebx, ebx
jge 0x6c903543
mov eax, ebx
xor ecx, ecx
jmp 0x6c903549
mov eax, ebx
xor ebx, ebx
mov ecx, eax
test ebp, ebp
jge 0x6c903551
xor edi, edi
jmp 0x6c90355a
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.6c8f28a0
mov eax, dword [esp + 0x10]
lea ecx, [0x6c9fc6bc]
mov edx, eax
xor ebx, ebx
jmp 0x6c9035c1
test ebx, ebx
jge 0x6c903588
mov eax, ebx
xor ecx, ecx
jmp 0x6c90358e
mov eax, ebx
xor ebx, ebx
mov ecx, eax
test ebp, ebp
jge 0x6c903596
xor edi, edi
jmp 0x6c90359f
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.6c8f24d0
mov eax, dword [esp + 0x10]
lea ecx, [0x6c9fc6f4]
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 0x6c903741
cmp ecx, 0xf
jne 0x6c9036fa
test ebx, ebx
jge 0x6c903645
mov eax, ebx
xor ecx, ecx
jmp 0x6c90364b
mov eax, ebx
xor ebx, ebx
mov ecx, eax
test ebp, ebp
jge 0x6c903653
xor edi, edi
jmp 0x6c90365c
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.6c8f28a0
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, [0x6c9fc6bc]
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 0x6c903741
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 0x6c903895
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 0x6c90385e
mov dword [esp + 0x288], esi
mov dword [esp + 0xc4], edi
mov dword [esp + 0x2a8], ecx
mov dword [esp + 0x28c], ebx
lea eax, [0x6c98c5c0]
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.6c810570
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, [0x6c98c5c0]
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.6c810570
mov eax, dword [esp + 0x14]
xor ecx, ecx
mov edx, dword [esp + 0x2cc]
xor ebx, ebx
jmp 0x6c9038de
mov dword [esp + 0x2e8], 0
mov dword [esp + 0x2ec], 0
lea eax, [0x6c9fc194]
mov dword [esp + 0x2f0], eax
lea eax, [0x6c9fb8d0]
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 0x6c9040cd
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.6c84add0
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x6c903fe3
mov ebx, dword [esp + 0x288]
cmp ebx, 1
jb 0x6c905ccc
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 0x6c905cc0
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 0x6c9039b2
test al, al
je 0x6c903a39
mov eax, dword [esp + 0x100]
mov ebp, eax
jmp 0x6c905c94
cmp al, 2
jne 0x6c9039be
xor eax, eax
jmp 0x6c905c67
cmp al, 3
jne 0x6c9039e6
mov eax, dword [esp + 0x100]
mov dword [esp + 0x108], eax
xor eax, eax
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0x108]
jmp 0x6c905baa
cmp al, 4
jne 0x6c903fac
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.6c901840
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 0x6c903d65
cmp eax, 3
jg 0x6c903b6a
cmp eax, 1
jne 0x6c903ab0
movzx eax, byte [ebp + 0x340]
test al, al
je 0x6c903a8d
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 0x6c905a3c
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x138], eax
xor eax, eax
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x138]
jmp 0x6c9058b8
cmp eax, 2
jne 0x6c903b0b
movzx eax, byte [ebp + 0x340]
test al, al
je 0x6c903ae8
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 0x6c90574b
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x168], eax
xor eax, eax
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x168]
jmp 0x6c9055d0
cmp eax, 3
jne 0x6c903fa0
movzx eax, byte [ebp + 0x340]
test al, al
je 0x6c903b47
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 0x6c905475
mov eax, dword [esp + 0x2b4]
mov dword [esp + 0x188], eax
xor eax, eax
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x188]
jmp 0x6c9052f1
cmp eax, 5
jg 0x6c903c35
cmp eax, 4
jne 0x6c903c12
movzx eax, byte [ebp + 0x340]
test al, al
je 0x6c903baf
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 0x6c905264
mov ebp, dword [esp + 0x2b4]
mov eax, dword [ebp + 4]
mov edx, dword [esp + 0xc8]
cmp edx, eax
ja 0x6c9051c7
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 0x6c903be5
mov ecx, eax
cmp ebx, edi
je 0x6c903c07
mov dword [esp], ebx
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
call fcn.6c82c9c0
mov edx, dword [esp + 0xc8]
mov ebp, dword [esp + 0x2b4]
mov eax, dword [ebp + 0xc]
lea ebx, [edx + eax]
jmp 0x6c9051a4
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x1a8], eax
xor eax, eax
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x1a8]
jmp 0x6c90515d
cmp eax, 6
jne 0x6c903d42
movzx eax, byte [ebp + 0x340]
test al, al
je 0x6c903ce1
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 0x6c904f8d
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 0x6c904e5b
mov eax, dword [esp + 0x2a0]
mov dword [esp + 0x1f8], eax
xor eax, eax
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x1f8]
jmp 0x6c904c9f
cmp eax, 0xb
jg 0x6c903e76
cmp eax, 9
jg 0x6c903dbe
cmp eax, 8
jne 0x6c903d9b
mov eax, dword [esp + 0x2a0]
mov dword [esp + 0x208], eax
xor eax, eax
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x208]
jmp 0x6c904af9
mov eax, dword [esp + 0x2a0]
mov dword [esp + 0x218], eax
xor eax, eax
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x218]
jmp 0x6c904957
cmp eax, 0xa
jne 0x6c903df5
mov eax, ebp
mov ebp, dword [esp + 0x2a0]
cmp dword [ebp + 0x24], 0x100
je 0x6c904836
mov dword [esp + 0x220], eax
xor eax, eax
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x220]
jmp 0x6c9048d9
mov ebp, dword [esp + 0x2a8]
mov eax, dword [ebp + 4]
mov edx, dword [esp + 0xc8]
cmp edx, eax
ja 0x6c90482d
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 0x6c903e2b
mov ecx, eax
cmp ebx, edi
je 0x6c903e4d
mov dword [esp], ebx
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
call fcn.6c82c9c0
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 0x6c9038ce
cmp eax, 0xd
jg 0x6c903f00
cmp eax, 0xc
jne 0x6c903ee0
movzx eax, byte [ebp + 0x340]
test al, al
je 0x6c903ebd
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 0x6c9047b5
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x240], eax
xor eax, eax
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x240]
jmp 0x6c9046e0
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x248], eax
xor eax, eax
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x248]
jmp 0x6c9045ec
cmp eax, 0xe
jne 0x6c903f7b
movzx eax, byte [ebp + 0x340]
test al, al
je 0x6c903f5b
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 0x6c904429
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x268], eax
xor eax, eax
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x268]
jmp 0x6c904308
cmp eax, 0xf
jne 0x6c903fa0
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x270], eax
xor eax, eax
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x270]
jmp 0x6c9041b4
mov eax, dword [esp + 0xc8]
jmp 0x6c9038ce
mov dword [esp + 0x2e8], 0
mov dword [esp + 0x2ec], 0
lea eax, [0x6c9fc180]
mov dword [esp + 0x2f0], eax
lea eax, [0x6c9fb910]
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 [0x6c96b7a0], eax
je 0x6c904001
xor edx, edx
jmp 0x6c90402c
mov edx, dword [0x6c96b7a4]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.6c7c5310
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 0x2b8]
mov edx, eax
mov eax, dword [esp + 0xf8]
test dl, dl
jne 0x6c90406b
cmp dword [0x6c96b7a8], eax
je 0x6c90403c
xor edx, edx
jmp 0x6c904067
mov edx, dword [0x6c96b7ac]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.6c7c5310
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 0x2b8]
mov edx, eax
mov eax, dword [esp + 0xf8]
test dl, dl
je 0x6c9040a2
mov dword [esp + 0x2e8], 0
mov dword [esp + 0x2ec], 0
lea eax, [0x6c9fc180]
mov dword [esp + 0x2f0], eax
lea eax, [0x6c9fb8f8]
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.6c8f27e0
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 0x6c90421c
shl ebp, 3
cmp ebp, ecx
jae 0x6c904260
lea edx, [ebp + 1]
mov ebx, dword [esp + 0x70]
lea esi, [edi + ebx*8]
cmp edx, ecx
jae 0x6c904259
lea edx, [ebp + 2]
cmp edx, ecx
jae 0x6c904252
lea edx, [ebp + 3]
lea eax, [edi + ebx*8 + 2]
cmp edx, ecx
jae 0x6c90424b
lea edx, [ebp + 4]
cmp edx, ecx
jae 0x6c904244
mov dword [esp + 0x2c4], eax
lea edx, [ebp + 5]
lea eax, [edi + ebx*8 + 4]
cmp edx, ecx
jae 0x6c90423d
lea edx, [ebp + 6]
cmp edx, ecx
jae 0x6c904236
lea edx, [ebp + 7]
lea ebp, [edi + ebx*8 + 6]
cmp edx, ecx
jb 0x6c904106
jmp 0x6c90422f
mov ebp, dword [esp + 0x2d4]
mov eax, dword [esp + 0xc8]
jmp 0x6c9038ce
mov eax, edx
call fcn.6c82c0e0
mov eax, edx
call fcn.6c82c0e0
mov eax, edx
call fcn.6c82c0e0
mov eax, edx
call fcn.6c82c0e0
mov eax, edx
call fcn.6c82c0e0
mov eax, edx
call fcn.6c82c0e0
mov eax, edx
call fcn.6c82c0e0
mov eax, ebp
call fcn.6c82c0e0
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.6c8f2410
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 0x6c90435a
lea edx, [ebp + ebp*2]
mov dword [esp + 0x28c], edx
shl edx, 1
cmp edx, ecx
jae 0x6c904390
lea ebx, [edx + 1]
cmp ebx, ecx
jae 0x6c904389
lea ebx, [edx + 2]
mov esi, dword [esp + 0x28c]
movzx eax, word [edi + esi*2]
cmp ebx, ecx
jae 0x6c904382
lea ebx, [edx + 3]
cmp ebx, ecx
jae 0x6c90437b
lea ebx, [edx + 4]
movzx ebp, word [edi + esi*2 + 2]
cmp ebx, ecx
jae 0x6c904374
add edx, 5
cmp edx, ecx
jb 0x6c904267
jmp 0x6c90436d
mov ebp, dword [esp + 0x2d4]
mov eax, dword [esp + 0xc8]
jmp 0x6c9038ce
mov eax, edx
call fcn.6c82c0e0
mov eax, ebx
call fcn.6c82c0e0
mov eax, ebx
call fcn.6c82c0e0
mov eax, ebx
call fcn.6c82c0e0
mov eax, ebx
call fcn.6c82c0e0
mov eax, edx
call fcn.6c82c0e0
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.6c8f27e0
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 0x6c90450d
lea esi, [ebx + ebx*2]
mov dword [esp + 0x28c], esi
shl esi, 1
cmp esi, ecx
jae 0x6c90454c
lea ebx, [esi + 1]
cmp ebx, ecx
jae 0x6c904545
lea ebx, [esi + 2]
mov ebp, dword [esp + 0x28c]
movzx edx, word [edi + ebp*2]
cmp ebx, ecx
jae 0x6c90453e
lea ebx, [esi + 3]
cmp ebx, ecx
jae 0x6c904537
lea ebx, [esi + 4]
movzx eax, word [edi + ebp*2 + 2]
cmp ebx, ecx
jae 0x6c904530
lea ebx, [esi + 5]
cmp ebx, ecx
jae 0x6c904529
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 0x6c9044e9
movzx esi, word [esp + 0x40]
cmp ax, si
jne 0x6c9044e2
movzx esi, word [esp + 0x3e]
cmp bx, si
jne 0x6c9044ee
mov word [esp + 0x250], ax
xor eax, eax
mov word [esp + 0x3a], ax
movzx eax, word [esp + 0x250]
jmp 0x6c904397
movzx esi, word [esp + 0x3e]
jmp 0x6c9044ee
movzx esi, word [esp + 0x3e]
mov word [esp + 0x258], ax
mov eax, 0xffffffff
mov word [esp + 0x3a], ax
movzx eax, word [esp + 0x258]
jmp 0x6c904397
mov eax, esi
mov edx, dword [esp + 0x288]
mov ebx, dword [esp + 0x2c8]
mov esi, dword [esp + 0x2bc]
jmp 0x6c90435a
mov eax, ebx
call fcn.6c82c0e0
mov eax, ebx
call fcn.6c82c0e0
mov eax, ebx
call fcn.6c82c0e0
mov eax, ebx
call fcn.6c82c0e0
mov eax, ebx
call fcn.6c82c0e0
mov eax, esi
call fcn.6c82c0e0
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.6c8f27e0
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 0x6c904621
shl ebp, 2
cmp ebp, ecx
jae 0x6c904649
lea edx, [ebp + 1]
mov ebx, dword [esp + 0x7c]
lea esi, [edi + ebx*4]
cmp edx, ecx
jae 0x6c904642
lea edx, [ebp + 2]
cmp edx, ecx
jae 0x6c90463b
lea edx, [ebp + 3]
lea ebp, [edi + ebx*4 + 2]
cmp edx, ecx
jb 0x6c904553
jmp 0x6c904634
mov ebp, dword [esp + 0x2d4]
mov eax, dword [esp + 0xc8]
jmp 0x6c9038ce
mov eax, edx
call fcn.6c82c0e0
mov eax, edx
call fcn.6c82c0e0
mov eax, edx
call fcn.6c82c0e0
mov eax, ebp
call fcn.6c82c0e0
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.6c8f2c80
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 0x6c9046fc
shl ebp, 1
cmp ebp, ecx
jae 0x6c904716
inc ebp
cmp ebp, ecx
jb 0x6c904650
jmp 0x6c90470f
mov ebp, dword [esp + 0x2d4]
mov eax, dword [esp + 0xc8]
jmp 0x6c9038ce
mov eax, ebp
call fcn.6c82c0e0
mov eax, ebp
call fcn.6c82c0e0
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.6c8f27e0
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 0x6c904811
shl ebp, 1
cmp ebp, ecx
jae 0x6c904826
inc ebp
cmp ebp, ecx
jae 0x6c90481f
mov ebp, dword [esp + 0x84]
movzx ebx, word [edi + ebp*2]
rol bx, 8
cmp bx, ax
jne 0x6c9047fa
mov word [esp + 0x228], ax
xor eax, eax
mov word [esp + 0x3c], ax
jmp 0x6c90471d
mov word [esp + 0x230], ax
mov eax, 0xffffffff
mov word [esp + 0x3c], ax
jmp 0x6c90471d
mov eax, edx
mov edx, dword [esp + 0x288]
jmp 0x6c9046fc
mov eax, ebp
call fcn.6c82c0e0
mov eax, ebp
call fcn.6c82c0e0
mov ecx, eax
mov eax, edx
call fcn.6c82c140
mov eax, dword [ebp + 4]
mov edx, dword [esp + 0xc8]
cmp edx, eax
ja 0x6c9048aa
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 0x6c904861
mov ecx, eax
cmp ebx, edi
je 0x6c904883
mov dword [esp], ebx
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
call fcn.6c82c9c0
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 0x6c9038ce
mov ecx, eax
mov eax, edx
call fcn.6c82c140
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 0x6c904907
cmp ebx, ecx
jae 0x6c904923
mov eax, dword [ebp + 0x24]
movzx edx, byte [ebx + edi]
cmp eax, edx
jg 0x6c9048b3
mov eax, dword [ebp + 0x28]
inc edx
cmp eax, edx
jb 0x6c90491a
mov dword [ebp + 0x24], edx
jmp 0x6c9048b3
mov ebx, dword [esp + 0x2c8]
mov esi, dword [esp + 0x2bc]
jmp 0x6c904836
mov ecx, edx
mov edx, eax
call fcn.6c82c120
mov eax, ebx
call fcn.6c82c0e0
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 0x6c9049a3
shr ebp, 0x1f
mov esi, dword [esp + 0x8c]
add ebp, esi
sar ebp, 1
cmp ebp, ecx
jae 0x6c904ac5
movzx ebp, byte [ebp + edi]
mov dword [esp + 0x210], eax
xor eax, eax
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x210]
jmp 0x6c9049e8
mov edx, dword [esp + 0x288]
jmp 0x6c90492a
mov ebx, dword [esp + 0x2c8]
mov ebp, dword [esp + 0x2d4]
mov eax, dword [esp + 0xc8]
jmp 0x6c9038ce
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 0x6c90492a
lea edx, [edi + esi]
cmp ebx, edx
jle 0x6c90499a
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 0x6c904a2b
xchg ebp, eax
mov byte [esp + 0x2b], al
xchg ebp, eax
mov ebp, dword [eax + 0x28]
inc ecx
cmp ebp, ecx
jb 0x6c904abe
mov dword [eax + 0x24], ecx
movzx ebp, byte [esp + 0x2b]
mov ecx, dword [eax + 0x10]
cmp ecx, edx
jg 0x6c9049bd
mov ebx, dword [eax + 0x18]
cmp ebx, edx
jle 0x6c904aa9
mov ebx, dword [eax + 0x14]
mov esi, dword [esp + 0xd0]
cmp esi, ebx
jl 0x6c904a96
mov edi, dword [eax + 0x1c]
cmp esi, edi
jge 0x6c904a7f
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 0x6c904ab5
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 0x6c9049bd
mov ebx, dword [esp + 0xc0]
mov esi, dword [esp + 0x8c]
mov edi, dword [esp + 0x4c]
jmp 0x6c9049bd
mov ebx, dword [esp + 0xc0]
mov esi, dword [esp + 0x8c]
jmp 0x6c9049bd
mov ebx, dword [esp + 0xc0]
jmp 0x6c9049bd
mov eax, ebx
mov ecx, edi
call fcn.6c82c0e0
mov edx, ebp
call fcn.6c82c120
mov eax, ebp
call fcn.6c82c0e0
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 0x6c904b49
sar ebp, 0x1f
shr ebp, 0x1e
mov esi, dword [esp + 0x90]
add ebp, esi
sar ebp, 2
cmp ebp, ecx
jae 0x6c904c6b
movzx ebp, byte [ebp + edi]
mov dword [esp + 0x200], eax
xor eax, eax
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x200]
jmp 0x6c904b8e
mov edx, dword [esp + 0x288]
jmp 0x6c904acc
mov ebx, dword [esp + 0x2c8]
mov ebp, dword [esp + 0x2d4]
mov eax, dword [esp + 0xc8]
jmp 0x6c9038ce
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 0x6c904acc
lea edx, [edi + esi]
cmp ebx, edx
jle 0x6c904b40
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 0x6c904bd1
xchg ebp, eax
mov byte [esp + 0x2c], al
xchg ebp, eax
mov ebp, dword [eax + 0x28]
inc ecx
cmp ebp, ecx
jb 0x6c904c64
mov dword [eax + 0x24], ecx
movzx ebp, byte [esp + 0x2c]
mov ecx, dword [eax + 0x10]
cmp ecx, edx
jg 0x6c904b63
mov ebx, dword [eax + 0x18]
cmp ebx, edx
jle 0x6c904c4f
mov ebx, dword [eax + 0x14]
mov esi, dword [esp + 0xd0]
cmp esi, ebx
jl 0x6c904c3c
mov edi, dword [eax + 0x1c]
cmp esi, edi
jge 0x6c904c25
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 0x6c904c5b
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 0x6c904b63
mov ebx, dword [esp + 0xc0]
mov esi, dword [esp + 0x90]
mov edi, dword [esp + 0x50]
jmp 0x6c904b63
mov ebx, dword [esp + 0xc0]
mov esi, dword [esp + 0x90]
jmp 0x6c904b63
mov ebx, dword [esp + 0xc0]
jmp 0x6c904b63
mov eax, ebx
mov ecx, edi
call fcn.6c82c0e0
mov edx, ebp
call fcn.6c82c120
mov eax, ebp
call fcn.6c82c0e0
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 0x6c904cef
sar ebp, 0x1f
shr ebp, 0x1d
mov esi, dword [esp + 0x94]
add ebp, esi
sar ebp, 3
cmp ebp, ecx
jae 0x6c904e10
movzx ebp, byte [ebp + edi]
mov dword [esp + 0x1f0], eax
xor eax, eax
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x1f0]
jmp 0x6c904d33
mov edx, dword [esp + 0x288]
jmp 0x6c904c72
mov ebx, dword [esp + 0x2c8]
mov ebp, dword [esp + 0x2d4]
mov eax, dword [esp + 0xc8]
jmp 0x6c9038ce
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 0x6c904c72
lea edx, [edi + esi]
cmp ebx, edx
jle 0x6c904ce6
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 0x6c904d76
xchg ebp, eax
mov byte [esp + 0x2d], al
xchg ebp, eax
mov ebp, dword [eax + 0x28]
inc ecx
cmp ebp, ecx
jb 0x6c904e09
mov dword [eax + 0x24], ecx
movzx ebp, byte [esp + 0x2d]
mov ecx, dword [eax + 0x10]
cmp ecx, edx
jg 0x6c904d09
mov ebx, dword [eax + 0x18]
cmp ebx, edx
jle 0x6c904df4
mov ebx, dword [eax + 0x14]
mov esi, dword [esp + 0xd0]
cmp esi, ebx
jl 0x6c904de1
mov edi, dword [eax + 0x1c]
cmp esi, edi
jge 0x6c904dca
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 0x6c904e00
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 0x6c904d09
mov ebx, dword [esp + 0xc0]
mov esi, dword [esp + 0x94]
mov edi, dword [esp + 0x54]
jmp 0x6c904d09
mov ebx, dword [esp + 0xc0]
mov esi, dword [esp + 0x94]
jmp 0x6c904d09
mov ebx, dword [esp + 0xc0]
jmp 0x6c904d09
mov eax, ebx
mov ecx, edi
call fcn.6c82c0e0
mov edx, ebp
call fcn.6c82c120
mov eax, ebp
call fcn.6c82c0e0
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 0x6c904ed7
mov esi, dword [esp + 0xd4]
cmp esi, ecx
jae 0x6c904f2f
movzx ebp, byte [esi + edi]
mov ebx, dword [esp + 0xe0]
cmp ebx, eax
jae 0x6c904f26
xchg ebp, eax
mov byte [edx + ebx], al
xchg ebp, eax
lea ebp, [esi + 1]
cmp ebp, ecx
jae 0x6c904f1f
lea ebp, [ebx + 1]
movzx edi, byte [esi + edi + 1]
cmp eax, ebp
jbe 0x6c904f16
xchg edi, eax
mov byte [ebx + edx + 1], al
xchg edi, eax
lea ebp, [esi + 2]
cmp ebp, ecx
jae 0x6c904f0f
lea ebp, [ebx + 2]
mov edi, dword [esp + 0x2c0]
movzx edi, byte [esi + edi + 2]
cmp eax, ebp
jbe 0x6c904f06
xchg edi, eax
mov byte [ebx + edx + 2], al
xchg edi, eax
lea ebp, [ebx + 3]
cmp eax, ebp
ja 0x6c904e17
jmp 0x6c904efd
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 0x6c9038ce
mov ecx, eax
mov eax, ebp
call fcn.6c82c0e0
mov ecx, eax
mov eax, ebp
call fcn.6c82c0e0
mov eax, ebp
call fcn.6c82c0e0
mov ecx, eax
mov eax, ebp
call fcn.6c82c0e0
mov eax, ebp
call fcn.6c82c0e0
mov ecx, eax
mov eax, ebx
call fcn.6c82c0e0
mov eax, esi
call fcn.6c82c0e0
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 0x6c90506d
mov ebx, dword [esp + 0xd8]
cmp ebx, ecx
jae 0x6c9050c0
lea eax, [ebx + 1]
movzx ebp, byte [ebx + edi]
cmp eax, ecx
jae 0x6c9050bb
lea eax, [ebx + 2]
movzx edx, byte [ebx + edi + 1]
cmp eax, ecx
jae 0x6c9050b6
movzx eax, byte [ebx + edi + 2]
xchg ebp, eax
xchg esi, ebx
cmp al, bl
xchg esi, ebx
xchg ebp, eax
jne 0x6c90500f
movzx esi, byte [esp + 0x29]
xchg esi, eax
cmp dl, al
xchg esi, eax
jne 0x6c905008
movzx esi, byte [esp + 0x2a]
xchg esi, ebx
cmp al, bl
xchg esi, ebx
jne 0x6c905014
mov byte [esp + 0x1b0], al
xor eax, eax
mov byte [esp + 0x38], al
movzx eax, byte [esp + 0x1b0]
jmp 0x6c90502c
movzx esi, byte [esp + 0x2a]
jmp 0x6c905014
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 0x6c9050ad
mov ebx, dword [esp + 0x298]
xchg ebp, eax
mov byte [ebx + esi], al
xchg ebp, eax
lea ebp, [esi + 1]
cmp edi, ebp
jbe 0x6c9050a4
mov byte [esi + ebx + 1], dl
lea edx, [esi + 2]
cmp edi, edx
jbe 0x6c90509b
mov byte [esi + ebx + 2], al
lea eax, [esi + 3]
cmp edi, eax
ja 0x6c904f36
jmp 0x6c905094
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 0x6c904ee3
mov ecx, edi
call fcn.6c82c0e0
mov eax, edx
mov ecx, edi
call fcn.6c82c0e0
mov eax, ebp
mov ecx, edi
call fcn.6c82c0e0
mov eax, esi
mov ecx, edi
call fcn.6c82c0e0
call fcn.6c82c0e0
call fcn.6c82c0e0
mov eax, ebx
call fcn.6c82c0e0
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.6c8f2600
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 0x6c905183
shl ebp, 1
cmp ebp, ecx
jae 0x6c90519d
inc ebp
mov edx, dword [esp + 0xa0]
lea ebx, [edi + edx*2]
cmp ebp, ecx
jb 0x6c9050c7
jmp 0x6c905196
mov ebp, dword [esp + 0x2d4]
mov eax, dword [esp + 0xc8]
jmp 0x6c9038ce
mov eax, ebp
call fcn.6c82c0e0
mov eax, ebp
call fcn.6c82c0e0
mov edx, dword [esp + 0x288]
mov ebp, dword [esp + 0x2d4]
mov esi, dword [esp + 0x2bc]
mov eax, ebx
mov ebx, dword [esp + 0x2c8]
jmp 0x6c9038ce
mov ecx, eax
mov eax, edx
call fcn.6c82c140
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.6c8f2600
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 0x6c9052aa
cmp ebp, ecx
jae 0x6c9052bd
movzx ebx, byte [ebp + edi]
cmp bl, al
jne 0x6c905295
mov byte [esp + 0x190], al
xor eax, eax
mov byte [esp + 0x35], al
jmp 0x6c9051d0
mov byte [esp + 0x198], al
mov eax, 0xffffffff
mov byte [esp + 0x35], al
jmp 0x6c9051d0
mov ebp, dword [esp + 0x2b4]
mov ebx, dword [esp + 0xc8]
jmp 0x6c9051a4
mov eax, ebp
call fcn.6c82c0e0
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 0x6c90533d
shr ebp, 0x1f
mov ebx, dword [esp + 0xa8]
add ebp, ebx
sar ebp, 1
cmp ebp, ecx
jae 0x6c90543a
movzx ebp, byte [ebp + edi]
mov dword [esp + 0x180], eax
xor eax, eax
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x180]
jmp 0x6c905392
mov edi, dword [esp + 0x2c0]
jmp 0x6c9052c4
mov edx, dword [esp + 0x288]
mov ebp, dword [esp + 0x2d4]
mov eax, dword [esp + 0xc8]
jmp 0x6c9038ce
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 0x6c9052c4
lea edi, [esi + ebx]
cmp edx, edi
jle 0x6c905334
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 0x6c905425
mov ebp, dword [eax + 0x18]
cmp ebp, edi
jle 0x6c905419
mov ebp, dword [eax + 0x14]
mov ebx, dword [esp + 0xd0]
cmp ebx, ebp
jl 0x6c905357
mov esi, dword [eax + 0x1c]
cmp ebx, esi
jge 0x6c905410
mov esi, dword [eax + 4]
sub ebx, ebp
imul ebx, dword [eax + 0xc]
sub edi, ecx
add ebx, edi
nop
cmp esi, ebx
jbe 0x6c905431
mov ebp, dword [eax]
mov byte [ebp + ebx], dl
mov ebx, dword [esp + 0xd0]
mov esi, dword [esp + 0x58]
jmp 0x6c905357
mov esi, dword [esp + 0x58]
jmp 0x6c905357
mov ebx, dword [esp + 0xd0]
jmp 0x6c905357
mov ebx, dword [esp + 0xd0]
jmp 0x6c905357
mov eax, ebx
mov ecx, esi
call fcn.6c82c0e0
mov eax, ebp
call fcn.6c82c0e0
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 0x6c9054bc
shr ebp, 0x1f
mov ebx, dword [esp + 0xac]
add ebp, ebx
sar ebp, 1
cmp ebp, ecx
jae 0x6c90559c
movzx ebp, byte [ebp + edi]
mov byte [esp + 0x170], al
xor eax, eax
mov dword [esp + 0x5c], eax
movzx eax, byte [esp + 0x170]
jmp 0x6c905551
mov eax, dword [esp + 0x2b4]
jmp 0x6c90533d
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.6c8f2600
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 0x6c905441
add esi, ebx
cmp edx, esi
jle 0x6c905441
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 0x6c905592
xor edi, edi
jmp 0x6c9054c8
mov edi, 0xffffffff
jmp 0x6c9054c8
mov eax, ebp
call fcn.6c82c0e0
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 0x6c905619
sar ebp, 0x1f
shr ebp, 0x1e
mov edx, dword [esp + 0xb0]
add ebp, edx
sar ebp, 2
cmp ebp, ecx
jae 0x6c905710
movzx ebp, byte [ebp + edi]
mov dword [esp + 0x160], eax
xor eax, eax
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x160]
jmp 0x6c905659
mov esi, dword [esp + 0x2bc]
jmp 0x6c9055a3
mov ebp, dword [esp + 0x2d4]
mov eax, dword [esp + 0xc8]
jmp 0x6c9038ce
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 0x6c9055a3
lea esi, [ebx + edx]
cmp eax, esi
jle 0x6c905610
mov edi, dword [esp + 0x2b4]
mov ecx, dword [edi + 0x10]
cmp ecx, esi
jg 0x6c90562c
mov eax, dword [edi + 0x18]
cmp eax, esi
jle 0x6c9056fd
mov eax, dword [edi + 0x14]
mov edx, dword [esp + 0xd0]
cmp edx, eax
jl 0x6c9056ea
mov ebx, dword [edi + 0x1c]
cmp edx, ebx
jge 0x6c9056d3
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 0x6c905709
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 0x6c90562c
mov eax, dword [esp + 0xc0]
mov edx, dword [esp + 0xb0]
mov ebx, dword [esp + 0x60]
jmp 0x6c90562c
mov eax, dword [esp + 0xc0]
mov edx, dword [esp + 0xb0]
jmp 0x6c90562c
mov eax, dword [esp + 0xc0]
jmp 0x6c90562c
mov ecx, ebx
call fcn.6c82c0e0
mov eax, ebp
call fcn.6c82c0e0
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 0x6c905796
sar ebp, 0x1f
shr ebp, 0x1e
mov ebx, dword [esp + 0xb4]
add ebp, ebx
sar ebp, 2
cmp ebp, ecx
jae 0x6c905884
movzx ebp, byte [ebp + edi]
mov byte [esp + 0x150], al
xor eax, eax
mov dword [esp + 0x64], eax
movzx eax, byte [esp + 0x150]
jmp 0x6c905830
mov eax, edx
mov edx, dword [esp + 0x288]
jmp 0x6c905619
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.6c8f2600
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 0x6c905717
add esi, ebx
cmp edx, esi
jle 0x6c905717
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 0x6c90586f
mov byte [esp + 0x140], al
xor eax, eax
mov byte [esp + 0x36], al
jmp 0x6c9057a4
mov byte [esp + 0x148], al
mov eax, 0xffffffff
mov byte [esp + 0x36], al
jmp 0x6c9057a4
mov eax, ebp
call fcn.6c82c0e0
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 0x6c905901
sar ebp, 0x1f
shr ebp, 0x1d
mov edx, dword [esp + 0xb8]
add ebp, edx
sar ebp, 3
cmp ebp, ecx
jae 0x6c905a01
movzx ebp, byte [ebp + edi]
mov dword [esp + 0x130], eax
xor eax, eax
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x130]
jmp 0x6c905940
mov esi, dword [esp + 0x2bc]
jmp 0x6c90588b
mov ebp, dword [esp + 0x2d4]
mov eax, dword [esp + 0xc8]
jmp 0x6c9038ce
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 0x6c90588b
lea esi, [ebx + edx]
cmp eax, esi
jle 0x6c9058f8
mov edi, dword [esp + 0x2b4]
mov ecx, dword [edi + 0x10]
cmp ecx, esi
jg 0x6c905914
mov eax, dword [edi + 0x18]
cmp eax, esi
jle 0x6c9059ee
mov eax, dword [edi + 0x14]
mov edx, dword [esp + 0xd0]
cmp edx, eax
jl 0x6c9059db
mov ebx, dword [edi + 0x1c]
cmp edx, ebx
jge 0x6c9059c4
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 0x6c9059fa
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 0x6c905914
mov eax, dword [esp + 0xc0]
mov edx, dword [esp + 0xb8]
mov ebx, dword [esp + 0x68]
jmp 0x6c905914
mov eax, dword [esp + 0xc0]
mov edx, dword [esp + 0xb8]
jmp 0x6c905914
mov eax, dword [esp + 0xc0]
jmp 0x6c905914
mov ecx, ebx
call fcn.6c82c0e0
mov eax, ebp
call fcn.6c82c0e0
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 0x6c905a87
sar ebp, 0x1f
shr ebp, 0x1d
mov ebx, dword [esp + 0xbc]
add ebp, ebx
sar ebp, 3
cmp ebp, ecx
jae 0x6c905b77
movzx ebp, byte [ebp + edi]
mov byte [esp + 0x120], al
xor eax, eax
mov dword [esp + 0x6c], eax
movzx eax, byte [esp + 0x120]
jmp 0x6c905b20
mov eax, edx
mov edx, dword [esp + 0x288]
jmp 0x6c905901
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.6c8f2600
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 0x6c905a08
add esi, ebx
cmp edx, esi
jle 0x6c905a08
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 0x6c905b62
mov byte [esp + 0x110], al
xor eax, eax
mov byte [esp + 0x37], al
jmp 0x6c905a95
mov byte [esp + 0x118], al
mov eax, 0xffffffff
mov byte [esp + 0x37], al
jmp 0x6c905a95
mov eax, ebp
call fcn.6c82c0e0
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 0x6c905bc5
cmp ebx, ecx
jae 0x6c905c48
movzx edx, byte [ebx + edi]
jb 0x6c905b7e
jmp 0x6c905c41
mov dword [esp + 0x29c], ebp
mov ebx, eax
jmp 0x6c905bfc
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 0x6c905c24
jae 0x6c905c3c
mov dword [esp + 0xe8], eax
sub eax, ebx
mov esi, dword [esp + 0xe8]
movzx edx, byte [esi + edi]
cmp eax, ecx
jae 0x6c905c37
movzx eax, byte [eax + edi]
cmp esi, ecx
jb 0x6c905bd0
jmp 0x6c905c30
mov ebx, dword [esp + 0x2c8]
jmp 0x6c903a39
mov eax, esi
call fcn.6c82c0e0
call fcn.6c82c0e0
call fcn.6c82c0e0
mov eax, ebx
call fcn.6c82c0e0
mov eax, ebx
call fcn.6c82c0e0
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 0x6c903a39
movzx edx, byte [eax + ebp]
jb 0x6c905c4f
call fcn.6c82c0e0
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 0x6c903a39
jae 0x6c905cbb
mov dword [esp + 0xf0], eax
sub eax, ebp
mov ebx, dword [esp + 0xf0]
movzx edx, byte [ebx + edi]
cmp eax, ecx
jb 0x6c905c7a
call fcn.6c82c0e0
call fcn.6c82c0e0
mov eax, 1
xor ecx, ecx
call fcn.6c82c140
mov eax, 1
xor ecx, ecx
call fcn.6c82c140
call fcn.6c7f8b40
call fcn.6c7f8b40
call fcn.6c82c0e0
nop
call fcn.6c82ac40
jmp fcn.6c902d50