Function at 0x1c9878
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x460
mov dword [esp + 0x4c], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x5c], 0x21aa27a9
mov dword [esp + 0x60], 0x3d81239f
mov dword [esp + 0x64], 0x39c83f8b
mov dword [esp + 0x68], 0x35b23b87
mov dword [esp + 0x6c], 0x3136378b
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x13
ja 0x1c87d9
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x5c]
mov edx, eax
xor edx, 0xc1433bc9
and eax, 0xc1433bc9
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x34]
add al, 0x13
mov ecx, dword [esp]
mov byte [esp + ecx + 0x5c], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x14
jb 0x1c87a0
lea eax, [esp + 0x5c]
lea ecx, [esp + 0x40]
push eax
call fcn.001dea50
shr eax, 0x1f
jmp dword [eax*4 + 0x1ed414]
lea ecx, [esp + 0x40]
push 0x410
call fcn.001decf0
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x1ed42c]
mov dword [esp + 0x5c], 0xfa0df4eb
mov dword [esp + 0x60], 0xecfe1bf4
mov dword [esp + 0x64], 0xf0e7fd1f
mov dword [esp + 0x68], 0x5eaf613
mov dword [esp + 0x6c], 0x14151a0a
mov dword [esp + 0x70], 0xde8e6eb
mov dword [esp + 0x74], 0x203ee06
mov dword [esp + 0x78], 0x6e900f9
mov dword [esp + 0x7c], 0xf6fcf6fe
mov dword [esp + 0x80], 0x1ef5c3e7
mov dword [esp + 0x84], 0xb9c6ffff
mov byte [esp + 0x88], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x2c
ja 0x1c88e1
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x5c]
mov edx, ecx
xor edx, 0x578b1ded
and ecx, 0xd78b1ded
lea ecx, [edx + ecx*2]
lea edx, [ecx + eax]
not eax
or ecx, eax
sub eax, ecx
lea eax, [edx + eax*2]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x34]
mov ecx, eax
not ecx
and ecx, 0xa1
and eax, 0x5e
sub eax, ecx
mov ecx, dword [esp]
mov byte [esp + ecx + 0x5c], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x2d
jb 0x1c8890
lea eax, [esp + 0x34]
lea ecx, [esp + 0x40]
push 0
push 0x2b
lea edx, [esp + 0x64]
push edx
push eax
call fcn.001dfac0
mov edi, dword [esp + 0x34]
mov esi, dword [esp + 0x38]
xor eax, eax
cmp edi, esi
sete al
jmp dword [eax*4 + 0x1ed434]
mov eax, esi
sub eax, edi
sar eax, 3
imul eax, eax, 0x421
push eax
call fcn.001ac630
add esp, 4
mov dword [esp + 0x2c], 0
xor ecx, ecx
cmp edi, esi
setne cl
mov dword [esp + 0x28], eax
mov dword [esp + 0x14], eax
jmp dword [ecx*4 + 0x1ed44c]
mov ebx, dword [esp + 0x2c]
mov eax, ebx
and al, 1
movzx eax, al
jmp dword [eax*4 + 0x1ed454]
mov esi, dword [esp + 0x28]
jmp dword [0x1ed4b4]
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x58]
add edi, 8
xor eax, eax
mov esi, dword [esp + 0x54]
cmp edi, esi
setne al
jmp dword [eax*4 + 0x1ed44c]
mov dword [esp + 0x54], esi
mov esi, dword [edi]
mov dword [esp + 0x58], edi
mov edi, dword [edi + 4]
push 0x400
push 0
lea ebx, [esp + 0x64]
push ebx
call fcn.001ac6c0
add esp, 0xc
mov eax, esp
lea ecx, [esp + 0x40]
push eax
push 0
push 0x400
push ebx
push edi
push esi
call fcn.001df850
cmp eax, 0xc0000000
setae al
mov ecx, dword [esp]
or ecx, dword [esp + 4]
sete cl
or cl, al
movzx eax, cl
jmp dword [eax*4 + 0x1ed45c]
mov eax, 1
mov edi, dword [esp + 0x14]
jmp dword [eax*4 + 0x1ed464]
xor eax, eax
mov edi, dword [esp + 0x14]
jmp dword [eax*4 + 0x1ed464]
mov byte [esp + 0x45b], 0
movzx eax, byte [esp + 0x5c]
xor esi, esi
test al, al
je 0x1c8a31
lea ecx, [esp + 0x5c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp al, 0x2e
je 0x1c8a2f
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x1c8a20
jmp 0x1c8a31
mov esi, ecx
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x1ed46c]
inc esi
movzx eax, byte [esi]
xor ebx, ebx
test al, al
je 0x1c8a61
mov ecx, esi
nop
nop
nop
nop
nop
cmp al, 0x2e
je 0x1c8a5f
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x1c8a50
jmp 0x1c8a61
mov ebx, ecx
xor eax, eax
test ebx, ebx
setne al
jmp dword [eax*4 + 0x1ed474]
mov edx, ebx
sub edx, esi
mov eax, edx
and eax, 3
mov edi, edx
or edi, 3
imul edi, eax
xor eax, 3
mov ecx, edx
and ecx, 0xfffffffc
imul ecx, eax
add edi, ecx
shr edi, 2
movzx eax, byte [ebx - 1]
cmp eax, 0x3d
je 0x1c8a9e
cmp eax, 0x2e
jne 0x1c8a9f
dec edi
movzx eax, byte [esi + edx - 2]
cmp eax, 0x3d
mov dword [esp + 0x1c], edx
je 0x1c8ab2
cmp eax, 0x2e
jne 0x1c8ab3
dec edi
mov dword [esp + 0x50], edi
lea eax, [edi + 1]
push eax
call fcn.001ac630
add esp, 4
mov dword [esp + 0x18], eax
mov dword [esp + 0x20], esi
cmp ebx, esi
je 0x1c8bba
xor edx, edx
mov edi, 2
jmp 0x1c8af0
mov edx, dword [esp + 0x30]
lea eax, [edi + 4]
add edi, 2
cmp edi, ecx
mov edi, eax
jae 0x1c8bba
mov dword [esp + 0x24], edx
mov esi, dword [esp + 0x20]
movzx eax, byte [esi + edi - 2]
push eax
call fcn.001bf370
add esp, 4
mov ebx, eax
movzx eax, byte [esi + edi - 1]
push eax
call fcn.001bf370
add esp, 4
mov bh, al
shl bl, 2
shr al, 4
and al, 3
or al, bl
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x24]
mov byte [ecx + edx], al
inc edx
mov ecx, dword [esp + 0x1c]
cmp edi, ecx
jae 0x1c8ae0
mov eax, dword [esp + 0x20]
movzx eax, byte [eax + edi]
push eax
mov esi, edx
call fcn.001bf370
mov edx, esi
mov ecx, dword [esp + 0x20]
add esp, 4
cmp al, 0x40
je 0x1c8ae0
mov bl, al
shl bh, 4
shr al, 2
and al, 0xf
or al, bh
mov esi, dword [esp + 0x24]
lea edx, [esi + 2]
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x18]
mov byte [edx + esi + 1], al
lea eax, [edi + 1]
cmp eax, ecx
jae 0x1c8adc
mov eax, dword [esp + 0x20]
movzx eax, byte [eax + edi + 1]
push eax
call fcn.001bf370
mov ecx, dword [esp + 0x20]
add esp, 4
cmp al, 0x40
mov edx, dword [esp + 0x30]
je 0x1c8ae0
shl bl, 6
add al, bl
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0x24]
mov byte [edx + esi + 2], al
add esi, 3
mov edx, esi
jmp 0x1c8ae0
mov eax, dword [esp + 0x50]
mov esi, dword [esp + 0x18]
mov byte [esi + eax], 0
push esi
call fcn.001a3ab0
add esp, 4
mov ebx, eax
jmp dword [0x1ed47c]
push esi
call fcn.001ac640
add esp, 4
push ebx
call fcn.001a4400
add esp, 4
xor ecx, ecx
test eax, eax
setne cl
mov edi, dword [esp + 0x14]
jmp dword [ecx*4 + 0x1ed484]
jmp dword [0x1ed4a4]
mov dword [esp], 0x913c0809
mov byte [esp + 4], 0
mov dword [esp + 0x10], 0
mov ecx, dword [esp + 0x10]
cmp ecx, 4
ja 0x1c8c65
nop
nop
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x10]
movzx edx, byte [esp + edx]
mov esi, ecx
xor esi, 0x79f14765
and ecx, 0xf9f14765
lea ecx, [esi + ecx*2]
lea esi, [ecx + edx]
and ecx, edx
add ecx, ecx
sub esi, ecx
mov dword [esp + 0xc], esi
mov ecx, dword [esp + 0xc]
add cl, 7
mov edx, dword [esp + 0x10]
mov byte [esp + edx], cl
inc dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
cmp ecx, 5
jb 0x1c8c20
mov ecx, esp
push ecx
push eax
call fcn.001a4350
add esp, 8
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x1ed48c]
jmp dword [0x1ed494]
movzx ecx, byte [eax]
test cl, cl
je 0x1c8c9b
inc eax
nop
nop
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x1c8c90
mov word [edi], 0x203a
add edi, 2
jmp dword [0x1ed494]
movzx eax, byte [esp + 0x5c]
mov ecx, edi
test al, al
je 0x1c8ccb
lea edx, [esp + 0x5d]
mov ecx, edi
nop
nop
nop
nop
nop
nop
mov byte [ecx], al
inc ecx
movzx eax, byte [edx]
inc edx
test al, al
jne 0x1c8cc0
mov byte [ecx], 0xa
jmp case.0x1c8c78.2
mov byte [eax], 0xa
jmp dword [0x1ed4a0]
movzx ecx, byte [esp + 0x5c]
mov eax, edi
test cl, cl
je 0x1c8cd0
lea edx, [esp + 0x5d]
mov eax, edi
nop
nop
nop
nop
nop
nop
mov byte [eax], cl
inc eax
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x1c8cf0
jmp 0x1c8cd0
inc eax
mov cl, 1
mov dword [esp + 0x2c], ecx
mov edi, eax
jmp dword [0x1ed4a4]
push ebx
call fcn.001a4670
add esp, 4
push ebx
call fcn.001a4670
add esp, 4
jmp dword [0x1ed4b0]
mov eax, dword [case.0x1c87ea.5]
xor ebx, ebx
nop
nop
nop
nop
nop
jmp eax
lea ecx, [esp + 0x40]
call fcn.001deeb0
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [case.0x1c8907.4]
nop
nop
nop
nop
nop
nop
jmp eax
xor ebx, ebx
test edi, edi
jne 0x1c8e31
jmp case.0x1c87ea.5
mov ecx, dword [ebp + 8]
mov edi, dword [esp + 0x14]
mov byte [edi], 0
mov dword [esp + 0x5c], 0x93aea9f9
mov dword [esp + 0x60], 0xb7839a95
mov dword [esp + 0x64], 0xb0b4b289
mov dword [esp + 0x68], 0x8ebe92f7
mov dword [esp + 0x6c], 0x9bfd8489
mov dword [esp + 0x70], 0x81b782bf
mov dword [esp + 0x74], 0x8f82c387
mov word [esp + 0x78], 0x1580
mov dword [esp + 0x7a], 0
mov word [esp + 0x7e], 0
mov esi, dword [esp + 0x28]
sub edi, esi
mov dword [esp + 0xc], 0
mov eax, dword [esp + 0xc]
cmp eax, 0x23
ja 0x1c8e01
nop
nop
nop
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0xc]
movzx edx, byte [esp + edx + 0x5c]
add eax, 0xc27c4eca
xor eax, edx
mov dword [esp], eax
mov eax, dword [esp]
add al, 0xe
mov edx, dword [esp + 0xc]
mov byte [esp + edx + 0x5c], al
inc dword [esp + 0xc]
mov eax, dword [esp + 0xc]
cmp eax, 0x24
jb 0x1c8dd0
lea eax, [esp + 0x5c]
push edi
push esi
push eax
call fcn.001ad1b0
mov ebx, eax
jmp dword [0x1ed4b4]
push esi
call fcn.001ac640
add esp, 4
and bl, 1
mov edi, dword [esp + 0x34]
mov esi, dword [esp + 0x38]
test edi, edi
je case.0x1c87ea.5
cmp edi, esi
je case.0x1c87ea.5
push edi
call fcn.001ac640
add esp, 4
jmp case.0x1c87ea.5
push eax
sub esp, 0x20
mov edi, esp
jmp dword [0x1ed4d8]
push eax
mov esi, esp
push eax
mov eax, esp
sub esp, 0x40
mov edx, esp
sub esp, 0x40
mov ecx, esp
jmp dword [0x1ed4e4]
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x48], eax
push eax
mov dword [ebp - 0x4c], esp
push eax
mov dword [ebp - 0xc8], esp
sub esp, 0x28
mov dword [ebp - 0x38], esp
sub esp, 8
mov dword [ebp - 0xb4], esp
sub esp, 8
mov dword [ebp - 0xc4], esp
sub esp, 8
mov dword [ebp - 0x50], esp
sub esp, 0x24
mov dword [ebp - 0x3c], esp
xor esi, esi
mov eax, 0x20219
mov ecx, 1
jmp dword [ecx*4 + 0x1ed4ec]
mov eax, dword [case.0x1c9313.10]
nop
nop
nop
nop
jmp eax
xor eax, eax
test esi, esi
sete al
jmp dword [eax*4 + 0x1ed574]
mov ecx, esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, ecx
add ecx, 2
cmp word [eax], 0
jne 0x1c8f20
sub eax, esi
cmp eax, 0xffffffd9
mov edi, dword [ebp - 0x1c]
jge 0x1c9342
mov eax, 0xffffffff
jmp 0x1c9345
xor ebx, ebx
test ecx, ecx
sete bl
xor edx, edx
jmp dword [ebx*4 + 0x1ed55c]
jmp dword [edx*4 + 0x1ed4ec]
mov dword [ebp - 0xa4], 0x570849ec
mov dword [ebp - 0xa0], 0x53195519
mov dword [ebp - 0x9c], 0x5f015119
mov dword [ebp - 0x98], 0x5b045d00
mov dword [ebp - 0x94], 0xa7025901
mov dword [ebp - 0x90], 0xa3e3a5f1
mov dword [ebp - 0x8c], 0xafe6a1ef
mov dword [ebp - 0x88], 0xabf8ade5
mov dword [ebp - 0x84], 0xb712a9e5
mov dword [ebp - 0x80], 0xb3e1b5eb
mov dword [ebp - 0x7c], 0xbfe2b1fa
mov dword [ebp - 0x78], 0xbbfbbde7
mov dword [ebp - 0x74], 0x87cbb9e6
mov dword [ebp - 0x70], 0x83d88520
mov dword [ebp - 0x6c], 0x8f3a8121
mov dword [ebp - 0x68], 0x8b278d36
mov dword [ebp - 0x64], 0x97c9892c
mov dword [ebp - 0x60], 0x933f9528
mov dword [ebp - 0x5c], 0x9f2b9131
mov dword [ebp - 0x58], 0x9d9c
mov dword [ebp - 0x14], 0
mov ecx, dword [ebp - 0x14]
cmp ecx, 0x4f
ja 0x1c905f
nop
nop
nop
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x14]
movzx edx, byte [ebp + edx - 0xa4]
mov edi, ecx
xor edi, 0x62d757ee
and ecx, 0xe2d757ee
lea ecx, [edi + ecx*2]
xor ecx, edx
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebp - 0x10]
add cl, 0x5a
mov edx, dword [ebp - 0x14]
mov byte [ebp + edx - 0xa4], cl
inc dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
cmp ecx, 0x50
jb 0x1c9020
lea ecx, [ebp - 0xac]
lea ebx, [ebp - 0xa4]
push 0
push 0
push eax
push ecx
push ebx
call fcn.001e5b90
add esp, 0x14
shr eax, 0x1f
jmp dword [eax*4 + 0x1ed504]
lea edi, [ebp - 0xcc]
lea eax, [ebp - 0xd0]
push edi
push eax
push 0
push 0
push 0
push 0
push 0
push 0
push dword [ebp - 0xac]
call fcn.001e6010
add esp, 0x24
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x1ed50c]
mov ecx, dword [ebp - 0xcc]
lea eax, [ecx*2 + 2]
inc ecx
jns 0x1c90cd
mov eax, 0xffffffff
push eax
call fcn.001ac630
add esp, 4
mov esi, eax
mov dword [ebp - 0xa4], 0x63fc61d9
mov dword [ebp - 0xa0], 0x67f265f7
mov dword [ebp - 0x9c], 0x5bc659f9
mov dword [ebp - 0x98], 0x5fee5dc0
mov dword [ebp - 0x94], 0x53c651f1
mov dword [ebp - 0x90], 0x575655cc
mov word [ebp - 0x8c], 0
mov dword [ebp - 0x14], 0
mov eax, dword [ebp - 0x14]
cmp eax, 0x19
ja 0x1c916d
nop
nop
nop
nop
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
movzx ecx, byte [ebp + ecx - 0xa4]
mov edx, eax
xor edx, 0x92bb8018
and eax, 0x12bb8018
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
add al, 0x88
mov ecx, dword [ebp - 0x14]
mov byte [ebp + ecx - 0xa4], al
inc dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
cmp eax, 0x1a
jb 0x1c9130
push edi
push esi
push 0
push ebx
push dword [ebp - 0xac]
call fcn.001e6690
add esp, 0x14
shr eax, 0x1f
jmp dword [eax*4 + 0x1ed514]
jmp dword [0x1ed51c]
push esi
call fcn.001ac640
add esp, 4
mov eax, dword [case.0x1c907d.2]
nop
nop
xor esi, esi
jmp eax
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0xa4], 0x989b9a9d
lea eax, [ebp - 0xa0]
mov byte [eax + 2], 0
mov word [eax], 0
mov dword [ebp - 0x14], 0
mov eax, dword [ebp - 0x14]
cmp eax, 6
ja 0x1c921d
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
movzx ecx, byte [ebp + ecx - 0xa4]
mov edx, eax
xor edx, 0x7bcdfc9b
and eax, 0xfbcdfc9b
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
add al, 0xf9
mov ecx, dword [ebp - 0x14]
mov byte [ebp + ecx - 0xa4], al
inc dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
cmp eax, 7
jb 0x1c91e0
mov ecx, dword [0x1f1ba0]
test ecx, ecx
je 0x1c9280
mov edx, dword [ebp - 0xa4]
xor edi, edi
mov eax, dword [0x1f1ba4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [eax + edi*8], 0x625b6034
je 0x1c926b
inc edi
cmp ecx, edi
jne 0x1c9240
jmp 0x1c9280
mov ecx, 4
xor ebx, ebx
cmp ecx, 4
setb bl
mov eax, 0x20119
xor edx, edx
jmp dword [ebx*4 + 0x1ed554]
mov eax, dword [eax + edi*8 + 4]
cmp eax, edx
jne case.default.0x1c9287
nop
nop
nop
nop
nop
nop
nop
nop
nop
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x1ed534]
jmp dword [0x1ed53c]
push ebx
call fcn.001e50f0
add esp, 4
nop
nop
nop
push ebx
call fcn.001e50f0
add esp, 4
jmp dword [0x1ed548]
cmp dword [ebp - 0xa4], 1
sete cl
and al, cl
movzx eax, al
jmp dword [eax*4 + 0x1ed54c]
xor ecx, ecx
xor ebx, ebx
cmp ecx, 4
setb bl
mov eax, 0x20119
xor edx, edx
jmp dword [ebx*4 + 0x1ed554]
mov ecx, 2
xor ebx, ebx
cmp ecx, 4
setb bl
mov eax, 0x20119
xor edx, edx
jmp dword [ebx*4 + 0x1ed554]
push dword [ebp - 0x18]
push 1
push dword [0x1f1ba8]
push eax
call fcn.001e1c60
add esp, 0x10
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x1ed534]
mov ecx, 2
xor ebx, ebx
cmp ecx, 4
setb bl
mov eax, 0x20119
xor edx, edx
jmp dword [ebx*4 + 0x1ed554]
xor eax, eax
jmp 0x1ca2ba
add eax, 0x26
mov ebx, dword [ebp - 0x3c]
push eax
call fcn.001ac630
add esp, 4
mov dword [ebp - 0x18], eax
mov dword [ebp - 0xa4], 0x9f70be8
mov dword [ebp - 0xa0], 0x5f407f9
mov dword [ebp - 0x9c], 0x1f503fe
mov dword [ebp - 0x98], 0x1dfa1ff9
mov dword [ebp - 0x94], 0x19eb1be1
mov dword [ebp - 0x90], 0x15ec17ea
mov dword [ebp - 0x8c], 0x11eb13e3
mov dword [ebp - 0x88], 0x2da42f22
mov dword [ebp - 0x84], 0x29d02bd0
mov dword [ebp - 0x80], 0x2728
mov byte [ebp - 0x7c], 0
mov dword [ebp - 0x14], 0
mov eax, dword [ebp - 0x14]
cmp eax, 0x28
ja 0x1c940d
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
movzx ecx, byte [ebp + ecx - 0xa4]
mov edx, eax
xor edx, 0xe10e47c3
and eax, 0xe10e47c3
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
add al, 0x31
mov ecx, dword [ebp - 0x14]
mov byte [ebp + ecx - 0xa4], al
inc dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
cmp eax, 0x29
jb 0x1c93d0
movzx ecx, word [esi]
mov eax, dword [ebp - 0x18]
test cx, cx
je 0x1c9431
lea edx, [esi + 2]
mov eax, dword [ebp - 0x18]
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x1c9420
mov word [eax], 0
movzx ecx, word [ebp - 0xa4]
test cx, cx
je 0x1c9461
lea edx, [ebp - 0xa2]
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x1c9450
mov word [eax], 0
jmp dword [0x1ed57c]
push esi
call fcn.001ac640
add esp, 4
xor eax, eax
mov ecx, dword [ebp - 0x18]
cmp word [ecx], 0x5b
sete al
mov esi, dword [ebp - 0x20]
jmp dword [eax*4 + 0x1ed594]
xor eax, eax
mov ecx, dword [ebp - 0x18]
cmp word [ecx], 0x5b
sete al
mov esi, dword [ebp - 0x20]
jmp dword [eax*4 + 0x1ed594]
mov dword [ebp - 0xa4], 0x31f43ff9
mov dword [ebp - 0xa0], 0x35d733dc
mov dword [ebp - 0x9c], 0xc9c837c5
mov dword [ebp - 0x98], 0xcd31cb2e
mov dword [ebp - 0x94], 0xc122cf35
mov dword [ebp - 0x90], 0xc533c325
mov dword [ebp - 0x8c], 0xd920c73a
mov dword [ebp - 0x88], 0xdd23db23
mov dword [ebp - 0x84], 0xd128dfe2
mov dword [ebp - 0x80], 0xd534d334
mov word [ebp - 0x7c], 0xd7d4
mov dword [ebp - 0x7a], 0
mov dword [ebp - 0x14], 0
mov eax, dword [ebp - 0x14]
cmp eax, 0x2d
ja 0x1c955d
nop
nop
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
movzx ecx, byte [ebp + ecx - 0xa4]
mov edx, eax
xor edx, 0xe5f78975
and eax, 0xe5f78975
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
add al, 0xb7
mov ecx, dword [ebp - 0x14]
mov byte [ebp + ecx - 0xa4], al
inc dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
cmp eax, 0x2e
jb 0x1c9520
lea eax, [ebp - 0xa4]
push 0
push eax
mov edi, dword [ebp - 0x18]
push edi
call dword [sym.imp.KERNEL32.dll_CopyFileW]
mov ecx, edi
mov edi, dword [ebp - 0x1c]
push 0x60
push 3
push 0x120089
push esi
push ecx
call fcn.001e5330
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x1ed59c]
xor esi, esi
xor edi, edi
jmp dword [0x1ed60c]
push dword [ebp - 0x18]
call fcn.001ac640
add esp, 4
xor eax, eax
cmp edi, esi
sete al
jmp dword [eax*4 + 0x1ed614]
xor eax, eax
mov ebx, esi
test edi, edi
jne 0x1ca490
jmp 0x1ca2ba
push 0
push edi
push dword [esi]
call fcn.001e56e0
add esp, 0xc
not eax
shr eax, 0x1f
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0
jmp dword [eax*4 + 0x1ed5c4]
jmp dword [0x1ed5d0]
mov eax, dword [ebp - 0x1c]
mov esi, dword [eax]
lea eax, [esi + 1]
push eax
call fcn.001ac630
add esp, 4
push 0
push esi
push eax
mov eax, dword [ebp - 0x20]
push dword [eax]
call fcn.001e57e0
add esp, 0x10
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x1c]
mov esi, dword [eax]
lea eax, [esi + 1]
push eax
call fcn.001ac630
add esp, 4
mov edi, eax
push 0
push esi
mov esi, dword [ebp - 0x20]
push eax
push dword [esi]
call fcn.001e57e0
add esp, 0x10
jmp dword [0x1ed5d8]
mov ecx, dword [ebp - 0x1c]
not eax
shr eax, 0x1f
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0
jmp dword [eax*4 + 0x1ed5dc]
mov esi, dword [ecx]
mov byte [edi + esi], 0
push 0x20
call fcn.001ac630
add esp, 4
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax + 0x18], 0xffffffff
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0
mov dword [eax], 0
mov dword [ebp - 0xa8], eax
mov ecx, eax
push esi
mov dword [ebp - 0xb8], edi
push edi
call fcn.001cc740
movzx eax, al
xor edx, edx
xor edi, edi
jmp dword [eax*4 + 0x1ed5e4]
mov esi, dword [ebp - 0x30]
mov dword [esi], 0x2b5c1a77
mov dword [esi + 4], 0x5e2c542f
mov dword [esi + 8], 0x2b5f4b63
mov dword [esi + 0xc], 0x44695026
mov dword [esi + 0x10], 0x32475424
mov dword [esi + 0x14], 0x4c4d6477
mov dword [esi + 0x18], 0x333c3c33
mov word [esi + 0x1c], 0xad33
mov dword [esi + 0x1e], 0
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 0x21
ja 0x1c975b
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
movzx ecx, byte [esi + ecx]
mov edx, eax
xor edx, 0x18a0c4de
and eax, 0x18a0c4de
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [ebp - 0xa4], eax
mov eax, dword [ebp - 0xa4]
add al, 0xaa
mov ecx, dword [ebp - 0x10]
mov byte [esi + ecx], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0x22
jb 0x1c9720
mov ecx, dword [ebp - 0xa8]
push esi
call fcn.001cc930
xor ecx, ecx
test eax, eax
setne cl
xor edi, edi
xor edx, edx
jmp dword [ecx*4 + 0x1ed5ec]
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x2c], edx
mov esi, dword [ebp - 0x20]
mov edi, dword [ebp - 0xb8]
jmp dword [0x1ed5fc]
mov ecx, dword [ebp - 0xa8]
call fcn.001ccaa0
push dword [ebp - 0xa8]
call fcn.001ac640
add esp, 4
jmp dword [0x1ed604]
jmp dword [0x1ed604]
push edi
call fcn.001ac640
add esp, 4
mov eax, dword [esi]
mov dword [ebp - 0xa4], 0x989b9a9d
mov word [ebp - 0xa0], 0
mov byte [ebp - 0x9e], 0
mov dword [ebp - 0x14], 0
mov ecx, dword [ebp - 0x14]
cmp ecx, 6
ja 0x1c982f
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x14]
movzx edx, byte [ebp + edx - 0xa4]
mov esi, ecx
xor esi, 0x7bcdfc9b
and ecx, 0xfbcdfc9b
lea ecx, [esi + ecx*2]
xor ecx, edx
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebp - 0x10]
add cl, 0xf9
mov edx, dword [ebp - 0x14]
mov byte [ebp + edx - 0xa4], cl
inc dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
cmp ecx, 7
jb 0x1c97f0
mov ecx, dword [0x1f1ba0]
test ecx, ecx
je 0x1c986c
mov edx, dword [ebp - 0xa4]
xor esi, esi
mov edi, dword [0x1f1ba4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x625b6034
je 0x1c9860
inc esi
cmp ecx, esi
jne 0x1c9850
jmp 0x1c986c
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x1c9cec
mov edi, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x28]
jmp dword [0x1ed60c]
xor eax, eax
cmp edi, esi
sete al
jmp dword [eax*4 + 0x1ed614]
mov dword [ebp - 0x28], esi
mov eax, esi
mov dword [ebp - 0x2c], edi
sub eax, edi
sar eax, 3
imul eax, eax, 0x421
push eax
call fcn.001ac630
add esp, 4
mov dword [ebp - 0x1c], eax
mov eax, dword [0x1f1b9c]
mov esi, dword [ebp - 0x40]
mov dword [esi], 0xb1c28fab
mov dword [esi + 4], 0xb5d7b321
mov dword [esi + 8], 0xb9dab7d7
mov dword [esi + 0xc], 0xbd2abbfb
mov dword [esi + 0x10], 0xa1fabf2c
mov dword [esi + 0x14], 0xa536a3c3
mov dword [esi + 0x18], 0xa981a7c7
mov dword [esi + 0x1c], 0xaddfabd4
mov dword [esi + 0x20], 0xd1c9af38
mov dword [esi + 0x24], 0xd5bdd3b3
mov dword [esi + 0x28], 0xd9bad7a8
mov dword [esi + 0x2c], 0xddbfdb49
mov dword [esi + 0x30], 0xc1b2dfbf
mov dword [esi + 0x34], 0xc554c3ee
mov dword [esi + 0x38], 0xc9a0c7a0
mov dword [esi + 0x3c], 0xcbc8
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x3f
ja 0x1c9982
nop
nop
nop
nop
nop
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
movzx ecx, byte [esi + ecx]
mov esi, edx
xor esi, 0x5756261d
add edx, edx
and edx, 0xaeac4c3a
mov edi, edx
and edi, esi
xor edx, esi
lea edx, [edx + edi*2]
lea esi, [edx + ecx]
not ecx
or edx, ecx
sub ecx, edx
lea ecx, [esi + ecx*2]
mov esi, dword [ebp - 0x40]
mov dword [ebp - 0xa4], ecx
mov ecx, dword [ebp - 0xa4]
add cl, 0x6f
mov edx, dword [ebp - 0x10]
mov byte [esi + edx], cl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x40
jb 0x1c9930
mov ecx, esi
mov esi, dword [ebp - 0x48]
push esi
push 0
push 0
push 0x1e
push ecx
push 0
call eax
mov esi, dword [esi]
test esi, esi
jns 0x1c99a0
mov eax, 0xffffffff
jmp 0x1c99a3
lea eax, [esi + esi]
push eax
call fcn.001ac630
add esp, 4
mov dword [ebp - 0x30], eax
mov eax, dword [0x1f1b9c]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x54]
mov dword [eax], 0xd986dbff
mov dword [eax + 4], 0xddbbdfa9
mov dword [eax + 8], 0xd1aed3bb
mov dword [eax + 0xc], 0xd5a6d797
mov dword [eax + 0x10], 0xe9aeeba4
mov dword [eax + 0x14], 0xed9aef8f
mov dword [eax + 0x18], 0xe1d9e38b
mov dword [eax + 0x1c], 0xe5b3e78c
mov dword [eax + 0x20], 0xf981fb90
mov dword [eax + 0x24], 0xfd8dff9f
mov dword [eax + 0x28], 0xf18ef390
mov dword [eax + 0x2c], 0xf593f781
mov dword [eax + 0x30], 0x9760b93
mov dword [eax + 0x34], 0xd840f3a
mov dword [eax + 0x38], 0x1780368
mov dword [eax + 0x3c], 0x700
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x3f
ja 0x1c9a7d
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
movzx edx, byte [eax + edx]
mov edi, ecx
xor edi, 0x2a9014cf
and ecx, 0x2a9014cf
lea ecx, [edi + ecx*2]
xor ecx, edx
mov dword [ebp - 0xa4], ecx
mov ecx, dword [ebp - 0xa4]
add cl, 0xf5
mov edx, dword [ebp - 0x10]
mov byte [eax + edx], cl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x40
jb 0x1c9a40
push dword [ebp - 0x48]
push esi
mov esi, dword [ebp - 0x30]
push esi
push 0x1e
push eax
push 0
call dword [ebp - 0x18]
push 0x60
push 3
push 0x120089
push dword [ebp - 0x4c]
push esi
call fcn.001e5330
add esp, 0x14
not eax
shr eax, 0x1f
mov dword [ebp - 0x24], 0
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x20], ecx
jmp dword [eax*4 + 0x1ed61c]
push 0
mov edi, dword [ebp - 0xc8]
push edi
mov eax, dword [ebp - 0x4c]
push dword [eax]
call fcn.001e56e0
add esp, 0xc
not eax
shr eax, 0x1f
mov dword [ebp - 0x24], 0
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x20], ecx
jmp dword [eax*4 + 0x1ed624]
mov esi, dword [edi]
lea eax, [esi + 1]
push eax
call fcn.001ac630
add esp, 4
push 0
push esi
mov dword [ebp - 0x54], eax
push eax
mov eax, dword [ebp - 0x4c]
push dword [eax]
call fcn.001e57e0
add esp, 0x10
not eax
shr eax, 0x1f
mov dword [ebp - 0x24], 0
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x20], ecx
jmp dword [eax*4 + 0x1ed62c]
mov esi, dword [edi]
mov edi, dword [ebp - 0x54]
mov byte [edi + esi], 0
push 0x20
call fcn.001ac630
add esp, 4
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax + 0x18], 0xffffffff
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0
mov dword [eax], 0
mov dword [ebp - 0x34], eax
mov ecx, eax
push esi
push edi
call fcn.001cc740
movzx eax, al
mov dword [ebp - 0x24], 0
mov ecx, dword [ebp - 0x1c]
jmp dword [eax*4 + 0x1ed634]
mov edx, dword [ebp - 0x38]
mov dword [edx], 0xe510ea01
mov dword [edx + 4], 0xef808e1
mov dword [edx + 8], 0xf50d1935
mov dword [edx + 0xc], 0x103f04fa
mov dword [edx + 0x10], 0xfa0500f0
mov dword [edx + 0x14], 0x707da39
mov dword [edx + 0x18], 0xdfff806
mov dword [edx + 0x1c], 0xf5f3f0dd
mov word [edx + 0x20], 0x9bf7
mov dword [edx + 0x22], 0
mov byte [edx + 0x26], 0
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 0x26
mov ecx, dword [ebp - 0x34]
ja 0x1c9c3a
nop
nop
mov eax, dword [ebp - 0x10]
mov esi, dword [ebp - 0x10]
mov edx, dword [ebp - 0x38]
movzx edx, byte [edx + esi]
mov esi, eax
xor esi, 0x8b75e4eb
and eax, 0xb75e4eb
lea edi, [esi + eax*2]
lea eax, [edi + edx]
and edi, edx
mov edx, eax
not edx
and edx, edi
mov esi, edi
not esi
and eax, esi
sub eax, edx
mov edx, dword [ebp - 0x38]
xor edi, eax
and eax, esi
add eax, eax
sub eax, edi
mov dword [ebp - 0xa4], eax
mov eax, dword [ebp - 0xa4]
add al, 0x69
mov esi, dword [ebp - 0x10]
mov byte [edx + esi], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0x27
jb 0x1c9be0
push edx
call fcn.001cc930
xor ecx, ecx
test eax, eax
setne cl
mov dword [ebp - 0x24], 0
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x20], edx
jmp dword [ecx*4 + 0x1ed63c]
mov eax, dword [case.0x1c9ab4.6]
mov ecx, dword [ebp - 0x20]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov dword [ebp - 0x20], ecx
mov esi, dword [ebp - 0x34]
jmp dword [0x1ed6c4]
jmp dword [0x1ed6cc]
mov ecx, esi
call fcn.001ccaa0
push esi
call fcn.001ac640
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, esi
call fcn.001ccaa0
push esi
call fcn.001ac640
add esp, 4
jmp dword [0x1ed6d4]
jmp dword [0x1ed6e8]
jmp dword [0x1ed6ec]
push dword [ebp - 0x54]
call fcn.001ac640
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp dword [0x1ed700]
jmp dword [0x1ed704]
push eax
push 1
push dword [0x1f1ba8]
push ecx
call fcn.001e1c60
add esp, 0x10
mov edi, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x28]
jmp dword [0x1ed60c]
add eax, 8
mov dword [ebp - 0xb0], 0
mov ecx, dword [eax]
xor eax, eax
test ecx, ecx
setne al
xor edi, edi
xor esi, esi
xor edx, edx
jmp dword [eax*4 + 0x1ed5f4]
not eax
mov ebx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x30]
mov dword [edx + esi + 4], eax
mov edi, dword [ebp - 0x28]
add edi, 8
add ecx, 4
mov ecx, dword [ecx]
xor eax, eax
test ecx, ecx
setne al
mov esi, edx
jmp dword [eax*4 + 0x1ed5f4]
mov dword [ebp - 0x34], ecx
mov eax, dword [ecx]
mov ecx, dword [ebp - 0x24]
mov dword [ecx], eax
mov ecx, edi
sub ecx, esi
cmp edi, dword [ebp - 0xb0]
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x28], edi
je 0x1c9d7d
mov ebx, esi
jmp 0x1c9e0e
sar ecx, 3
lea eax, [ecx + 1]
mov edi, ecx
shr edi, 1
add edi, ecx
cmp edi, eax
ja 0x1c9d8f
mov edi, eax
mov eax, edi
or eax, 8
mov ecx, edi
and ecx, 8
imul eax, ecx
mov edx, edi
and edx, 0xfffffff7
xor ecx, 8
imul ecx, edx
add ecx, eax
push ecx
call fcn.001ac630
add esp, 4
mov ebx, eax
test esi, esi
je 0x1c9dfb
mov edx, dword [ebp - 0x28]
cmp esi, edx
je 0x1c9df2
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + eax]
mov dword [ebx + eax], ecx
mov ecx, dword [esi + eax + 4]
mov dword [ebx + eax + 4], ecx
mov dword [esi + eax], 0
lea ecx, [esi + eax]
add ecx, 8
add eax, 8
cmp ecx, edx
jne 0x1c9dd0
push esi
call fcn.001ac640
add esp, 4
lea eax, [ebx + edi*8]
mov dword [ebp - 0xb0], eax
mov eax, ebx
mov ecx, dword [ebp - 0x30]
add eax, ecx
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x24]
mov edi, dword [eax]
mov dword [ebx + ecx], 0
mov dword [ebp - 0x2c], ebx
mov dword [ebx + ecx + 4], 0
mov ebx, 0xffffffff
xor eax, eax
nop
nop
nop
nop
mov esi, eax
cmp byte [edi + ebx + 1], 0
lea ebx, [ebx + 1]
lea eax, [eax + 1]
jne 0x1c9e30
lea eax, [ebx + 1]
mov dword [ebp - 0x1c], eax
push eax
call fcn.001ac630
add esp, 4
mov edx, eax
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x30]
mov dword [eax + ecx], edx
mov eax, edx
mov ecx, dword [ebp - 0x1c]
shr ecx, 2
mov edx, edi
mov dword [ebp - 0x44], edi
mov edi, eax
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov ecx, dword [ebp - 0x1c]
mov edx, ecx
and edx, 0xfffffffc
add eax, edx
add edx, dword [ebp - 0x44]
shr ecx, 1
and ecx, 1
mov dword [ebp - 0xc0], edx
mov dword [ebp - 0xbc], eax
mov edi, eax
mov eax, dword [ebp - 0xc0]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
test bl, 1
jne 0x1c9eb5
mov ecx, dword [ebp - 0x1c]
and ecx, 2
movzx eax, byte [edx + ecx]
mov edx, dword [ebp - 0xbc]
mov byte [edx + ecx], al
test ebx, ebx
je 0x1c9f32
cmp ebx, 1
jne 0x1c9ed0
mov eax, 0xffffffff
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x44]
test bl, 1
je 0x1c9d30
jmp 0x1c9f17
and esi, 0xfffffffe
mov eax, 0xffffffff
mov edx, dword [ebp - 0x44]
nop
nop
nop
nop
nop
mov ecx, eax
shr ecx, 8
xor al, byte [edx]
movzx eax, al
xor ecx, dword [eax*4 + 0x1e8c28]
mov eax, ecx
shr eax, 8
xor cl, byte [edx + 1]
add edx, 2
movzx ecx, cl
xor eax, dword [ecx*4 + 0x1e8c28]
add esi, 0xfffffffe
jne 0x1c9ee0
mov ecx, dword [ebp - 0x34]
test bl, 1
je 0x1c9d30
mov ecx, eax
shr ecx, 8
xor al, byte [edx]
movzx eax, al
xor ecx, dword [eax*4 + 0x1e8c28]
mov eax, ecx
mov ecx, dword [ebp - 0x34]
jmp 0x1c9d30
xor eax, eax
mov ebx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x34]
jmp 0x1c9d35
add eax, 8
mov dword [ebp - 0x24], 0
mov esi, dword [eax]
xor eax, eax
test esi, esi
setne al
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x20], ecx
jmp dword [eax*4 + 0x1ed644]
add esi, 4
mov esi, dword [esi]
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x1ed644]
mov edx, dword [esi]
cmp dword [esi + 0x18], 3
mov edi, 0
jne case.default.0x1c9f91
mov edi, dword [esi + 0x10]
test edx, edx
setne al
test edi, edi
setne cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x1ed64c]
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x18], edi
mov eax, edi
mov ecx, eax
inc eax
cmp byte [ecx], 0
jne case.default.0x1c9fd9
mov dword [ebp - 0x38], esi
mov esi, dword [ebp - 0x18]
sub ecx, esi
inc ecx
shr ecx, 1
mov dword [ebp - 0x44], ecx
lea eax, [ecx + 1]
push eax
call fcn.001ac630
add esp, 4
mov ecx, eax
mov eax, dword [case.0x1ca026.101]
movsx edx, byte [esi]
xor ebx, ebx
test edx, edx
setne bl
mov dword [ebp - 0x48], ecx
mov edi, dword [ebp - 0x20]
jmp dword [ebx*4 + 0x1ed654]
mov edx, dword [ebp - 0x18]
inc edx
mov byte [ecx], bl
inc ecx
mov dword [ebp - 0x18], edx
movsx edx, byte [edx]
xor ebx, ebx
test edx, edx
setne bl
jmp dword [ebx*4 + 0x1ed654]
lea ebx, [edx - 0x30]
cmp ebx, 0xa
jb 0x1ca008
mov ebx, 0xffffffff
or edx, 0x20
lea esi, [edx - 0x61]
cmp esi, 6
jae case.default.0x1ca026
add edx, 0xffffffa9
mov ebx, edx
mov edx, dword [ebp - 0x18]
movsx esi, byte [edx + 1]
xor edx, edx
test esi, esi
setne dl
jmp dword [edx*4 + 0x1ed65c]
jmp eax
mov dword [ebp - 0x20], edi
lea edx, [esi - 0x30]
cmp edx, 0xa
jb 0x1ca042
mov edx, 0xffffffff
or esi, 0x20
lea edi, [esi - 0x61]
cmp edi, 6
jae case.default.0x1ca07a
add esi, 0xffffffa9
mov edx, esi
shl ebx, 4
mov edi, dword [ebp - 0x18]
add edi, 2
mov esi, edx
not esi
and esi, ebx
xor edx, ebx
add edx, ebx
sub edx, esi
mov byte [ecx], dl
inc ecx
mov dword [ebp - 0x18], edi
movsx edx, byte [edi]
xor ebx, ebx
test edx, edx
setne bl
mov edi, dword [ebp - 0x20]
jmp dword [ebx*4 + 0x1ed654]
mov dword [ebp - 0x20], edi
mov byte [ecx], 0
push 0
push 0x10
push 0
push dword [ebp - 0x40]
call fcn.001ccb40
add esp, 0x10
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x40], edx
xor edx, edx
mov ecx, dword [case.0x1c9c54.19]
xor eax, eax
mov edi, dword [ebp - 0x2c]
cmp edi, dword [ebp - 0x28]
setne al
jmp dword [eax*4 + 0x1ed674]
mov edx, dword [edi]
xor eax, eax
jmp dword [eax*4 + 0x1ed694]
add edi, 8
xor ebx, ebx
cmp edi, dword [ebp - 0x28]
setne bl
jmp dword [ebx*4 + 0x1ed674]
jmp ecx
mov esi, dword [edi + 4]
mov ebx, esi
shr ebx, 0x1c
shl esi, 4
or esi, 1
xor ebx, dword [ebp - 0x40]
xor esi, dword [ebp - 0x18]
xor eax, eax
or esi, ebx
sete al
jmp dword [eax*4 + 0x1ed68c]
mov esi, 1
jmp dword [esi*4 + 0x1ed694]
xor eax, eax
test edx, edx
setne al
jmp dword [eax*4 + 0x1ed69c]
mov ebx, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x38]
jmp dword [0x1ed6ac]
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0x44]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x48]
mov dword [eax + 4], ecx
mov eax, 0xffffffff
mov ebx, dword [ebp - 0x3c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [edx + eax + 1], 0
lea eax, [eax + 1]
jne case.default.0x1ca1a4
mov esi, dword [ebp - 0xc4]
mov dword [esi], eax
mov dword [esi + 4], edx
mov dword [ebp - 0x18], edx
mov edi, dword [ebp - 0x50]
mov dword [edi], 0
mov dword [edi + 4], 0
push 0x6c625980
push dword [0x1f1bac]
call fcn.001e47c0
add esp, 8
push edi
push 1
push 0
push 0
push esi
push 0
push dword [ebp - 0xb4]
call eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x1ed6a4]
mov esi, dword [ebp - 0x38]
jmp dword [0x1ed6ac]
mov esi, dword [ebp - 0x18]
movzx eax, byte [esi]
test al, al
mov edx, dword [ebp - 0x20]
je 0x1ca1dd
inc esi
mov ecx, dword [ebp - 0x50]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [esi]
inc esi
test al, al
jne 0x1ca1d0
jmp 0x1ca1e0
mov ecx, dword [ebp - 0x50]
mov word [edx], 0x203a
mov eax, edx
add eax, 2
mov esi, dword [ecx]
test esi, esi
je 0x1ca21b
mov ecx, dword [ecx + 4]
mov edx, esi
and edx, 3
je 0x1ca21f
xor edi, edi
nop
nop
nop
nop
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax + edi], bl
inc edi
cmp edx, edi
jne 0x1ca200
add eax, edi
mov edx, esi
sub edx, edi
mov edi, eax
jmp 0x1ca221
mov edi, eax
jmp 0x1ca269
mov edx, esi
cmp esi, 4
jb 0x1ca269
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax], bl
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax + 1], bl
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax + 2], bl
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
lea edi, [eax + 4]
mov byte [eax + 3], bl
mov eax, edi
add edx, 0xfffffffc
jne 0x1ca230
mov byte [edi], 0xa
inc edi
mov dword [ebp - 0x20], edi
push 0xe050b307
push dword [0x1f1b94]
call fcn.001e47c0
add esp, 8
mov ecx, dword [ebp - 0x50]
push dword [ecx + 4]
call eax
mov al, 1
mov dword [ebp - 0x24], eax
mov ebx, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x38]
jmp dword [0x1ed6ac]
push dword [ebp - 0x48]
call fcn.001ac640
add esp, 4
add esi, 4
mov esi, dword [esi]
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x1ed644]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
jmp dword [0x1ed714]
push dword [ebp - 0x30]
call fcn.001ac640
add esp, 4
mov eax, dword [ebp - 0x24]
mov ecx, eax
and cl, 1
movzx ecx, cl
mov esi, dword [ebp + 8]
jmp dword [ecx*4 + 0x1ed71c]
mov edi, dword [ebp - 0x20]
jmp dword [0x1ed724]
mov byte [edi], 0
mov dword [ebx], 0x859a9b63
mov dword [ebx + 4], 0x99898a87
mov dword [ebx + 8], 0x84808283
mov dword [ebx + 0xc], 0x9e826241
mov dword [ebx + 0x10], 0x6d4b8893
mov dword [ebx + 0x14], 0x8f959289
mov dword [ebx + 0x18], 0xb9b67189
mov word [ebx + 0x1c], 0x7b4
mov dword [ebx + 0x1e], 0
mov eax, edi
sub eax, dword [ebp - 0x1c]
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x21
ja 0x1ca38d
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
movzx edx, byte [ebx + edx]
mov esi, ecx
xor esi, 0x6fae3b87
and ecx, 0xefae3b87
lea ecx, [esi + ecx*2]
xor ecx, edx
mov dword [ebp - 0xa4], ecx
mov ecx, dword [ebp - 0xa4]
add cl, 0x5d
mov edx, dword [ebp - 0x10]
mov byte [ebx + edx], cl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x22
jb 0x1ca350
mov esi, dword [ebp + 8]
mov ecx, esi
push eax
push dword [ebp - 0x1c]
push ebx
call fcn.001ad1b0
jmp case.0x1c9313.124
mov eax, edi
mov edx, dword [ebp - 0x1c]
sub eax, edx
mov ecx, esi
push eax
push edx
push ebx
call fcn.001ad1b0
jmp dword [0x1ed730]
mov byte [edi], 0
mov dword [ebx], 0x859a9b63
mov dword [ebx + 4], 0x99898a87
mov dword [ebx + 8], 0x84808283
mov dword [ebx + 0xc], 0x9e826241
mov dword [ebx + 0x10], 0x6d4b8893
mov dword [ebx + 0x14], 0x8f959289
mov dword [ebx + 0x18], 0xb9b67189
mov word [ebx + 0x1c], 0x7b4
mov dword [ebx + 0x1e], 0
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 0x21
ja 0x1ca3a0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
movzx ecx, byte [ebx + ecx]
mov edx, eax
xor edx, 0x6fae3b87
and eax, 0xefae3b87
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [ebp - 0xa4], eax
mov eax, dword [ebp - 0xa4]
add al, 0x5d
mov ecx, dword [ebp - 0x10]
mov byte [ebx + ecx], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0x22
jb 0x1ca410
jmp 0x1ca3a0
mov eax, dword [ebp - 0x24]
mov ecx, eax
and cl, 1
movzx ecx, cl
mov esi, dword [ebp + 8]
jmp dword [ecx*4 + 0x1ed71c]
jmp dword [0x1ed734]
jmp dword [0x1ed734]
push dword [ebp - 0x1c]
mov esi, eax
call fcn.001ac640
mov eax, esi
add esp, 4
and al, 1
mov edi, dword [ebp - 0x2c]
mov ebx, dword [ebp - 0x28]
test edi, edi
je 0x1ca2ba
cmp edi, ebx
je 0x1ca2ba
mov dword [ebp - 0x24], eax
mov esi, edi
jmp 0x1ca4a7
add esi, 8
cmp esi, ebx
je 0x1ca4b8
mov eax, dword [esi]
test eax, eax
je 0x1ca4a0
push eax
call fcn.001ac640
add esp, 4
jmp 0x1ca4a0
push edi
call fcn.001ac640
add esp, 4
mov eax, dword [ebp - 0x24]
jmp 0x1ca2ba
cmp dword [edi + esi*8], 0x625b6034
je 0x1ca4e0
inc esi
cmp ecx, esi
jne 0x1ca4d0
jmp case.0x1c9ab4.58
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je case.0x1c9ab4.58
push eax
push 1
push dword [0x1f1ba8]
push ecx
call fcn.001e1c60
add esp, 0x10
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax]
mov dword [ebp - 0xa4], 0x989b9a9d
mov word [ebp - 0xa0], 0
mov byte [ebp - 0x9e], 0
mov dword [ebp - 0x14], 0
mov ecx, dword [ebp - 0x14]
cmp ecx, 6
ja 0x1ca56f
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x14]
movzx edx, byte [ebp + edx - 0xa4]
mov esi, ecx
xor esi, 0x7bcdfc9b
and ecx, 0xfbcdfc9b
lea ecx, [esi + ecx*2]
xor ecx, edx
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebp - 0x10]
add cl, 0xf9
mov edx, dword [ebp - 0x14]
mov byte [ebp + edx - 0xa4], cl
inc dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
cmp ecx, 7
jb 0x1ca530
mov ecx, dword [0x1f1ba0]
test ecx, ecx
je 0x1ca5ac
mov edx, dword [ebp - 0xa4]
xor esi, esi
mov edi, dword [0x1f1ba4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x625b6034
je 0x1ca5a0
inc esi
cmp ecx, esi
jne 0x1ca590
jmp 0x1ca5ac
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x1ca640
jmp dword [0x1ed70c]
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax]
mov dword [ebp - 0xa4], 0x989b9a9d
mov word [ebp - 0xa0], 0
mov byte [ebp - 0x9e], 0
mov dword [ebp - 0x14], 0
mov ecx, dword [ebp - 0x14]
cmp ecx, 6
ja 0x1ca61f
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x14]
movzx edx, byte [ebp + edx - 0xa4]
mov esi, ecx
xor esi, 0x7bcdfc9b
and ecx, 0xfbcdfc9b
lea ecx, [esi + ecx*2]
xor ecx, edx
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebp - 0x10]
add cl, 0xf9
mov edx, dword [ebp - 0x14]
mov byte [ebp + edx - 0xa4], cl
inc dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
cmp ecx, 7
jb 0x1ca5e0
mov ecx, dword [0x1f1ba0]
test ecx, ecx
je case.0x1c9ab4.58
mov edx, dword [ebp - 0xa4]
xor esi, esi
mov edi, dword [0x1f1ba4]
jmp 0x1ca4d0
push eax
push 1
push dword [0x1f1ba8]
push ecx
call fcn.001e1c60
add esp, 0x10
jmp dword [0x1ed70c]
mov edx, dword [ebp - 0x54]
add edx, 4
mov eax, dword [ebp - 0x20]
lea esi, [eax + 2]
xor eax, eax
cmp edx, 0xc
setne al
mov dword [ebp - 0x44], esi
mov ecx, dword [ebp - 0x48]
jmp dword [eax*4 + 0x1ed75c]
mov dword [ebp - 0x54], edx
mov eax, dword [ecx + edx]
mov edi, 0xfffffffe
nop
nop
nop
nop
cmp word [eax + edi + 2], 0
lea edi, [edi + 2]
jne 0x1ca6b0
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x50], edi
sar edi, 1
mov eax, dword [ebp - 0x34]
mov eax, dword [eax]
lea ecx, [edi + eax]
mov dword [ebp - 0x30], edi
lea edx, [edi + eax]
add edx, 0xd
lea eax, [ecx*2 + 0x1a]
test edx, edx
jns 0x1ca6e4
mov eax, 0xffffffff
push eax
call fcn.001ac630
add esp, 4
mov ebx, eax
mov eax, dword [ebp - 0x20]
movzx ecx, word [eax]
mov eax, ebx
test cx, cx
mov edi, dword [ebp - 0x58]
je 0x1ca721
mov eax, ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [esi]
add esi, 2
test cx, cx
jne 0x1ca710
mov word [eax], 0x5c
mov dword [edi], 0x1d207e0
mov dword [edi + 4], 0xdef03f1
mov dword [edi + 8], 0x9fa0fef
mov dword [edi + 0xc], 0x15d70b28
mov dword [edi + 0x10], 0x11f517e8
mov dword [edi + 0x14], 0x1dfd13ec
mov word [edi + 0x18], 0x1f1c
mov ecx, dword [ebp - 0x94]
mov byte [ecx + 2], 0
mov word [ecx], 0
add eax, 2
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x1c
ja 0x1ca7c8
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
movzx edx, byte [edi + edx]
mov esi, ecx
xor esi, 0x9340c641
and ecx, 0x1340c641
lea ecx, [esi + ecx*2]
lea esi, [ecx + edx]
and ecx, edx
mov edx, esi
not edx
and edx, ecx
add edx, ecx
not ecx
and ecx, esi
sub ecx, edx
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x18]
add cl, 0xbb
mov edx, dword [ebp - 0x10]
mov byte [edi + edx], cl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x1d
jb 0x1ca780
mov edx, dword [ebp - 0x28]
movzx ecx, word [edx]
test cx, cx
je 0x1ca7f1
add edx, 2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x1ca7e0
mov word [eax], 0
movzx ecx, word [edi]
test cx, cx
je 0x1ca830
mov edx, dword [ebp - 0x90]
mov esi, dword [ebp - 0x38]
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x1ca810
jmp 0x1ca833
mov esi, dword [ebp - 0x38]
mov word [eax], 0
push 0x60
push 3
push 0x120089
push esi
mov dword [ebp - 0xa4], ebx
push ebx
call fcn.001e5330
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x1ed76c]
xor ebx, ebx
jmp dword [0x1ed7ec]
push dword [ebp - 0xa4]
call fcn.001ac640
add esp, 4
movzx eax, bl
mov esi, dword [ebp - 0x6c]
mov edi, dword [ebp - 0x70]
jmp dword [eax*4 + 0x1ed7f4]
push 0
push dword [ebp - 0x64]
push dword [esi]
call fcn.001e56e0
add esp, 0xc
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x1ed774]
mov eax, dword [ebp - 0x64]
mov esi, dword [eax]
lea eax, [esi + 1]
push eax
call fcn.001ac630
add esp, 4
push 0
push esi
mov esi, eax
push eax
mov eax, dword [ebp - 0x38]
push dword [eax]
call fcn.001e57e0
add esp, 0x10
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x1ed77c]
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov byte [esi + eax], 0
push esi
call fcn.001a3ab0
add esp, 4
xor ecx, ecx
test eax, eax
setne cl
xor ebx, ebx
jmp dword [ecx*4 + 0x1ed784]
jmp dword [0x1ed7b4]
mov dword [ebp - 0x68], esi
mov dword [ebp - 0x84], eax
push eax
call fcn.001a4400
add esp, 4
mov ebx, dword [ebp - 0x9c]
mov dword [ebx], 0x949ba6ad
mov dword [ebx + 4], 0xb9b6a0a6
mov dword [ebx + 8], 0x8cb08876
mov dword [ebx + 0xc], 0xb1bea8be
mov dword [ebx + 0x10], 0xbc8b8787
mov word [ebx + 0x14], 0x9083
mov byte [ebx + 0x16], 0x16
mov dword [ebx + 0x17], 0
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x1a
ja 0x1ca9a7
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
movzx edx, byte [ebx + edx]
mov esi, ecx
xor esi, 0xfefba08b
and ecx, 0xfefba08b
lea ecx, [esi + ecx*2]
xor ecx, edx
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x18]
add cl, 0x49
mov edx, dword [ebp - 0x10]
mov byte [ebx + edx], cl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x1b
jb 0x1ca970
push ebx
push eax
call fcn.001a4540
add esp, 8
mov edx, eax
mov edi, 0xffffffff
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, edi
cmp byte [edx + edi + 1], 0
lea edi, [edi + 1]
jne 0x1ca9c0
mov eax, edi
and eax, 3
mov esi, edi
or esi, 3
imul esi, eax
xor eax, 3
mov ecx, edi
and ecx, 0xfffffffc
imul ecx, eax
add esi, ecx
shr esi, 2
movzx eax, byte [edx + edi - 1]
cmp eax, 0x3d
je 0x1ca9f8
cmp eax, 0x2e
jne 0x1ca9f9
dec esi
movzx eax, byte [edx + edi - 2]
cmp eax, 0x3d
mov dword [ebp - 0x74], edx
je 0x1caa0b
cmp eax, 0x2e
jne 0x1caa0c
dec esi
mov dword [ebp - 0x80], esi
lea eax, [esi + 1]
push eax
call fcn.001ac630
add esp, 4
mov dword [ebp - 0x2c], eax
test edi, edi
je 0x1cab19
xor ecx, ecx
mov esi, 2
mov dword [ebp - 0xa0], edi
jmp 0x1caa52
mov edi, ebx
lea eax, [esi + 4]
add esi, 2
cmp esi, edi
mov esi, eax
jae 0x1cab19
mov dword [ebp - 0x24], ecx
mov edi, dword [ebp - 0x74]
movzx eax, byte [edi + esi - 2]
push eax
call fcn.001bf370
add esp, 4
mov ebx, eax
movzx eax, byte [edi + esi - 1]
push eax
call fcn.001bf370
mov edx, dword [ebp - 0x24]
add esp, 4
shl bl, 2
mov ah, al
shr ah, 4
and ah, 3
or ah, bl
mov ecx, dword [ebp - 0x2c]
mov byte [ecx + edx], ah
lea ecx, [edx + 1]
mov edx, dword [ebp - 0xa0]
mov ebx, edx
cmp esi, edx
jae 0x1caa40
mov byte [ebp - 0x19], al
movzx eax, byte [edi + esi]
push eax
mov edi, ecx
call fcn.001bf370
mov ecx, edi
add esp, 4
cmp al, 0x40
mov edi, ebx
je 0x1caa42
movzx ecx, byte [ebp - 0x19]
shl cl, 4
mov byte [ebp - 0x19], al
shr al, 2
and al, 0xf
or al, cl
mov edx, dword [ebp - 0x24]
lea ebx, [edx + 2]
mov ecx, dword [ebp - 0x2c]
mov byte [ecx + edx + 1], al
lea eax, [esi + 1]
cmp eax, edi
jae 0x1cab12
mov eax, dword [ebp - 0x74]
movzx eax, byte [eax + esi + 1]
push eax
call fcn.001bf370
add esp, 4
cmp al, 0x40
mov ecx, ebx
movzx edx, byte [ebp - 0x19]
je 0x1caa42
shl dl, 6
add al, dl
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x24]
mov byte [ecx + edx + 2], al
add edx, 3
mov ecx, edx
jmp 0x1caa42
mov ecx, ebx
jmp 0x1caa42
mov eax, dword [ebp - 0x80]
add eax, 0xfffffffb
mov esi, dword [ebp - 0x98]
mov dword [esi], eax
mov eax, dword [ebp - 0x2c]
add eax, 5
mov dword [esi + 4], eax
mov ebx, dword [ebp - 0x60]
mov dword [ebx], 0
mov dword [ebx + 4], 0
push 0x6c625980
push dword [0x1f1bac]
call fcn.001e47c0
add esp, 8
push ebx
push 0
push 0
push 0
push 0
push 0
push esi
call eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x1ed78c]
xor ebx, ebx
mov esi, dword [ebp - 0x68]
jmp dword [0x1ed7ac]
mov eax, dword [ebp - 0x50]
add eax, 0x10
cmp dword [ebp - 0x30], 0xfffffff8
mov esi, dword [ebp - 0x68]
jge 0x1cab8e
mov eax, 0xffffffff
push eax
call fcn.001ac630
add esp, 4
mov edi, eax
mov edx, dword [ebp - 0x4c]
mov dword [edx], 0x59be5b75
mov dword [edx + 4], 0x5d6c5fa8
mov dword [edx + 8], 0x51da53a8
mov dword [edx + 0xc], 0x555657a4
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 0xf
ja 0x1cac0f
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
movzx ecx, byte [edx + ecx]
mov edx, eax
xor edx, 0x55252a8f
and eax, 0xd5252a8f
lea eax, [edx + eax*2]
lea edx, [eax + ecx]
and eax, ecx
add eax, eax
sub edx, eax
mov dword [ebp - 0x18], edx
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x18]
add al, 0x35
mov ecx, dword [ebp - 0x10]
mov byte [edx + ecx], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0x10
jb 0x1cabd0
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax]
mov eax, edi
test cx, cx
je 0x1cac41
mov eax, dword [ebp - 0x28]
lea edx, [eax + 2]
mov eax, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x1cac30
mov word [eax], 0
mov ecx, dword [ebp - 0x4c]
movzx ecx, word [ecx]
test cx, cx
je 0x1cac71
mov edx, dword [ebp - 0x7c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x1cac60
mov word [eax], 0
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x60]
push dword [eax]
push dword [eax + 4]
push edi
call fcn.001ad000
mov ebx, eax
jmp dword [0x1ed794]
jmp dword [0x1ed79c]
push esi
call fcn.001ac640
add esp, 4
nop
nop
push esi
call fcn.001ac640
add esp, 4
jmp dword [0x1ed7c8]
jmp dword [0x1ed7d4]
mov eax, dword [ebp - 0x38]
mov edi, dword [eax]
mov dword [ebp - 0x18], 0x989b9a9d
mov eax, dword [ebp - 0x88]
mov byte [eax + 2], 0
mov word [eax], 0
mov dword [ebp - 0x40], 0
mov eax, dword [ebp - 0x40]
cmp eax, 6
ja 0x1cad17
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x40]
movzx ecx, byte [ebp + ecx - 0x18]
mov edx, eax
xor edx, 0x7bcdfc9b
and eax, 0xfbcdfc9b
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
add al, 0xf9
mov ecx, dword [ebp - 0x40]
mov byte [ebp + ecx - 0x18], al
inc dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
cmp eax, 7
jb 0x1cace0
mov ecx, dword [0x1f1ba0]
test ecx, ecx
je 0x1cad50
mov edx, dword [ebp - 0x18]
xor esi, esi
mov eax, dword [0x1f1ba4]
nop
nop
nop
nop
nop
cmp dword [eax + esi*8], 0x625b6034
je 0x1cad40
inc esi
cmp ecx, esi
jne 0x1cad30
jmp 0x1cad50
mov eax, dword [eax + esi*8 + 4]
cmp eax, edx
jne 0x1cb0b1
nop
nop
nop
nop
jmp dword [0x1ed7ec]
movzx eax, bl
mov esi, dword [ebp - 0x6c]
mov edi, dword [ebp - 0x70]
jmp dword [eax*4 + 0x1ed7f4]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax]
mov edx, dword [ebp - 0x30]
lea ecx, [edx + eax]
add edx, eax
add edx, 0x17
lea eax, [ecx*2 + 0x2e]
test edx, edx
mov ebx, dword [ebp - 0x3c]
jns 0x1cad89
mov eax, 0xffffffff
push eax
call fcn.001ac630
add esp, 4
mov edx, eax
mov eax, dword [ebp - 0x20]
movzx ecx, word [eax]
mov dword [ebp - 0x24], edx
mov eax, edx
test cx, cx
mov edx, dword [ebp - 0x44]
je 0x1cadc1
mov eax, dword [ebp - 0x24]
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x1cadb0
mov word [eax], 0x5c
mov dword [ebx], 0x1fd219c4
mov dword [ebx + 4], 0xe3451daf
mov dword [ebx + 8], 0xe74ae141
mov dword [ebx + 0xc], 0xeb3de504
mov dword [ebx + 0x10], 0xef5de95c
mov dword [ebx + 0x14], 0xf353ed5a
mov dword [ebx + 0x18], 0xf753f15b
mov dword [ebx + 0x1c], 0xfb56f528
mov dword [ebx + 0x20], 0xff44f95d
mov dword [ebx + 0x24], 0xc36efd59
mov dword [ebx + 0x28], 0xc760c164
mov word [ebx + 0x2c], 0xc5c4
mov ecx, dword [ebp - 0x8c]
mov word [ecx + 4], 0
mov dword [ecx], 0
add eax, 2
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x33
ja 0x1cae7a
nop
nop
nop
nop
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
movzx edx, byte [ebx + edx]
mov ebx, ecx
xor ebx, 0x36bc4ffa
and ecx, 0x36bc4ffa
lea ecx, [ebx + ecx*2]
mov ebx, dword [ebp - 0x3c]
xor ecx, edx
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x18]
add cl, 0x1e
mov edx, dword [ebp - 0x10]
mov byte [ebx + edx], cl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x34
jb 0x1cae40
mov edx, dword [ebp - 0x28]
movzx ecx, word [edx]
test cx, cx
je 0x1caea1
add edx, 2
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x1cae90
mov word [eax], 0
movzx ecx, word [ebx]
test cx, cx
je 0x1caec1
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [esi]
add esi, 2
test cx, cx
jne 0x1caeb0
mov word [eax], 0
mov eax, dword [ebp - 0x50]
add eax, 0x12
cmp dword [ebp - 0x30], 0xfffffff7
jge 0x1caed7
mov eax, 0xffffffff
push eax
call fcn.001ac630
add esp, 4
mov ebx, eax
mov esi, dword [ebp - 0x78]
mov dword [esi], 0x11821f4d
mov dword [esi + 4], 0x15841377
mov dword [esi + 8], 0x98a1773
mov dword [esi + 0xc], 0xd680b6c
mov dword [esi + 0x10], 0xf0c
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 0x13
ja 0x1caf68
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
movzx ecx, byte [esi + ecx]
mov edx, eax
xor edx, 0xb5c20605
and eax, 0x35c20605
lea eax, [edx + eax*2]
lea edx, [eax + ecx]
and eax, ecx
add eax, eax
sub edx, eax
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x18]
mov ecx, eax
not ecx
and ecx, 0x19
and eax, 0xe6
sub eax, ecx
mov ecx, dword [ebp - 0x10]
mov byte [esi + ecx], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0x14
jb 0x1caf20
mov edx, dword [ebp - 0x28]
movzx ecx, word [edx]
mov eax, ebx
test cx, cx
je 0x1caf91
add edx, 2
mov eax, ebx
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x1caf80
mov word [eax], 0
movzx ecx, word [esi]
test cx, cx
je 0x1cafb1
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edi]
add edi, 2
test cx, cx
jne 0x1cafa0
mov word [eax], 0
mov edi, dword [ebp - 0xa8]
mov dword [edi], 0x6166675e
mov dword [edi + 4], 0
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 7
ja 0x1cb02b
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
movzx eax, byte [edi + eax]
mov edx, ecx
or edx, 0xc7671c96
mov esi, ecx
not esi
or esi, 0x3898e369
and esi, edx
not esi
and ecx, 0x3898e369
lea ecx, [esi + ecx*2]
lea edx, [ecx + eax]
and ecx, eax
add ecx, ecx
sub edx, ecx
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x18]
add al, 0xf3
mov ecx, dword [ebp - 0x10]
mov byte [edi + ecx], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 8
jb 0x1cafe0
push 0
push 0
push 0
push 0xc00000
push edi
push dword [ebp - 0x24]
push ebx
push dword [ebp + 8]
call fcn.001c1c60
add esp, 0x20
mov ecx, dword [ebp - 0x5c]
and cl, 1
or cl, al
mov dword [ebp - 0x5c], ecx
jmp dword [0x1ed7fc]
jmp dword [0x1ed804]
push ebx
call fcn.001ac640
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push ebx
call fcn.001ac640
add esp, 4
jmp dword [0x1ed810]
jmp dword [0x1ed814]
push dword [ebp - 0x24]
call fcn.001ac640
add esp, 4
mov edx, dword [ebp - 0x54]
add edx, 4
mov eax, dword [ebp - 0x20]
lea esi, [eax + 2]
xor eax, eax
cmp edx, 0xc
setne al
mov dword [ebp - 0x44], esi
mov ecx, dword [ebp - 0x48]
jmp dword [eax*4 + 0x1ed75c]
push edi
push 1
push dword [0x1f1ba8]
push eax
call fcn.001e1c60
add esp, 0x10
jmp dword [0x1ed7ec]
push edi
call fcn.001ac640
add esp, 4
push edi
call fcn.001ac640
add esp, 4
jmp dword [0x1ed7a8]
push 0xe050b307
push dword [0x1f1b94]
call fcn.001e47c0
add esp, 8
mov ecx, dword [ebp - 0x60]
push dword [ecx + 4]
call eax
jmp dword [0x1ed7ac]
push dword [ebp - 0x2c]
call fcn.001ac640
add esp, 4
push dword [ebp - 0x84]
call fcn.001a4670
add esp, 4
jmp dword [0x1ed7b4]
jmp dword [0x1ed7c0]
xor esi, esi
mov eax, dword [ebp - 0x78]
add eax, 2
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x4c]
add eax, 2
mov dword [ebp - 0x7c], eax
mov eax, ebx
add eax, 0x2e
mov dword [ebp - 0x8c], eax
mov edx, dword [ebp - 0x58]
mov eax, edx
add eax, 0x1a
mov dword [ebp - 0x94], eax
xor eax, eax
mov dword [ebp - 0x5c], 0
cmp esi, 0xc
setne al
lea esi, [ebx + 2]
mov dword [ebp - 0x6c], esi
mov esi, dword [ebp - 0x20]
add esi, 2
add edx, 2
mov dword [ebp - 0x90], edx
lea edx, [ebp - 0x14]
mov dword [ebp - 0x88], edx
xor edx, edx
mov dword [ebp - 0x44], esi
jmp dword [eax*4 + 0x1ed75c]
jmp dword [0x1ed764]
push dword [ebp - 0x20]
call fcn.001ac640
add esp, 4
jmp dword [0x1ed820]
jmp dword [0x1ed820]
jmp dword [0x1ed828]
jmp dword [0x1ed828]
mov eax, dword [ebp - 0x5c]
and al, 1
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
push eax
mov dword [ebp - 0x34], esp
sub esp, 0x18
mov eax, esp
sub esp, 0x18
mov edi, esp
sub esp, 0x10
mov dword [ebp - 0x58], esp
sub esp, 0x14
mov dword [ebp - 0x30], esp
sub esp, 0x1c
mov dword [ebp - 0x38], esp
sub esp, 0x20
mov dword [ebp - 0x3c], esp
sub esp, 0x18
mov dword [ebp - 0x24], esp
sub esp, 0x1c
mov ebx, esp
mov ecx, dword [0x1f1b9c]
mov dword [ebp - 0x20], ecx
mov dword [eax], 0x296d2b4f
mov dword [eax + 4], 0x2d9e2f98
mov dword [eax + 8], 0x31953368
mov dword [eax + 0xc], 0x35913784
mov dword [eax + 0x10], 0x393a3b5f
mov word [eax + 0x14], 0
mov dword [ebp - 0x10], 0
mov edx, dword [ebp - 0x10]
cmp edx, 0x15
mov dword [ebp - 0x48], ebx
ja 0x1cb294
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
movzx ecx, byte [eax + ecx]
mov esi, edx
xor esi, 0xf3ff5e87
and edx, 0xf3ff5e87
lea edx, [esi + edx*2]
lea esi, [edx + ecx]
and edx, ecx
mov ecx, esi
not ecx
and ecx, edx
add ecx, edx
not edx
and edx, esi
sub edx, ecx
mov dword [ebp - 0x18], edx
mov edx, dword [ebp - 0x18]
mov ecx, edx
not ecx
and ecx, 0xa3
and edx, 0x5c
sub edx, ecx
mov ecx, dword [ebp - 0x10]
mov byte [eax + ecx], dl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x16
jb 0x1cb240
mov esi, dword [ebp - 0x34]
push esi
push 0
push 0
push 9
push eax
push 0
call dword [ebp - 0x20]
mov ecx, dword [esi]
lea eax, [ecx + ecx]
mov dword [ebp - 0x20], ecx
test ecx, ecx
jns 0x1cb2b5
mov eax, 0xffffffff
push eax
call fcn.001ac630
add esp, 4
mov ecx, dword [0x1f1b9c]
mov dword [ebp - 0x28], ecx
mov dword [edi], 0x61a567bb
mov dword [edi + 4], 0x5df263f0
mov dword [edi + 8], 0x59fd5fe0
mov dword [edi + 0xc], 0x55f95bd4
mov dword [edi + 0x10], 0x5156578b
mov dword [edi + 0x14], 0
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x17
ja 0x1cb355
nop
mov ebx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
movzx edx, byte [edi + edx]
lea esi, [ebx + ebx]
and esi, 0x6a33d732
mov ecx, ebx
not ecx
or ecx, 0x3519eb99
add ecx, ebx
sub ebx, esi
lea esi, [ebx + ecx*2]
lea ecx, [ebx + ecx*2]
add ecx, 0xb519eb9b
add esi, edx
add esi, 0xb519eb9b
and ecx, edx
add ecx, ecx
sub esi, ecx
mov dword [ebp - 0x18], esi
mov ecx, dword [ebp - 0x18]
add cl, 3
mov edx, dword [ebp - 0x10]
mov byte [edi + edx], cl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x18
jb 0x1cb300
push dword [ebp - 0x34]
push dword [ebp - 0x20]
push eax
push 9
push edi
push 0
call dword [ebp - 0x28]
mov ebx, dword [ebp - 0x30]
mov dword [ebx], 0xe945eba0
mov dword [ebx + 4], 0xed4bef7d
mov dword [ebx + 8], 0xd144d37d
mov dword [ebx + 0xc], 0xd5d6d774
mov eax, ebx
add eax, 0x10
mov word [ebx + 0x10], 0
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x11
ja 0x1cb3ed
nop
nop
nop
nop
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
movzx edx, byte [ebx + edx]
mov esi, ecx
xor esi, 0x55adcbd7
mov edi, ecx
xor edi, 0x2a523428
or ecx, 0x55adcbd7
and ecx, edi
lea ecx, [esi + ecx*2]
xor ecx, edx
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x18]
mov edx, ecx
not edx
and edx, 0x33
and ecx, 0xcc
sub ecx, edx
mov edx, dword [ebp - 0x10]
mov byte [ebx + edx], cl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x12
jb 0x1cb3a0
mov edx, dword [ebp - 0x58]
mov edi, edx
mov ecx, 4
xchg esi, ebx
rep movsd dword es:[edi], dword [esi]
xchg esi, ebx
add edx, 0x10
mov edi, edx
xor ecx, ecx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov esi, dword [ebp - 0x3c]
mov dword [esi], 0x812d8748
mov dword [esi + 4], 0x8d2f833d
mov dword [esi + 8], 0x893c8f3d
mov dword [esi + 0xc], 0x95478b24
mov dword [esi + 0x10], 0x91209737
mov dword [esi + 0x14], 0x9d209333
mov dword [esi + 0x18], 0x999e9f27
mov eax, esi
add eax, 0x1c
mov word [esi + 0x1c], 0
mov byte [esi + 0x1e], 0
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x1e
mov ebx, dword [ebp - 0x48]
ja 0x1cb4a4
nop
nop
nop
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
movzx edx, byte [esi + edx]
mov esi, ecx
xor esi, 0xa12fe0e1
mov edi, ecx
xor edi, 0x5ed01f1e
or ecx, 0x212fe0e1
and ecx, edi
lea ecx, [esi + ecx*2]
mov esi, dword [ebp - 0x3c]
xor ecx, edx
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x18]
add cl, 0x9b
mov edx, dword [ebp - 0x10]
mov byte [esi + edx], cl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x1f
jb 0x1cb460
mov edx, dword [ebp - 0x38]
mov edi, edx
mov ecx, 7
xchg esi, esi
rep movsd dword es:[edi], dword [esi]
xchg esi, esi
add edx, 0x1c
xor ecx, ecx
mov edi, edx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [ebx], 0x4fd7498c
mov dword [ebx + 4], 0x43a54ddb
mov dword [ebx + 8], 0x47d041d3
mov dword [ebx + 0xc], 0x7b8a45a0
mov dword [ebx + 0x10], 0x7fb8798c
mov eax, ebx
add eax, 0x14
mov dword [ebx + 0x14], 0x7d7c
mov byte [ebx + 0x18], 0
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x18
ja 0x1cb547
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
movzx edx, byte [ebx + edx]
mov esi, ecx
xor esi, 0x610ccb12
and ecx, 0xe10ccb12
lea ecx, [esi + ecx*2]
xor ecx, edx
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x18]
add cl, 0xa6
mov edx, dword [ebp - 0x10]
mov byte [ebx + edx], cl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x19
jb 0x1cb510
mov edx, dword [ebp - 0x24]
mov edi, edx
mov ecx, 5
xchg esi, ebx
rep movsd dword es:[edi], dword [esi]
xchg esi, ebx
add edx, 0x14
mov ecx, 1
mov edi, edx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
push eax
mov dword [ebp - 0x34], esp
sub esp, 0x18
mov eax, esp
sub esp, 0x18
mov edi, esp
sub esp, 0x10
mov dword [ebp - 0x28], esp
sub esp, 0x14
mov esi, esp
sub esp, 0x1c
mov dword [ebp - 0x24], esp
sub esp, 0x20
mov dword [ebp - 0x2c], esp
sub esp, 0x18
mov dword [ebp - 0x30], esp
sub esp, 0x1c
mov dword [ebp - 0x54], esp
sub esp, 0xc
mov dword [ebp - 0x48], esp
sub esp, 0x20
mov dword [ebp - 0x58], esp
push eax
mov dword [ebp - 0x38], esp
push eax
mov dword [ebp - 0x64], esp
sub esp, 0x1c
mov dword [ebp - 0x9c], esp
sub esp, 8
mov dword [ebp - 0x98], esp
sub esp, 8
mov dword [ebp - 0x60], esp
sub esp, 0x10
mov dword [ebp - 0x4c], esp
sub esp, 0x34
mov dword [ebp - 0x3c], esp
sub esp, 0x14
mov dword [ebp - 0x78], esp
sub esp, 8
mov dword [ebp - 0xa8], esp
mov ecx, dword [0x1f1b9c]
mov dword [ebp - 0x20], ecx
mov dword [eax], 0x296d2b4f
mov dword [eax + 4], 0x2d9e2f98
mov dword [eax + 8], 0x31953368
mov dword [eax + 0xc], 0x35913784
mov dword [eax + 0x10], 0x393a3b5f
mov word [eax + 0x14], 0
mov dword [ebp - 0x10], 0
mov edx, dword [ebp - 0x10]
cmp edx, 0x15
ja 0x1cb674
nop
nop
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
movzx ecx, byte [eax + ecx]
mov ebx, edx
xor ebx, 0xf3ff5e87
and edx, 0xf3ff5e87
lea edx, [ebx + edx*2]
lea ebx, [edx + ecx]
and edx, ecx
mov ecx, ebx
not ecx
and ecx, edx
add ecx, edx
not edx
and edx, ebx
sub edx, ecx
mov dword [ebp - 0x18], edx
mov edx, dword [ebp - 0x18]
mov ecx, edx
not ecx
and ecx, 0xa3
and edx, 0x5c
sub edx, ecx
mov ecx, dword [ebp - 0x10]
mov byte [eax + ecx], dl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x16
jb 0x1cb620
mov ebx, dword [ebp - 0x34]
push ebx
push 0
push 0
push 9
push eax
push 0
call dword [ebp - 0x20]
mov ecx, dword [ebx]
lea eax, [ecx + ecx]
mov dword [ebp - 0x44], ecx
test ecx, ecx
jns 0x1cb695
mov eax, 0xffffffff
push eax
call fcn.001ac630
add esp, 4
mov dword [ebp - 0x20], eax
mov eax, dword [0x1f1b9c]
mov dword [ebp - 0x50], eax
mov dword [edi], 0x61a567bb
mov dword [edi + 4], 0x5df263f0
mov dword [edi + 8], 0x59fd5fe0
mov dword [edi + 0xc], 0x55f95bd4
mov dword [edi + 0x10], 0x5156578b
mov dword [edi + 0x14], 0
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x17
ja 0x1cb744
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
movzx ecx, byte [edi + ecx]
lea ebx, [eax + eax]
and ebx, 0x6a33d732
mov edx, eax
not edx
or edx, 0x3519eb99
add edx, eax
sub eax, ebx
lea ebx, [eax + edx*2]
lea eax, [eax + edx*2]
add eax, 0xb519eb9b
lea edx, [ecx + ebx]
add edx, 0xb519eb9b
and eax, ecx
add eax, eax
sub edx, eax
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x18]
add al, 3
mov ecx, dword [ebp - 0x10]
mov byte [edi + ecx], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0x18
jb 0x1cb6f0
push dword [ebp - 0x34]
push dword [ebp - 0x44]
push dword [ebp - 0x20]
push 9
push edi
push 0
call dword [ebp - 0x50]
mov dword [esi], 0xe945eba0
mov dword [esi + 4], 0xed4bef7d
mov dword [esi + 8], 0xd144d37d
mov dword [esi + 0xc], 0xd5d6d774
mov eax, esi
add eax, 0x10
mov word [esi + 0x10], 0
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x11
ja 0x1cb7dd
nop
nop
nop
nop
nop
nop
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
movzx edx, byte [esi + edx]
mov edi, ecx
xor edi, 0x55adcbd7
mov ebx, ecx
xor ebx, 0x2a523428
or ecx, 0x55adcbd7
and ecx, ebx
lea ecx, [edi + ecx*2]
xor ecx, edx
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x18]
mov edx, ecx
not edx
and edx, 0x33
and ecx, 0xcc
sub ecx, edx
mov edx, dword [ebp - 0x10]
mov byte [esi + edx], cl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x12
jb 0x1cb790
mov edx, dword [ebp - 0x28]
mov edi, edx
mov ecx, 4
xchg esi, esi
rep movsd dword es:[edi], dword [esi]
xchg esi, esi
add edx, 0x10
mov edi, edx
xor ecx, ecx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov ebx, dword [ebp - 0x2c]
mov dword [ebx], 0x812d8748
mov dword [ebx + 4], 0x8d2f833d
mov dword [ebx + 8], 0x893c8f3d
mov dword [ebx + 0xc], 0x95478b24
mov dword [ebx + 0x10], 0x91209737
mov dword [ebx + 0x14], 0x9d209333
mov dword [ebx + 0x18], 0x999e9f27
mov eax, ebx
add eax, 0x1c
mov word [ebx + 0x1c], 0
mov byte [ebx + 0x1e], 0
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x1e
ja 0x1cb891
nop
nop
nop
nop
nop
nop
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
movzx edx, byte [ebx + edx]
mov esi, ecx
xor esi, 0xa12fe0e1
mov edi, ecx
xor edi, 0x5ed01f1e
or ecx, 0x212fe0e1
and ecx, edi
lea ecx, [esi + ecx*2]
xor ecx, edx
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x18]
add cl, 0x9b
mov edx, dword [ebp - 0x10]
mov byte [ebx + edx], cl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x1f
jb 0x1cb850
mov ecx, 7
mov edx, dword [ebp - 0x24]
mov edi, edx
xchg esi, ebx
rep movsd dword es:[edi], dword [esi]
xchg esi, ebx
add edx, 0x1c
mov edi, edx
xor ecx, ecx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov edi, dword [ebp - 0x54]
mov dword [edi], 0x4fd7498c
mov dword [edi + 4], 0x43a54ddb
mov dword [edi + 8], 0x47d041d3
mov dword [edi + 0xc], 0x7b8a45a0
mov dword [edi + 0x10], 0x7fb8798c
mov eax, edi
add eax, 0x14
mov dword [edi + 0x14], 0x7d7c
mov byte [edi + 0x18], 0
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x18
mov ebx, dword [ebp - 0x3c]
ja 0x1cb937
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
movzx edx, byte [edi + edx]
mov esi, ecx
xor esi, 0x610ccb12
and ecx, 0xe10ccb12
lea ecx, [esi + ecx*2]
xor ecx, edx
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x18]
add cl, 0xa6
mov edx, dword [ebp - 0x10]
mov byte [edi + edx], cl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x19
jb 0x1cb900
mov edx, dword [ebp - 0x30]
mov esi, edi
mov edi, edx
mov ecx, 5
xchg esi, esi
rep movsd dword es:[edi], dword [esi]
xchg esi, esi
mov edi, edx
add edi, 0x14
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x28]
mov dword [ecx], eax
mov eax, dword [ebp - 0x24]
mov dword [ecx + 4], eax
mov dword [ecx + 8], edx
jmp dword [0x1ed744]
int3
xor ebx, ebx
jmp 0x1cbcdd
lea eax, [esp + 0x88]
push 0
push eax
push dword [esp + 0x84]
call fcn.001e56e0
add esp, 0xc
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x1ed834]
mov esi, dword [esp + 0x88]
lea eax, [esi + 1]
push eax
call fcn.001ac630
add esp, 4
push 0
push esi
mov dword [esp + 0x8c], eax
push eax
push dword [esp + 0x88]
call fcn.001e57e0
add esp, 0x10
not eax
shr eax, 0x1f
mov dword [esp + 0x68], 0
jmp dword [eax*4 + 0x1ed83c]
mov ebx, dword [esp + 0x68]
jmp dword [0x1ed93c]
push dword [esp + 0x84]
call fcn.001ac640
add esp, 4
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x24], 0x989b9a9d
mov word [esp + 0x28], 0
mov byte [esp + 0x2a], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 6
ja 0x1cbc8b
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x24]
mov esi, ecx
xor esi, 0x7bcdfc9b
and ecx, 0xfbcdfc9b
lea ecx, [esi + ecx*2]
xor ecx, edx
mov dword [esp + 4], ecx
mov ecx, dword [esp + 4]
add cl, 0xf9
mov edx, dword [esp]
mov byte [esp + edx + 0x24], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 7
jb 0x1cbc50
mov ecx, dword [0x1f1ba0]
test ecx, ecx
je 0x1cbcda
mov edx, dword [esp + 0x24]
xor esi, esi
mov edi, dword [0x1f1ba4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x625b6034
je 0x1cbcc0
inc esi
cmp ecx, esi
jne 0x1cbcb0
jmp 0x1cbcda
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je 0x1cbcda
push eax
push 1
push dword [0x1f1ba8]
push ecx
call fcn.001e1c60
add esp, 0x10
and bl, 1
mov eax, dword [case.0x1c9313.262]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
jmp dword [0x1ed954]
push ebp
call fcn.001ac640
add esp, 4
mov eax, dword [case.0x1c9313.265]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov eax, ebx
add esp, 0x90
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esp + 0x88]
mov ebx, dword [esp + 0x84]
mov byte [ebx + eax], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x80], ebp
jmp dword [0x1ed844]
mov dword [esp + 0x24], 0xcac2c0c2
mov dword [esp + 0x28], 0xcec7d4c6
mov dword [esp + 0x2c], 0x4e8fb5
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0xb
ja case.0x1c9313.196
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x24]
add eax, 0x7e872b96
xor eax, ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 4]
add al, 0x12
mov ecx, dword [esp]
mov byte [esp + ecx + 0x24], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0xc
jb 0x1cbd70
jmp case.0x1c9313.196
jmp dword [0x1ed84c]
mov dword [esp + 0x24], 0xcac2c0c2
mov dword [esp + 0x28], 0xcec7d4c6
mov dword [esp + 0x2c], 0x4e8fb5
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0xb
ja 0x1cbdfe
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x24]
add eax, 0x7e872b96
xor eax, ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 4]
add al, 0x12
mov ecx, dword [esp]
mov byte [esp + ecx + 0x24], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0xc
jb 0x1cbdd0
movzx edx, byte [esp + 0x24]
mov esi, ebx
test dl, dl
je 0x1cbda0
lea eax, [esp + 0x24]
mov ecx, ebx
mov esi, ebx
jmp 0x1cbe2b
movzx edx, byte [eax]
test dl, dl
je 0x1cbda0
mov dh, byte [ecx]
test dh, dh
je 0x1cbe50
inc ecx
inc eax
lea edi, [esi + 1]
cmp dh, dl
je 0x1cbe3e
mov esi, edi
mov ecx, edi
je 0x1cbe20
lea eax, [esp + 0x24]
jmp 0x1cbe20
xor esi, esi
jmp dword [0x1ed84c]
xor eax, eax
test esi, esi
sete al
jmp dword [eax*4 + 0x1ed854]
lea ebx, [esi + 0xa]
movzx eax, byte [esi + 0xa]
xor edi, edi
test al, al
je 0x1cbe91
mov ecx, ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp al, 0x22
je 0x1cbe8f
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x1cbe80
jmp 0x1cbe91
mov edi, ecx
mov ecx, edi
sub ecx, ebx
xor eax, eax
cmp ecx, 5
setb al
jmp dword [eax*4 + 0x1ed85c]
xor eax, eax
cmp byte [edi - 1], 0x74
setne al
jmp dword [eax*4 + 0x1ed864]
xor eax, eax
cmp byte [edi - 2], 0x78
setne al
jmp dword [eax*4 + 0x1ed86c]
xor eax, eax
cmp byte [edi - 3], 0x74
setne al
jmp dword [eax*4 + 0x1ed884]
xor eax, eax
cmp byte [edi - 4], 0x2e
setne al
jmp dword [eax*4 + 0x1ed88c]
mov dword [esp + 0x1c], edi
mov dword [esp + 0x14], ecx
jmp dword [0x1ed894]
jmp dword [0x1ed914]
xor ecx, ecx
mov eax, dword [esp + 0xc]
jmp 0x1cbf08
add eax, 2
test dx, dx
je 0x1cbf19
mov edi, ecx
movzx edx, word [eax]
mov ecx, eax
cmp dx, 0x5c
je 0x1cbf00
mov ecx, edi
jmp 0x1cbf00
xor eax, eax
test edi, edi
setne al
jmp dword [eax*4 + 0x1ed8cc]
mov dword [esp + 0x70], 0
xor edi, edi
jmp dword [0x1ed8e8]
sub edi, dword [esp + 0xc]
sar edi, 1
inc edi
mov eax, dword [esp + 0x14]
sub eax, edi
mov dword [esp + 0x70], eax
jmp dword [0x1ed8e8]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x24], 0x989b9a9d
lea ecx, [esp + 0x3f]
mov byte [ecx - 0x15], 0
mov word [ecx - 0x17], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 6
ja 0x1cbfbb
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x24]
mov esi, ecx
xor esi, 0x7bcdfc9b
and ecx, 0xfbcdfc9b
lea ecx, [esi + ecx*2]
xor ecx, edx
mov dword [esp + 4], ecx
mov ecx, dword [esp + 4]
add cl, 0xf9
mov edx, dword [esp]
mov byte [esp + edx + 0x24], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 7
jb 0x1cbf80
mov ecx, dword [0x1f1ba0]
test ecx, ecx
je case.0x1c9313.248
mov edx, dword [esp + 0x24]
xor esi, esi
mov edi, dword [0x1f1ba4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x625b6034
je 0x1cbff0
inc esi
cmp ecx, esi
jne 0x1cbfe0
jmp case.0x1c9313.248
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je case.0x1c9313.248
push eax
push 1
push dword [0x1f1ba8]
push ecx
call fcn.001e1c60
add esp, 0x10
mov eax, dword [esp + 0x20]
mov dword [esp + 0x24], 0x989b9a9d
lea ecx, [esp + 0x3f]
mov byte [ecx - 0x15], 0
mov word [ecx - 0x17], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 6
ja 0x1cc07b
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x24]
mov esi, ecx
xor esi, 0x7bcdfc9b
and ecx, 0xfbcdfc9b
lea ecx, [esi + ecx*2]
xor ecx, edx
mov dword [esp + 4], ecx
mov ecx, dword [esp + 4]
add cl, 0xf9
mov edx, dword [esp]
mov byte [esp + edx + 0x24], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 7
jb 0x1cc040
mov ecx, dword [0x1f1ba0]
test ecx, ecx
je 0x1cc0b8
mov edx, dword [esp + 0x24]
xor esi, esi
mov edi, dword [0x1f1ba4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x625b6034
je 0x1cc0b0
inc esi
cmp ecx, esi
jne 0x1cc0a0
jmp 0x1cc0b8
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x1cc0c2
mov edi, dword [esp + 0x1c]
jmp dword [0x1ed920]
push eax
push 1
push dword [0x1f1ba8]
push ecx
call fcn.001e1c60
add esp, 0x10
mov edi, dword [esp + 0x1c]
jmp dword [0x1ed920]
mov eax, dword [esp + 0x70]
add eax, 0x1b
push eax
call fcn.001ac630
add esp, 4
mov dword [esp + 8], eax
mov eax, dword [esp + 0x14]
sub eax, edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x24], 0xa8aaa8cb
mov dword [esp + 0x28], 0x57495ba6
mov dword [esp + 0x2c], 0x56280358
mov dword [esp + 0x30], 0x1c534454
mov dword [esp + 0x34], 0x42565a3e
mov dword [esp + 0x38], 0x5a5858
mov word [esp + 0x3c], 0x201
mov byte [esp + 0x3e], 0xf2
lea eax, [esp + 0x3f]
mov byte [eax + 4], 0
mov dword [eax], 0
mov dword [esp + 0x10], edi
lea edx, [ebx + edi]
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x1f
ja 0x1cc1bc
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx edi, byte [esp + ecx + 0x24]
lea ecx, [eax + 0xfb]
mov ebp, edi
not ebp
or ebp, ecx
lea ecx, [edi + ebp]
inc ecx
add eax, edi
sub eax, ecx
mov edi, 0x7af81404
sub edi, eax
add eax, 0x8507ebfb
and edi, ecx
not ecx
and ecx, eax
sub ecx, edi
mov dword [esp + 4], ecx
mov eax, dword [esp + 4]
mov ecx, eax
xor ecx, 0xe7
and eax, 0x18
add eax, eax
sub eax, ecx
mov ecx, dword [esp]
mov byte [esp + ecx + 0x24], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x20
jb 0x1cc160
movzx ecx, byte [esp + 0x24]
mov eax, dword [esp + 8]
test cl, cl
je 0x1cc1eb
lea edi, [esp + 0x25]
mov eax, dword [esp + 8]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [eax], cl
inc eax
movzx ecx, byte [edi]
inc edi
test cl, cl
jne 0x1cc1e0
mov byte [eax], 0
mov ecx, dword [esp + 0x18]
test ecx, ecx
mov edi, dword [esp + 0x10]
je 0x1cc23d
add edi, esi
mov ebp, dword [esp + 0x1c]
sub ebp, edi
add ebp, 0xfffffff5
mov dword [esp + 0x6c], ebp
mov edi, ecx
and edi, 3
je 0x1cc241
xor ebp, ebp
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [edx]
cmp cl, 1
sbb edx, 0xffffffff
mov byte [eax + ebp], cl
inc ebp
cmp edi, ebp
jne 0x1cc220
add eax, ebp
mov ecx, dword [esp + 0x18]
sub ecx, ebp
mov ebp, eax
jmp 0x1cc241
mov ebp, eax
jmp 0x1cc28d
cmp dword [esp + 0x6c], 3
jb 0x1cc28d
nop
nop
nop
nop
nop
nop
nop
nop
mov edi, ecx
movzx ecx, byte [edx]
cmp cl, 1
sbb edx, 0xffffffff
mov byte [eax], cl
movzx ecx, byte [edx]
cmp cl, 1
sbb edx, 0xffffffff
mov byte [eax + 1], cl
movzx ecx, byte [edx]
cmp cl, 1
sbb edx, 0xffffffff
mov byte [eax + 2], cl
movzx ecx, byte [edx]
cmp cl, 1
sbb edx, 0xffffffff
lea ebp, [eax + 4]
mov byte [eax + 3], cl
mov ecx, edi
mov eax, ebp
add ecx, 0xfffffffc
jne 0x1cc250
mov byte [ebp], 0
mov ecx, dword [esp + 0xa4]
push dword [esp + 0x78]
push dword [esp + 0x78]
push dword [esp + 0x10]
call fcn.001ad1b0
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x70]
add eax, 0x1b
push eax
call fcn.001ac630
add esp, 4
mov dword [esp + 8], eax
mov eax, dword [esp + 0x14]
sub eax, edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x24], 0xa8aaa8cb
mov dword [esp + 0x28], 0x57495ba6
mov dword [esp + 0x2c], 0x56280358
mov dword [esp + 0x30], 0x1c534454
mov dword [esp + 0x34], 0x42565a3e
mov dword [esp + 0x38], 0x5a5858
mov word [esp + 0x3c], 0x201
mov byte [esp + 0x3e], 0xf2
lea eax, [esp + 0x3f]
mov byte [eax + 4], 0
mov dword [eax], 0
mov dword [esp + 0x10], edi
lea ecx, [ebx + edi]
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x1f
ja 0x1cc38c
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov edx, dword [esp]
movzx edi, byte [esp + edx + 0x24]
lea edx, [eax + 0xfb]
mov ebp, edi
not ebp
or ebp, edx
lea edx, [edi + ebp]
inc edx
add eax, edi
sub eax, edx
mov edi, 0x7af81404
sub edi, eax
add eax, 0x8507ebfb
and edi, edx
not edx
and edx, eax
sub edx, edi
mov dword [esp + 4], edx
mov eax, dword [esp + 4]
mov edx, eax
xor edx, 0xe7
and eax, 0x18
add eax, eax
sub eax, edx
mov edx, dword [esp]
mov byte [esp + edx + 0x24], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x20
jb 0x1cc330
movzx eax, byte [esp + 0x24]
mov edx, dword [esp + 8]
test al, al
je 0x1cc3bc
lea ebp, [esp + 0x25]
mov edx, dword [esp + 8]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ebp]
inc ebp
test al, al
jne 0x1cc3b0
mov byte [edx], 0
mov ebp, dword [esp + 0x18]
test ebp, ebp
mov edi, dword [esp + 0x1c]
je 0x1cc40a
mov eax, dword [esp + 0x10]
add eax, esi
sub edi, eax
add edi, 0xfffffff5
mov dword [esp + 0x6c], edi
mov edi, ebp
and edi, 3
je 0x1cc40e
xor ebp, ebp
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx eax, byte [ecx]
cmp al, 1
sbb ecx, 0xffffffff
mov byte [edx + ebp], al
inc ebp
cmp edi, ebp
jne 0x1cc3f0
add edx, ebp
sub dword [esp + 0x18], ebp
mov ebp, edx
jmp 0x1cc40e
mov ebp, edx
jmp 0x1cc455
cmp dword [esp + 0x6c], 3
mov edi, dword [esp + 0x18]
jb 0x1cc455
nop
nop
nop
nop
nop
nop
nop
movzx eax, byte [ecx]
cmp al, 1
sbb ecx, 0xffffffff
mov byte [edx], al
movzx eax, byte [ecx]
cmp al, 1
sbb ecx, 0xffffffff
mov byte [edx + 1], al
movzx eax, byte [ecx]
cmp al, 1
sbb ecx, 0xffffffff
mov byte [edx + 2], al
movzx eax, byte [ecx]
cmp al, 1
sbb ecx, 0xffffffff
lea ebp, [edx + 4]
mov byte [edx + 3], al
mov edx, ebp
add edi, 0xfffffffc
jne 0x1cc420
mov byte [ebp], 0
mov ecx, dword [esp + 0xa4]
push dword [esp + 0x78]
push dword [esp + 0x78]
push dword [esp + 0x10]
call fcn.001ad1b0
mov edi, dword [esp + 0x10]
jmp dword [0x1ed8f0]
mov ecx, dword [esp + 0x68]
and cl, 1
or cl, al
mov dword [esp + 0x68], ecx
mov ebp, dword [esp + 0x80]
jmp dword [0x1ed8f4]
jmp dword [0x1ed900]
push esi
call fcn.001ac640
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push esi
call fcn.001ac640
add esp, 4
mov ebx, edi
jmp dword [0x1ed938]
jmp dword [0x1ed930]
mov eax, ecx
inc eax
lea eax, [ecx + ecx + 2]
jns 0x1cc4d5
mov eax, 0xffffffff
push eax
call fcn.001ac630
add esp, 4
mov dword [esp + 0xc], eax
mov ecx, dword [esp + 0x14]
lea ecx, [eax + ecx*2]
add ecx, 2
mov ebp, edi
test edi, edi
jne 0x1cc50b
lea eax, [esi + 9]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
lea ebp, [eax + 1]
cmp byte [eax + 1], 0
mov eax, ebp
jne 0x1cc500
mov dword [esp + 0x24], 0
add ecx, 0xfffffffe
mov eax, dword [esp + 0xc]
mov edi, eax
mov dword [esp + 8], ecx
cmp eax, ecx
mov ecx, eax
jae 0x1cc577
mov ecx, dword [esp + 0xc]
cmp ebx, ebp
jae 0x1cc577
mov ecx, dword [esp + 0xc]
mov edi, ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [edi], 0
je 0x1cc577
lea eax, [esp + 0x24]
push eax
push ebp
push edi
mov dword [esp + 0x1c], ecx
call fcn.001b0ce0
add esp, 0xc
movzx ecx, word [esp + 0x24]
mov edx, dword [esp + 0x10]
mov word [edx], cx
mov ecx, dword [esp + 0x10]
add ecx, 2
cmp ecx, dword [esp + 8]
jae 0x1cc577
add edi, eax
cmp edi, ebp
jb 0x1cc540
mov word [ecx], 0
lea eax, [esp + 0x20]
push 0x60
push 3
push 0x120089
push eax
push dword [esp + 0x1c]
call fcn.001e5330
add esp, 0x14
mov ebp, dword [esp + 0x80]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
jmp dword [0x1ed8a0]
mov eax, ecx
inc eax
lea eax, [ecx + ecx + 2]
jns 0x1cc5b9
mov eax, 0xffffffff
push eax
call fcn.001ac630
add esp, 4
mov ecx, eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0xc], ecx
lea ecx, [ecx + eax*2]
add ecx, 2
mov ebp, edi
test edi, edi
jne 0x1cc5eb
lea eax, [esi + 9]
nop
nop
nop
nop
nop
lea ebp, [eax + 1]
cmp byte [eax + 1], 0
mov eax, ebp
jne 0x1cc5e0
mov dword [esp + 0x24], 0
add ecx, 0xfffffffe
mov eax, dword [esp + 0xc]
mov edi, eax
mov dword [esp + 8], ecx
cmp eax, ecx
mov ecx, eax
jae 0x1cc657
mov ecx, dword [esp + 0xc]
cmp ebx, ebp
jae 0x1cc657
mov ecx, dword [esp + 0xc]
mov edi, ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [edi], 0
je 0x1cc657
lea eax, [esp + 0x24]
push eax
push ebp
push edi
mov dword [esp + 0x1c], ecx
call fcn.001b0ce0
add esp, 0xc
movzx ecx, word [esp + 0x24]
mov edx, dword [esp + 0x10]
mov word [edx], cx
mov ecx, dword [esp + 0x10]
add ecx, 2
cmp ecx, dword [esp + 8]
jae 0x1cc657
add edi, eax
cmp edi, ebp
jb 0x1cc620
mov word [ecx], 0
lea eax, [esp + 0x20]
push 0x60
push 3
push 0x120089
push eax
push dword [esp + 0x1c]
call fcn.001e5330
add esp, 0x14
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
jmp case.0x1cbe9d.14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x1ed8a4]
mov ebx, edi
mov esi, dword [esp + 0xc]
jmp dword [0x1ed924]
jmp dword [0x1ed844]
lea eax, [esp + 0x78]
push 0
push eax
push dword [esp + 0x28]
call fcn.001e56e0
add esp, 0xc
mov edi, dword [esp + 0x78]
test eax, eax
setns al
cmp edi, 0x100000
setb cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x1ed8bc]
push edi
call fcn.001ac630
add esp, 4
push 0
push edi
mov dword [esp + 0x7c], eax
push eax
push dword [esp + 0x2c]
call fcn.001e57e0
add esp, 0x10
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x1ed8c4]
jmp dword [0x1ed90c]
push dword [esp + 0x74]
call fcn.001ac640
add esp, 4
jmp dword [0x1ed914]
push dword [esp + 8]
call fcn.001ac640
add esp, 4
push dword [esp + 8]
call fcn.001ac640
add esp, 4
jmp dword [0x1ed908]
int3
nop
sbb al, 0
push eax
xchg edx, eax
sbb al, 0
movsb byte es:[edi], byte [esi]
xchg ecx, eax
sbb al, 0
mov eax, 0xa4001c90
xchg ecx, eax
sbb al, 0
mov dl, byte [ecx - 0x6e6fffe4]
sbb al, 0
cdq
xchg ecx, eax
sbb al, 0
mov al, byte [0xa0001c91]
xchg ecx, eax
sbb al, 0
movsb byte es:[edi], byte [esi]
xchg ecx, eax
sbb al, 0
mov al, byte [0x8e001c91]
xchg edx, eax
sbb al, 0
and byte [ebx - 0x6d5fffe4], dl
sbb al, 0
xchg esp, eax
xchg edx, eax
sbb al, 0
mov al, byte [0xaf001c92]
xchg edx, eax
sbb al, 0
lds edx, [edx - 0x6d22ffe4]
sbb al, 0
pushal
invalid
xchg esp, eax
sbb al, 0
mov edx, dword [esp + ebx + 0x100]
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ebx + 0x75001c94], cl
xchg ebp, eax
sbb al, 0
mov eax, dword [0x94001c94]
xchg ebp, eax
sbb al, 0
enter 0x1c95, 0
add dword [eax], eax
add byte [eax], al
add dword [eax], eax
add byte [eax], al
add dword [eax], eax
add byte [eax], al
enter 0x1c95, 0
add dword [eax], eax
add byte [eax], al
add dword [eax], eax
add byte [eax], al
enter 0x1c95, 0
add dword [eax], eax
add byte [eax], al
mov esp, 0xef001c97
xchg ebp, eax
sbb al, 0
cmc
xchg ebp, eax
sbb al, 0
and byte [esi - 0x69dfffe4], dl
sbb al, 0
dec edx
xchg esi, eax
sbb al, 0
lodsd eax, dword [esi]
xchg edi, eax
sbb al, 0
xchg esi, eax
sbb al, 0
jns 0x1ed57d
sbb al, 0
ret
mov esi, 0xc69b001c
sbb al, 0
mov ah, 0xbe
sbb al, 0
wait
invalid