Function at 0x41add0
Capabilities:
Encode data using base64
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x1b0
mov eax, dword [esp + 0x1b4]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1b8]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x1bc]
push ebx
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x1c4]
push ebp
mov ebp, dword [esp + 0x1cc]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x1d0]
push esi
mov dword [esp + 0x38], eax
lea esi, [esp + 0x24]
mov eax, dword [esp + 0x1d8]
push edi
mov dword [esp + 0x28], 0
mov dword [esp + 0x40], eax
mov dword [esi + 0x5c], 0
mov dword [esp + 0x10], esi
lea ebx, [ebx]
mov dword [esi + 0x60], 0
jmp 0x41ae50
mov edx, dword [ebp]
mov ebx, dword [ebp + 0x48]
mov dword [esp + 0x14], ebx
lea eax, [edx + 1]
mov dword [ebp], eax
cmp edx, dword [ebp + 4]
jb 0x41ae91
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x41ae7f
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0cf
mov edi, 0xfffffff8
jmp 0x425bcf
mov eax, dword [esi + 0x18]
cmp eax, dword [ebp + 8]
jb 0x41aec5
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x41aeb3
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0df
mov edi, 0xffffffeb
jmp 0x425bcf
cmp dword [ebp + 0x98], 2
jne 0x41aeef
mov eax, dword [esi + 4]
lea ecx, [esi + 0x120]
mov dword [esi + 0x124], eax
mov eax, dword [esi + 0x14]
mov dword [ecx], eax
mov dword [esi + 0x14], ecx
mov dword [ebp + 0x98], 0
mov eax, dword [esi + 8]
xor ebx, ebx
mov dword [esp + 0x24], 0
mov dword [esp + 0x18], ebx
movzx edx, byte [eax]
mov dword [esi + 0x94], edx
cmp edx, 0x9b
ja case.0x41af1c.98
movzx eax, byte [edx + 0x42a328]
jmp dword [eax*4 + 0x42a1e0]
mov eax, dword [esi + 8]
add eax, 2
mov dword [ebp + 0xb0], eax
push 0x12c
mov dword [ebp + 0xac], ebx
call dword [0x3580d38]
mov edi, eax
add esp, 4
test edi, edi
jne 0x42a076
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x41af67
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ef
mov edi, 0xfffffffa
jmp 0x425bcb
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x41af93
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcb
push 0x12c
call dword [0x3580d38]
mov edx, eax
add esp, 4
test edx, edx
je 0x41af4d
mov dword [esi + 0x128], 0x34
jmp 0x41b0b2
push 0x12c
call dword [0x3580d38]
mov edx, eax
add esp, 4
test edx, edx
je 0x41af4d
mov dword [esi + 0x128], 0x33
jmp 0x41b0b2
mov eax, dword [esi + 8]
add eax, 2
mov dword [ebp + 0xb0], eax
push 0x12c
mov dword [ebp + 0xac], ebx
call dword [0x3580d38]
mov edi, eax
add esp, 4
test edi, edi
je 0x41af4d
mov dword [esi + 0x128], 0x38
jmp 0x42a080
push 0x12c
call dword [0x3580d38]
mov edx, eax
add esp, 4
test edx, edx
je 0x41af4d
mov dword [esi + 0x128], 0x35
jmp 0x41b0b2
cmp dword [ebp + 0x6c], ebx
je 0x41b069
mov ecx, dword [esi + 8]
movzx eax, byte [ecx]
movzx edx, byte [eax + 0x4867d8]
movzx eax, byte [ecx + 1]
add edx, eax
add dword [esi + 8], edx
jmp 0x41aeef
push 0x12c
call dword [0x3580d38]
mov edi, eax
add esp, 4
test edi, edi
je 0x41af4d
mov dword [esi + 0x128], 0x39
jmp 0x42a080
push 0x12c
call dword [0x3580d38]
mov edx, eax
add esp, 4
test edx, edx
je 0x41af4d
mov dword [esi + 0x128], 0x36
mov eax, dword [esi + 4]
mov dword [edx + 4], eax
mov ecx, dword [esi + 8]
movzx eax, byte [ecx]
movzx eax, byte [eax + 0x4867d8]
add eax, ecx
mov dword [edx + 8], eax
mov eax, dword [esi + 0xc]
mov dword [edx + 0xc], eax
mov eax, dword [esi + 0x10]
mov dword [edx + 0x10], eax
mov eax, dword [esi + 0x14]
mov dword [edx + 0x14], eax
mov eax, dword [esi + 0x18]
inc eax
mov dword [edx + 0x18], eax
mov dword [edx], esi
mov esi, edx
jmp 0x41ae2f
mov eax, dword [esi + 8]
add eax, 2
mov dword [ebp + 0xb0], eax
push 0x12c
mov dword [ebp + 0xac], ebx
call dword [0x3580d38]
mov edi, eax
add esp, 4
test edi, edi
je 0x41af4d
mov dword [esi + 0x128], 0x3a
jmp 0x42a080
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 4]
mov dword [esi + 0x34], eax
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x24], eax
jmp 0x427495
mov eax, dword [esi + 8]
movzx ecx, byte [eax + 3]
movzx eax, byte [eax + 4]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
add ecx, ecx
mov dword [esi + 0x90], ecx
cmp ecx, dword [ebp + 0x14]
jge case.0x41af1c.123
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + ecx*4]
mov dword [esi + 0x9c], eax
mov ecx, dword [esi + 0x90]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + ecx*4 + 4]
mov dword [esi + 0xa0], eax
mov ecx, dword [ebp + 0x10]
sub ecx, dword [esi + 0x8c]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + ecx*4]
mov dword [esi + 0xa4], eax
mov eax, dword [ebp + 0x90]
mov dword [esi + 0x98], eax
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x24], eax
mov edx, dword [esi + 4]
mov ecx, dword [ebp + 0x10]
sub edx, dword [ebp + 0x74]
sub ecx, dword [esi + 0x8c]
mov eax, dword [ebp + 0xc]
mov dword [eax + ecx*4], edx
jmp 0x425c66
mov dword [esi + 0x4c], ebx
jmp 0x41bc51
mov eax, dword [esi + 8]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x70], ecx
mov eax, dword [esi + 8]
cmp byte [eax + 3], 0x70
jne 0x41b32e
mov edi, dword [0x3584898]
test edi, edi
je 0x41b324
mov dword [esp + 0x158], 2
mov eax, dword [esi + 8]
movzx eax, byte [eax + 4]
mov dword [esp + 0x15c], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x160], eax
mov eax, dword [ebp + 0x74]
mov dword [esp + 0x164], eax
mov eax, dword [ebp + 0x78]
sub eax, dword [ebp + 0x74]
mov dword [esp + 0x168], eax
mov eax, dword [esi + 0xc]
sub eax, dword [ebp + 0x74]
mov dword [esp + 0x16c], eax
mov eax, dword [esi + 4]
sub eax, dword [ebp + 0x74]
mov dword [esp + 0x170], eax
mov eax, dword [esi + 8]
movzx ecx, byte [eax + 5]
movzx eax, byte [eax + 6]
shl ecx, 8
or ecx, eax
mov dword [esp + 0x180], ecx
mov eax, dword [esi + 8]
movzx ecx, byte [eax + 7]
movzx eax, byte [eax + 8]
shl ecx, 8
or ecx, eax
mov dword [esp + 0x184], ecx
mov eax, dword [esi + 0x10]
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x174], eax
mov eax, dword [ebp + 0x90]
mov dword [esp + 0x178], eax
mov eax, dword [ebp + 0xa8]
mov dword [esp + 0x17c], eax
mov eax, dword [ebp + 0xb0]
mov dword [esp + 0x188], eax
lea eax, [esp + 0x158]
push eax
call edi
mov edi, eax
add esp, 4
test edi, edi
jle 0x41b2f3
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x41b2e4
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcb
jns 0x41b324
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x41b30f
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
jne 0x425bcb
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1b0
ret
movzx eax, byte [0x486848]
add dword [esi + 8], eax
mov eax, dword [esi + 8]
movzx edx, byte [eax + 3]
cmp edx, 0x89
je 0x41b596
cmp edx, 0x8a
je 0x41b596
cmp edx, 0x87
je 0x41b3e0
cmp edx, 0x88
je 0x41b3e0
cmp edx, 0x8b
jne 0x41b386
mov dword [esi + 0x50], ebx
mov ecx, dword [esi + 8]
movzx edx, byte [ecx + 1]
movzx eax, byte [ecx + 2]
shl edx, 8
or edx, eax
add edx, ecx
mov dword [esi + 8], edx
jmp 0x425ed6
push 0x12c
mov dword [ebp + 0x98], 1
call dword [0x3580d38]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x41af4d
mov dword [esi + 0x128], 3
mov eax, dword [esi + 4]
mov dword [ecx + 4], eax
mov eax, dword [esi + 8]
add eax, 3
mov dword [ecx + 8], eax
mov eax, dword [esi + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [esi + 0x10]
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], ebx
mov eax, dword [esi + 0x18]
inc eax
mov dword [ecx + 0x18], eax
mov dword [ecx], esi
mov esi, ecx
jmp 0x41ae2f
movzx ecx, byte [eax + 4]
movzx eax, byte [eax + 5]
shl ecx, 8
or ecx, eax
add ecx, ecx
mov dword [esi + 0x90], ecx
cmp ecx, dword [esi + 0x10]
jge 0x41b409
mov eax, dword [ebp + 0xc]
cmp dword [eax + ecx*4], ebx
jl 0x41b409
mov eax, 1
jmp 0x41b40b
xor eax, eax
mov dword [esi + 0x50], eax
test eax, eax
jne 0x41b56b
cmp edx, 0x88
jne 0x41b56b
mov ebx, dword [esi + 0x90]
mov edx, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x28]
mov edi, ecx
sar ebx, 1
mov dword [esp + 0x18], eax
test edx, edx
jle 0x41b467
mov esi, eax
lea esp, [esp]
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
shl ecx, 8
or ecx, eax
cmp ecx, ebx
je 0x41b458
add edi, dword [ebp + 0x24]
inc esi
cmp esi, edx
jl 0x41b440
mov ecx, dword [ebp + 0x28]
mov dword [esp + 0x18], esi
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
cmp eax, edx
jge 0x41b56b
mov ebx, edi
cmp edi, ecx
jbe 0x41b4de
sub ebx, dword [ebp + 0x24]
lea eax, [edi + 2]
lea ecx, [ebx + 2]
mov edi, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x41b4a0
test dl, dl
je 0x41b49c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x41b4a0
add eax, 2
add ecx, 2
test dl, dl
jne 0x41b480
xor eax, eax
jmp 0x41b4a5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x41b4de
movzx ecx, byte [ebx]
movzx eax, byte [ebx + 1]
shl ecx, 8
or ecx, eax
add ecx, ecx
mov dword [esi + 0x90], ecx
cmp ecx, dword [esi + 0x10]
jge 0x41b4cb
mov eax, dword [ebp + 0xc]
cmp dword [eax + ecx*4], 0
jge 0x41b4d7
mov dword [esi + 0x50], 0
cmp ebx, dword [ebp + 0x28]
jmp 0x41b473
mov dword [esi + 0x50], 1
cmp dword [esi + 0x50], 0
jne 0x41b571
mov ebx, dword [esp + 0x18]
inc ebx
cmp ebx, dword [ebp + 0x20]
jge 0x41b56b
lea eax, [edi + 2]
mov dword [esp + 0x1c], eax
lea esp, [esp]
add edi, dword [ebp + 0x24]
lea ecx, [edi + 2]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x41b526
test dl, dl
je 0x41b522
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x41b526
add eax, 2
add ecx, 2
test dl, dl
jne 0x41b506
xor eax, eax
jmp 0x41b52b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x41b56b
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
shl ecx, 8
or ecx, eax
add ecx, ecx
mov dword [esi + 0x90], ecx
cmp ecx, dword [esi + 0x10]
jge 0x41b551
mov eax, dword [ebp + 0xc]
cmp dword [eax + ecx*4], 0
jge 0x41b564
inc ebx
mov dword [esi + 0x50], 0
cmp ebx, dword [ebp + 0x20]
jge 0x41b56b
mov eax, dword [esp + 0x1c]
jmp 0x41b500
mov dword [esi + 0x50], 1
cmp dword [esi + 0x50], 0
je 0x41b57e
mov ecx, 3
add dword [esi + 8], ecx
jmp 0x425ed6
mov eax, dword [esi + 8]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add dword [esi + 8], ecx
jmp 0x425ed6
mov ecx, dword [ebp + 0xa4]
test ecx, ecx
je 0x41b369
movzx ebx, byte [eax + 4]
movzx eax, byte [eax + 5]
shl ebx, 8
or ebx, eax
cmp ebx, 0xffff
je 0x41b5c2
cmp ebx, dword [ecx + 4]
je 0x41b5c2
xor eax, eax
jmp 0x41b5c7
mov eax, 1
mov dword [esi + 0x50], eax
test eax, eax
jne 0x41b714
cmp edx, 0x8a
jne 0x41b714
mov ecx, dword [ebp + 0x28]
xor edx, edx
mov eax, dword [ebp + 0x20]
mov edi, ecx
mov dword [esp + 0x20], edi
mov dword [esp + 0x18], edx
test eax, eax
jle 0x41b61a
movzx eax, byte [edi]
movzx ecx, byte [edi + 1]
shl eax, 8
or ecx, eax
mov eax, dword [ebp + 0x20]
cmp ecx, ebx
je 0x41b60f
add edi, dword [ebp + 0x24]
inc edx
cmp edx, eax
jl 0x41b5f4
mov ecx, dword [ebp + 0x28]
mov dword [esp + 0x18], edx
mov dword [esp + 0x20], edi
cmp edx, eax
jge 0x41b714
mov ebx, edi
cmp edi, ecx
jbe 0x41b697
lea eax, [edi + 2]
mov dword [esp + 0x1c], eax
mov edi, eax
sub ebx, dword [ebp + 0x24]
mov eax, edi
lea ecx, [ebx + 2]
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x41b660
test dl, dl
je 0x41b65c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x41b660
add eax, 2
add ecx, 2
test dl, dl
jne 0x41b640
xor eax, eax
jmp 0x41b665
sbb eax, eax
or eax, 1
test eax, eax
jne 0x41b68f
movzx eax, byte [ebx]
xor ecx, ecx
movzx edx, byte [ebx + 1]
shl eax, 8
or edx, eax
mov eax, dword [ebp + 0xa4]
cmp edx, dword [eax + 4]
sete cl
mov dword [esi + 0x50], ecx
test ecx, ecx
jne 0x41b68f
cmp ebx, dword [ebp + 0x28]
ja 0x41b631
mov edi, dword [esp + 0x20]
mov edx, dword [esp + 0x18]
cmp dword [esi + 0x50], 0
jne 0x41b571
inc edx
mov dword [esp + 0x18], edx
cmp edx, dword [ebp + 0x20]
jge 0x41b714
lea eax, [edi + 2]
mov ebx, edx
mov dword [esp + 0x1c], eax
add edi, dword [ebp + 0x24]
lea ecx, [edi + 2]
lea ebx, [ebx]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x41b6e0
test dl, dl
je 0x41b6dc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x41b6e0
add eax, 2
add ecx, 2
test dl, dl
jne 0x41b6c0
xor eax, eax
jmp 0x41b6e5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x41b714
movzx eax, byte [edi]
xor ecx, ecx
movzx edx, byte [edi + 1]
shl eax, 8
or edx, eax
mov eax, dword [ebp + 0xa4]
cmp edx, dword [eax + 4]
sete cl
mov dword [esi + 0x50], ecx
test ecx, ecx
jne 0x41b714
mov eax, dword [esp + 0x1c]
inc ebx
cmp ebx, dword [ebp + 0x20]
jl 0x41b6b4
cmp dword [esi + 0x50], 0
je 0x41b57e
mov ecx, 3
add dword [esi + 8], ecx
jmp 0x425ed6
mov eax, dword [esi + 8]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
lea eax, [ecx + ecx]
mov dword [esi + 0x90], eax
mov eax, dword [esi + 0x8c]
mov dword [ebp + 0x90], eax
mov edx, dword [esi + 0x90]
cmp edx, dword [ebp + 0x14]
jl 0x41b771
mov dword [ebp + 0x3c], 1
add dword [esi + 8], 3
jmp 0x41aeef
mov eax, dword [ebp + 0x10]
sub eax, dword [esi + 0x8c]
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + eax*4]
mov dword [ecx + edx*4], eax
mov eax, dword [ebp + 0xc]
mov edx, dword [esi + 4]
mov ecx, dword [esi + 0x90]
sub edx, dword [ebp + 0x74]
mov dword [eax + ecx*4 + 4], edx
mov eax, dword [esi + 0x90]
cmp dword [esi + 0x10], eax
jg 0x41b7a7
add eax, 2
mov dword [esi + 0x10], eax
add dword [esi + 8], 3
jmp 0x41aeef
mov edi, dword [esi + 4]
mov ecx, dword [esi + 0xc]
cmp edi, ecx
jne 0x41b80a
cmp edx, 0x99
je 0x41b80a
cmp dword [ebp + 0xa4], ebx
jne 0x41b80a
cmp dword [ebp + 0x58], ebx
jne 0x41b7e1
cmp dword [ebp + 0x5c], ebx
je 0x41b80a
mov eax, dword [ebp + 0x94]
add eax, dword [ebp + 0x74]
cmp ecx, eax
jne 0x41b80a
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x41b7fb
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcb
mov dword [ebp + 0x80], edi
mov eax, dword [esi + 0x10]
mov dword [ebp + 0x8c], eax
mov eax, dword [esi + 0xc]
mov dword [ebp + 0x7c], eax
mov edi, dword [esi + 0x94]
neg edi
sbb edi, edi
and edi, 0xfffffc18
inc edi
jmp 0x41b2f5
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x24], eax
cmp dword [ebp + 0x98], 1
jne 0x41b859
mov dword [esi + 0x50], 1
mov dword [ebp + 0x98], ebx
jmp 0x425f76
mov dword [esi + 0x50], ebx
jmp 0x425f76
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x24], eax
cmp dword [ebp + 0x98], 1
jne 0x41b885
mov dword [esi + 0x50], 1
mov dword [ebp + 0x98], ebx
jmp 0x42607d
mov dword [esi + 0x50], ebx
jmp 0x42607d
mov ebx, dword [esp + 0x14]
mov eax, dword [esi + 8]
test ebx, ebx
je 0x41b913
movzx edx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl edx, 8
or edx, eax
jle 0x41b8d0
dec dword [esi + 4]
dec edx
mov ecx, dword [esi + 4]
cmp ecx, dword [ebp + 0x74]
jb 0x41b8ea
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x41b8cc
jmp 0x41b8c0
dec ecx
mov dword [esi + 4], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x41b8c0
test edx, edx
jg 0x41b8a7
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jae 0x41b8e1
mov dword [ebp + 0x84], eax
add dword [esi + 8], 3
jmp 0x41aeef
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x41b904
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
movzx ecx, byte [eax + 1]
mov eax, dword [esi + 8]
shl ecx, 8
movzx eax, byte [eax + 2]
or ecx, eax
sub dword [esi + 4], ecx
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x74]
jae 0x41b8d0
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x41b948
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
mov edi, dword [0x3584898]
test edi, edi
je 0x41ba5f
mov dword [esp + 0x18c], 2
mov eax, dword [esi + 8]
movzx eax, byte [eax + 1]
mov dword [esp + 0x190], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x194], eax
mov eax, dword [ebp + 0x74]
mov dword [esp + 0x198], eax
mov eax, dword [ebp + 0x78]
sub eax, dword [ebp + 0x74]
mov dword [esp + 0x19c], eax
mov eax, dword [esi + 0xc]
sub eax, dword [ebp + 0x74]
mov dword [esp + 0x1a0], eax
mov eax, dword [esi + 4]
sub eax, dword [ebp + 0x74]
mov dword [esp + 0x1a4], eax
mov eax, dword [esi + 8]
movzx ecx, byte [eax + 2]
movzx eax, byte [eax + 3]
shl ecx, 8
or ecx, eax
mov dword [esp + 0x1b4], ecx
mov eax, dword [esi + 8]
movzx ecx, byte [eax + 4]
movzx eax, byte [eax + 5]
shl ecx, 8
or ecx, eax
mov dword [esp + 0x1b8], ecx
mov eax, dword [esi + 0x10]
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x1a8], eax
mov eax, dword [ebp + 0x90]
mov dword [esp + 0x1ac], eax
mov eax, dword [ebp + 0xa8]
mov dword [esp + 0x1b0], eax
mov eax, dword [ebp + 0xb0]
mov dword [esp + 0x1bc], eax
lea eax, [esp + 0x18c]
push eax
call edi
mov edi, eax
add esp, 4
test edi, edi
jle 0x41ba59
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x41ba4a
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcb
js 0x41b2f5
add dword [esi + 8], 6
jmp 0x41aeef
mov eax, dword [esi + 8]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp + 0x70]
add eax, ecx
mov dword [esi + 0x1c], eax
cmp eax, dword [ebp + 0x70]
jne 0x41ba89
xor edx, edx
jmp 0x41ba96
movzx edx, byte [eax + 3]
movzx eax, byte [eax + 4]
shl edx, 8
or edx, eax
mov ecx, dword [ebp + 0xa4]
test ecx, ecx
je 0x41bab3
cmp edx, dword [ecx + 4]
jne 0x41baad
mov eax, dword [esi + 4]
cmp eax, dword [ecx + 0x10]
je 0x41bae7
mov ecx, dword [ecx]
test ecx, ecx
jne 0x41baa0
mov dword [esi + 0x3c], edx
lea ecx, [esi + 0x38]
mov eax, dword [esi + 4]
mov dword [esi + 0x48], eax
mov eax, dword [ebp + 0xa4]
mov dword [ecx], eax
mov dword [ebp + 0xa4], ecx
add dword [esi + 8], 3
mov eax, dword [ebp + 0x10]
mov dword [esi + 0x44], eax
cmp eax, 0x1e
jg 0x41bb13
lea eax, [esi + 0xa8]
mov dword [esi + 0x40], eax
jmp 0x41bb2b
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x41bb01
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a10c
mov edi, 0xffffffe6
jmp 0x425bcb
shl eax, 2
push eax
call dword [0x3580d30]
add esp, 4
mov dword [esi + 0x40], eax
test eax, eax
je 0x41af4d
mov eax, dword [esi + 0x44]
shl eax, 2
push eax
push dword [ebp + 0xc]
push dword [esi + 0x40]
call fcn.00410d1b
mov eax, dword [esi + 0x1c]
add esp, 0xc
cmp byte [eax], 0x82
sbb eax, eax
inc eax
mov dword [esi + 0x50], eax
jmp 0x4261cc
mov edx, dword [esi + 8]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 8], edx
cmp byte [edx], 0x71
je 0x41bb54
jmp 0x41aeef
mov eax, dword [esi + 8]
inc eax
push 0x12c
mov dword [esi + 0x28], eax
call dword [0x3580d38]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x41af4d
mov dword [esi + 0x128], 0xa
mov eax, dword [esi + 4]
mov dword [ecx + 4], eax
mov eax, dword [esi + 0x28]
jmp 0x426fc2
mov edx, dword [esi + 8]
inc edx
mov dword [esi + 0x28], edx
mov edi, edi
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 0x28], edx
cmp byte [edx], 0x71
je 0x41bbb0
push 0x12c
call dword [0x3580d38]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x41af4d
mov dword [esi + 0x128], 0xb
mov eax, dword [esi + 4]
mov dword [ecx + 4], eax
mov eax, dword [esi + 0x28]
add eax, 3
jmp 0x426fc2
mov edx, dword [esi + 8]
inc edx
mov dword [esi + 0x28], edx
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 0x28], edx
cmp byte [edx], 0x71
je 0x41bc01
lea eax, [edx + 3]
mov dword [esi + 8], eax
jmp 0x41aeef
inc dword [esi + 8]
mov eax, dword [esi + 8]
movzx eax, byte [eax]
mov dword [esi + 0x94], eax
mov dword [esi + 0x4c], 1
mov eax, dword [esi + 0x94]
cmp eax, 0x80
je 0x41bc51
cmp eax, 0x85
jne 0x41bd20
mov eax, dword [esi + 8]
movzx ecx, byte [eax + 3]
movzx eax, byte [eax + 4]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
lea eax, [ecx + ecx]
mov dword [esi + 0x90], eax
cmp eax, dword [ebp + 0x14]
jge case.0x41af1c.126
mov dword [esi + 0x54], ebx
mov eax, dword [esi + 8]
sub eax, dword [ebp + 0x70]
mov dword [esi + 0x70], eax
mov ecx, dword [esi + 0x90]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + ecx*4]
mov dword [esi + 0x9c], eax
mov ecx, dword [esi + 0x90]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + ecx*4 + 4]
mov dword [esi + 0xa0], eax
mov ecx, dword [ebp + 0x10]
sub ecx, dword [esi + 0x8c]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + ecx*4]
mov dword [esi + 0xa4], eax
mov eax, dword [ebp + 0x90]
mov dword [esi + 0x98], eax
mov ecx, dword [ebp + 0x10]
sub ecx, dword [esi + 0x8c]
mov edx, dword [esi + 4]
mov eax, dword [ebp + 0xc]
sub edx, dword [ebp + 0x74]
mov dword [eax + ecx*4], edx
cmp dword [esi + 0x94], 0x82
jl 0x41bcf6
mov dword [ebp + 0x98], 2
push 0x12c
call dword [0x3580d38]
mov edx, eax
add esp, 4
test edx, edx
je 0x41af4d
mov dword [esi + 0x128], 0x3f
jmp 0x41b0b2
mov dword [esi + 0x4c], ebx
mov dword [esi + 0x54], ebx
mov eax, dword [esi + 8]
sub eax, dword [ebp + 0x70]
mov dword [esi + 0x70], eax
cmp dword [esi + 0x94], 0x82
jl 0x41bd42
mov dword [ebp + 0x98], 2
push 0x12c
call dword [0x3580d38]
mov edx, eax
add esp, 4
test edx, edx
je 0x41af4d
mov dword [esi + 0x128], 0x30
jmp 0x41b0b2
mov edx, dword [esi + 8]
mov eax, edx
movzx ecx, byte [eax + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
sub edx, ecx
mov dword [esi + 0x30], edx
mov al, byte [edx]
cmp al, 0x82
jae 0x41bd8f
cmp al, 0x7b
je 0x41bd8f
mov dword [esi + 0x34], ebx
jmp 0x41bda0
mov eax, dword [esi + 0x14]
mov eax, dword [eax + 4]
mov dword [esi + 0x34], eax
mov eax, dword [esi + 0x14]
mov eax, dword [eax]
mov dword [esi + 0x14], eax
mov edx, dword [esi + 0x30]
mov al, byte [edx]
cmp al, 0x77
jb 0x41bdad
cmp al, 0x7a
jbe 0x41bdb1
cmp al, 0x7c
jne 0x41bdf5
mov eax, dword [esi + 4]
mov dword [ebp + 0x80], eax
mov eax, dword [esi + 0x10]
mov dword [ebp + 0x8c], eax
mov eax, dword [esi + 0xc]
lea ecx, [esp + 0x28]
mov dword [ebp + 0x7c], eax
mov eax, esi
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x41bde3
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a13c
mov edi, 1
jmp 0x425bcb
cmp al, 0x7f
je 0x41be09
cmp al, 0x84
je 0x41be09
cmp al, 0x80
je 0x41be09
cmp al, 0x85
jne 0x41bec4
movzx ecx, byte [edx + 3]
movzx eax, byte [edx + 4]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
lea eax, [ecx + ecx]
mov dword [esi + 0x90], eax
mov eax, dword [ebp + 0xa4]
test eax, eax
je 0x41be48
mov eax, dword [eax + 4]
cmp eax, dword [esi + 0x8c]
jne 0x41be48
mov eax, dword [esi + 4]
mov dword [ebp + 0x80], eax
jmp 0x41bdc3
mov eax, dword [esi + 0x8c]
mov dword [ebp + 0x90], eax
mov ecx, dword [esi + 0x90]
cmp ecx, dword [ebp + 0x14]
jl 0x41be68
mov dword [ebp + 0x3c], 1
jmp 0x41bec4
mov edx, dword [esi + 0x10]
cmp ecx, edx
jle 0x41be88
mov eax, dword [ebp + 0xc]
lea edi, [eax + edx*4]
lea ecx, [eax + ecx*4]
cmp edi, ecx
jae 0x41be88
sub ecx, edi
dec ecx
shr ecx, 2
inc ecx
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov eax, dword [ebp + 0x10]
sub eax, dword [esi + 0x8c]
mov edx, dword [ebp + 0xc]
mov ecx, dword [esi + 0x90]
mov eax, dword [edx + eax*4]
mov dword [edx + ecx*4], eax
mov eax, dword [ebp + 0xc]
mov edx, dword [esi + 4]
mov ecx, dword [esi + 0x90]
sub edx, dword [ebp + 0x74]
mov dword [eax + ecx*4 + 4], edx
mov eax, dword [esi + 0x90]
cmp dword [esi + 0x10], eax
jg 0x41bec4
add eax, 2
mov dword [esi + 0x10], eax
mov ecx, dword [esi + 8]
mov al, byte [ecx]
cmp al, 0x72
je 0x41bf95
mov edx, dword [esi + 4]
cmp edx, dword [esi + 0x34]
je 0x41bf95
cmp al, 0x75
jne 0x41bf1c
mov dword [ebp + 0x80], edx
lea ecx, [esp + 0x28]
mov eax, dword [esi + 0x10]
mov dword [ebp + 0x8c], eax
mov eax, esi
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x41bf0a
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a11c
mov edi, 0xfffffc1b
jmp 0x425bcb
cmp al, 0x74
jne 0x41bf53
push 0x12c
call dword [0x3580d38]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x41af4d
mov dword [esi + 0x128], 7
mov eax, dword [esi + 4]
mov dword [ecx + 4], eax
mov eax, dword [esi + 8]
add eax, 3
jmp 0x426fc2
mov eax, dword [esi + 0x30]
cmp byte [eax], 0x82
jb 0x41bf65
mov dword [ebp + 0x98], 2
push 0x12c
call dword [0x3580d38]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x41af4d
mov dword [esi + 0x128], 0xd
mov eax, dword [esi + 4]
mov dword [ecx + 4], eax
mov eax, dword [esi + 0x30]
jmp 0x426fc2
mov eax, dword [esi + 0x30]
cmp byte [eax], 0x7b
jne 0x41bfd0
push 0x12c
call dword [0x3580d38]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x41af4d
mov dword [esi + 0x128], 0xc
mov eax, dword [esi + 4]
mov dword [ecx + 4], eax
mov eax, dword [esi + 8]
add eax, 3
jmp 0x426fc2
lea eax, [ecx + 3]
mov dword [esi + 8], eax
jmp 0x41aeef
cmp dword [ebp + 0x40], ebx
je case.0x41af1c.1
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x74]
jne case.0x41af1c.1
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x41c002
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcb
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x74]
je 0x41c142
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x41c037
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcb
cmp dword [ebp + 0x40], ebx
je 0x41c07c
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x74]
jne 0x41c07c
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x41c06d
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcb
mov ecx, dword [esi + 4]
mov edx, dword [ebp + 0x74]
cmp ecx, edx
je 0x41c142
cmp ecx, dword [ebp + 0x78]
je 0x41c0d8
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x41c0b8
mov ebx, dword [esp + 0x14]
cmp ecx, edx
jbe 0x41c0dc
push ebx
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.0042bb00
add esp, 0x14
test eax, eax
jne 0x41c142
jmp 0x41c0dc
mov edi, dword [ebp + 0x1c]
lea eax, [edx + edi]
cmp ecx, eax
jb 0x41c0d8
sub ecx, edi
mov al, byte [ecx]
cmp al, byte [ebp + 0x2c]
jne 0x41c0d8
cmp edi, 1
je 0x41c142
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x2d]
je 0x41c142
mov ebx, dword [esp + 0x14]
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x41c0f6
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
mov eax, dword [ebp + 0x94]
add eax, dword [ebp + 0x74]
cmp dword [esi + 4], eax
je 0x41c142
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x41c12d
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcb
mov eax, dword [esi + 4]
mov dword [esi + 0xc], eax
inc dword [esi + 8]
jmp 0x41aeef
mov ecx, dword [esi + 4]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jae 0x41c1bf
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x41c175
mov ebx, dword [esp + 0x14]
lea eax, [ebp + 0x1c]
push ebx
push eax
push edx
push edi
push ecx
call fcn.0042b9b0
add esp, 0x14
test eax, eax
jne 0x41c142
jmp 0x41c196
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x41c192
mov al, byte [ecx]
cmp al, byte [ebp + 0x2c]
jne 0x41c192
cmp edi, 1
je 0x41c142
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x2d]
je 0x41c142
mov ebx, dword [esp + 0x14]
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x41c1b0
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
cmp dword [ebp + 0x44], ebx
je 0x41c1ed
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x41c1de
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcb
cmp dword [ebp + 0x88], ebx
je 0x41c142
cmp ecx, dword [ebp + 0x84]
jbe 0x41c142
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jle 0x41c142
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x41c233
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a12c
mov edi, 0xfffffff4
jmp 0x425bcb
cmp dword [ebp + 0x44], ebx
je 0x41c273
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x41c264
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcb
cmp dword [ebp + 0x54], ebx
je case.0x41af1c.23
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x78]
jae 0x41c2a9
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x41c29a
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcb
cmp dword [ebp + 0x88], ebx
je 0x41c142
cmp eax, dword [ebp + 0x84]
jmp 0x41c1ff
mov ecx, dword [esi + 4]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x41c1ed
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x41c2f1
push dword [esp + 0x14]
push edi
push eax
push edx
push ecx
call fcn.0042b9b0
add esp, 0x14
test eax, eax
jne 0x41c319
jmp 0x41c1c4
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x41c1c4
mov al, byte [ecx]
cmp al, byte [ebp + 0x2c]
jne 0x41c1c4
cmp edx, 1
je 0x41c319
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x2d]
jne 0x41c1c4
mov eax, dword [ebp + 0x78]
sub eax, dword [edi]
mov ecx, dword [esi + 4]
cmp ecx, eax
jmp 0x41c1c2
mov ebx, dword [esp + 0x14]
test ebx, ebx
je 0x41c603
mov edx, dword [esi + 4]
cmp edx, dword [ebp + 0x74]
jne 0x41c348
mov dword [esi + 0x54], 0
jmp 0x41c472
mov al, byte [edx - 1]
dec edx
and al, 0xc0
cmp al, 0x80
jne 0x41c35c
mov al, byte [edx - 1]
dec edx
and al, 0xc0
cmp al, 0x80
je 0x41c352
cmp edx, dword [ebp + 0x84]
jae 0x41c36a
mov dword [ebp + 0x84], edx
movzx ebx, byte [edx]
cmp ebx, 0xc0
jb 0x41c414
test bl, 0x20
jne 0x41c38a
movzx eax, byte [edx + 1]
and ebx, 0x1f
jmp 0x41c40c
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x41c3a4
and ebx, 0xf
shl ebx, 6
or ebx, ecx
jmp 0x41c40c
and eax, 0x3f
test bl, 8
jne 0x41c3bf
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
jmp 0x41c40c
test bl, 4
jne 0x41c3e3
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
jmp 0x41c40c
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
cmp dword [ebp + 0x50], 0
je 0x41c4d3
cmp ebx, 0x5f
jne 0x41c42c
mov dword [esi + 0x54], 1
jmp 0x41c46e
mov eax, ebx
and ebx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4879d0]
shl eax, 7
add eax, ebx
movzx eax, word [eax*2 + 0x489bd0]
movzx eax, byte [eax*8 + 0x4868f1]
mov eax, dword [eax*4 + 0x486878]
cmp eax, 1
je 0x41c4e4
cmp eax, 3
je 0x41c4e4
xor eax, eax
mov dword [esi + 0x54], eax
mov ebx, dword [esp + 0x14]
mov edi, dword [esi + 4]
cmp edi, dword [ebp + 0x78]
jb 0x41c4eb
cmp dword [ebp + 0x88], 0
je 0x41c6b1
cmp edi, dword [ebp + 0x84]
jbe 0x41c6b1
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jle 0x41c6b1
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x41c4c1
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a12c
mov edi, 0xfffffff4
jmp 0x425bcf
cmp ebx, 0x100
jae 0x41c469
mov eax, dword [ebp + 0x38]
test byte [ebx + eax], 0x10
je 0x41c469
mov eax, 1
jmp 0x41c46b
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x41c595
test dl, 0x20
jne 0x41c50b
movzx eax, byte [edi + 1]
and edx, 0x1f
jmp 0x41c58d
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x41c525
and edx, 0xf
shl edx, 6
or edx, ecx
jmp 0x41c58d
and eax, 0x3f
test dl, 8
jne 0x41c540
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x41c58d
test dl, 4
jne 0x41c564
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x41c58d
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp dword [ebp + 0x50], 0
je 0x41c5e8
cmp edx, 0x5f
jne 0x41c5ac
mov dword [esi + 0x4c], 1
jmp 0x41c6fd
mov eax, edx
and edx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4879d0]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x489bd0]
movzx eax, byte [eax*8 + 0x4868f1]
mov eax, dword [eax*4 + 0x486878]
cmp eax, 1
je 0x41c5f9
cmp eax, 3
je 0x41c5f9
xor eax, eax
jmp 0x41c6fa
cmp edx, 0x100
jae 0x41c5e1
mov eax, dword [ebp + 0x38]
test byte [edx + eax], 0x10
je 0x41c5e1
mov eax, 1
jmp 0x41c6fa
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x74]
jne 0x41c617
mov dword [esi + 0x54], 0
jmp 0x41c695
cmp eax, dword [ebp + 0x84]
ja 0x41c626
dec eax
mov dword [ebp + 0x84], eax
cmp dword [ebp + 0x50], 0
mov eax, dword [esi + 4]
je 0x41c681
movzx ecx, byte [eax - 1]
cmp ecx, 0x5f
jne 0x41c641
mov dword [esi + 0x54], 1
jmp 0x41c695
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4879d0]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x489bd0]
movzx eax, byte [eax*8 + 0x4868f1]
mov eax, dword [eax*4 + 0x486878]
cmp eax, 1
je 0x41c67a
cmp eax, 3
je 0x41c67a
xor eax, eax
jmp 0x41c692
mov eax, 1
jmp 0x41c692
movzx eax, byte [eax - 1]
mov ecx, dword [ebp + 0x38]
movzx eax, byte [eax + ecx]
shr eax, 4
and eax, 1
mov dword [esi + 0x54], eax
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x78]
jb 0x41c6ba
cmp dword [ebp + 0x88], 0
je 0x41c6b1
cmp eax, dword [ebp + 0x84]
jmp 0x41c48d
mov dword [esi + 0x4c], 0
jmp 0x41c6fd
cmp dword [ebp + 0x50], 0
je 0x41c6ea
movzx ecx, byte [eax]
cmp ecx, 0x5f
jne 0x41c6d1
mov dword [esi + 0x4c], 1
jmp 0x41c6fd
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4879d0]
shl eax, 7
add eax, ecx
jmp 0x41c5c0
movzx eax, byte [eax]
mov ecx, dword [ebp + 0x38]
movzx eax, byte [eax + ecx]
shr eax, 4
and eax, 1
mov dword [esi + 0x4c], eax
mov eax, dword [esi + 8]
mov cl, byte [eax]
inc eax
mov dword [esi + 8], eax
mov eax, dword [esi + 0x4c]
cmp cl, 5
jne 0x41c718
xor ecx, ecx
cmp eax, dword [esi + 0x54]
sete cl
jmp 0x41c720
xor ecx, ecx
cmp eax, dword [esi + 0x54]
setne cl
test ecx, ecx
je 0x41aeef
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x41c742
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
mov ecx, dword [ebp + 0x18]
test ecx, ecx
je 0x41c77c
mov edx, dword [esi + 4]
mov edi, dword [ebp + 0x78]
mov ebx, dword [esp + 0x14]
cmp edx, edi
jae 0x41c7d0
push ebx
lea eax, [ebp + 0x1c]
push eax
push edi
push ecx
push edx
call fcn.0042b9b0
add esp, 0x14
test eax, eax
jne 0x41c7a3
jmp 0x41c7d0
mov eax, dword [ebp + 0x78]
mov edx, dword [ebp + 0x1c]
sub eax, edx
mov ecx, dword [esi + 4]
cmp ecx, eax
ja case.0x41af1c.13
mov al, byte [ecx]
cmp al, byte [ebp + 0x2c]
jne case.0x41af1c.13
mov ebx, dword [esp + 0x14]
cmp edx, 1
je 0x41c7a3
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x2d]
jne 0x41c7d0
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x41c7bd
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
mov ebx, dword [esp + 0x14]
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x78]
jb 0x41c826
cmp dword [ebp + 0x88], 0
je 0x41c7fd
cmp eax, dword [ebp + 0x84]
jbe 0x41c7fd
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x41c817
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
inc eax
mov dword [esi + 4], eax
test ebx, ebx
je 0x41c142
cmp eax, dword [ebp + 0x78]
jae 0x41c142
jmp 0x41c840
mov ecx, dword [esi + 4]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x41c142
lea eax, [ecx + 1]
mov dword [esi + 4], eax
cmp eax, dword [ebp + 0x78]
jb 0x41c840
inc dword [esi + 8]
jmp 0x41aeef
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x78]
jb 0x41c8b7
cmp dword [ebp + 0x88], ebx
je 0x41c88e
cmp eax, dword [ebp + 0x84]
jbe 0x41c88e
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c219
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x41c8a8
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcb
inc eax
mov dword [esi + 4], eax
inc dword [esi + 8]
jmp 0x41aeef
mov edi, dword [esi + 4]
cmp edi, dword [ebp + 0x78]
jb 0x41c918
cmp dword [ebp + 0x88], ebx
je 0x41c8ef
cmp edi, dword [ebp + 0x84]
jbe 0x41c8ef
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c219
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x41c909
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcb
movzx edx, byte [edi]
inc edi
mov ebx, dword [esp + 0x14]
mov dword [esi + 4], edi
test ebx, ebx
je 0x41ca15
cmp edx, 0xc0
jb 0x41ca15
movzx eax, byte [edi]
and eax, 0x3f
test dl, 0x20
jne 0x41c952
and edx, 0x1f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x41ca12
test dl, 0x10
jne 0x41c974
and edx, 0xf
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
add dword [esi + 4], 2
jmp 0x41ca15
mov ecx, dword [esi + 4]
test dl, 8
jne 0x41c9a1
and edx, 7
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 3]
jmp 0x41ca12
test dl, 4
jne 0x41c9d7
and edx, 3
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 4]
jmp 0x41ca12
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [esi + 4], eax
cmp edx, 0x100
jae 0x41c142
mov eax, dword [ebp + 0x38]
test byte [edx + eax], 4
je 0x41c142
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x41ca48
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
mov edi, dword [esi + 4]
cmp edi, dword [ebp + 0x78]
jb 0x41caac
cmp dword [ebp + 0x88], ebx
je 0x41ca83
cmp edi, dword [ebp + 0x84]
jbe 0x41ca83
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c219
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x41ca9d
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcb
movzx edx, byte [edi]
inc edi
mov ebx, dword [esp + 0x14]
mov dword [esi + 4], edi
test ebx, ebx
je 0x41cba9
cmp edx, 0xc0
jb 0x41cba9
movzx eax, byte [edi]
and eax, 0x3f
test dl, 0x20
jne 0x41cae6
and edx, 0x1f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x41cba6
test dl, 0x10
jne 0x41cb08
and edx, 0xf
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
add dword [esi + 4], 2
jmp 0x41cba9
mov ecx, dword [esi + 4]
test dl, 8
jne 0x41cb35
and edx, 7
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 3]
jmp 0x41cba6
test dl, 4
jne 0x41cb6b
and edx, 3
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 4]
jmp 0x41cba6
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [esi + 4], eax
cmp edx, 0xff
ja 0x41cbc2
mov eax, dword [ebp + 0x38]
test byte [edx + eax], 4
je 0x41cbc2
inc dword [esi + 8]
jmp 0x41aeef
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x41cbdc
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
mov edi, dword [esi + 4]
cmp edi, dword [ebp + 0x78]
jb 0x41cc40
cmp dword [ebp + 0x88], ebx
je 0x41cc17
cmp edi, dword [ebp + 0x84]
jbe 0x41cc17
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c219
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x41cc31
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcb
movzx edx, byte [edi]
inc edi
mov ebx, dword [esp + 0x14]
mov dword [esi + 4], edi
test ebx, ebx
je 0x41cd3d
cmp edx, 0xc0
jb 0x41cd3d
movzx eax, byte [edi]
and eax, 0x3f
test dl, 0x20
jne 0x41cc7a
and edx, 0x1f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x41cd3a
test dl, 0x10
jne 0x41cc9c
and edx, 0xf
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
add dword [esi + 4], 2
jmp 0x41cd3d
mov ecx, dword [esi + 4]
test dl, 8
jne 0x41ccc9
and edx, 7
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 3]
jmp 0x41cd3a
test dl, 4
jne 0x41ccff
and edx, 3
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 4]
jmp 0x41cd3a
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [esi + 4], eax
cmp edx, 0x100
jae 0x41c142
mov eax, dword [ebp + 0x38]
test byte [edx + eax], 1
je 0x41c142
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x41cd70
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
mov edi, dword [esi + 4]
cmp edi, dword [ebp + 0x78]
jb 0x41cdd4
cmp dword [ebp + 0x88], ebx
je 0x41cdab
cmp edi, dword [ebp + 0x84]
jbe 0x41cdab
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c219
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x41cdc5
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcb
movzx edx, byte [edi]
inc edi
mov ebx, dword [esp + 0x14]
mov dword [esi + 4], edi
test ebx, ebx
je 0x41ced1
cmp edx, 0xc0
jb 0x41ced1
movzx eax, byte [edi]
and eax, 0x3f
test dl, 0x20
jne 0x41ce0e
and edx, 0x1f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x41cece
test dl, 0x10
jne 0x41ce30
and edx, 0xf
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
add dword [esi + 4], 2
jmp 0x41ced1
mov ecx, dword [esi + 4]
test dl, 8
jne 0x41ce5d
and edx, 7
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 3]
jmp 0x41cece
test dl, 4
jne 0x41ce93
and edx, 3
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 4]
jmp 0x41cece
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [esi + 4], eax
cmp edx, 0xff
ja 0x41ceea
mov eax, dword [ebp + 0x38]
test byte [edx + eax], 1
je 0x41ceea
inc dword [esi + 8]
jmp 0x41aeef
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x41cf04
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
mov edi, dword [esi + 4]
cmp edi, dword [ebp + 0x78]
jb 0x41cf68
cmp dword [ebp + 0x88], ebx
je 0x41cf3f
cmp edi, dword [ebp + 0x84]
jbe 0x41cf3f
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c219
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x41cf59
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcb
movzx edx, byte [edi]
inc edi
mov ebx, dword [esp + 0x14]
mov dword [esi + 4], edi
test ebx, ebx
je 0x41d065
cmp edx, 0xc0
jb 0x41d065
movzx eax, byte [edi]
and eax, 0x3f
test dl, 0x20
jne 0x41cfa2
and edx, 0x1f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x41d062
test dl, 0x10
jne 0x41cfc4
and edx, 0xf
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
add dword [esi + 4], 2
jmp 0x41d065
mov ecx, dword [esi + 4]
test dl, 8
jne 0x41cff1
and edx, 7
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 3]
jmp 0x41d062
test dl, 4
jne 0x41d027
and edx, 3
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 4]
jmp 0x41d062
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [esi + 4], eax
cmp edx, 0x100
jae 0x41c142
mov eax, dword [ebp + 0x38]
test byte [edx + eax], 0x10
je 0x41c142
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x41d098
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
mov edi, dword [esi + 4]
cmp edi, dword [ebp + 0x78]
jb 0x41d0fc
cmp dword [ebp + 0x88], ebx
je 0x41d0d3
cmp edi, dword [ebp + 0x84]
jbe 0x41d0d3
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c219
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x41d0ed
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcb
movzx edx, byte [edi]
inc edi
mov ebx, dword [esp + 0x14]
mov dword [esi + 4], edi
test ebx, ebx
je 0x41d1f9
cmp edx, 0xc0
jb 0x41d1f9
movzx eax, byte [edi]
and eax, 0x3f
test dl, 0x20
jne 0x41d136
and edx, 0x1f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x41d1f6
test dl, 0x10
jne 0x41d158
and edx, 0xf
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
add dword [esi + 4], 2
jmp 0x41d1f9
mov ecx, dword [esi + 4]
test dl, 8
jne 0x41d185
and edx, 7
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 3]
jmp 0x41d1f6
test dl, 4
jne 0x41d1bb
and edx, 3
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 4]
jmp 0x41d1f6
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [esi + 4], eax
cmp edx, 0xff
ja 0x41d212
mov eax, dword [ebp + 0x38]
test byte [edx + eax], 0x10
je 0x41d212
inc dword [esi + 8]
jmp 0x41aeef
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x41d22c
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
mov edi, dword [esi + 4]
cmp edi, dword [ebp + 0x78]
jb 0x41d290
cmp dword [ebp + 0x88], ebx
je 0x41d267
cmp edi, dword [ebp + 0x84]
jbe 0x41d267
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c219
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x41d281
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcb
movzx edx, byte [edi]
inc edi
mov ebx, dword [esp + 0x14]
mov dword [esi + 4], edi
test ebx, ebx
je 0x41d38d
cmp edx, 0xc0
jb 0x41d38d
movzx eax, byte [edi]
and eax, 0x3f
test dl, 0x20
jne 0x41d2ca
and edx, 0x1f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x41d38a
test dl, 0x10
jne 0x41d2ec
and edx, 0xf
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
add dword [esi + 4], 2
jmp 0x41d38d
mov ecx, dword [esi + 4]
test dl, 8
jne 0x41d319
and edx, 7
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 3]
jmp 0x41d38a
test dl, 4
jne 0x41d34f
and edx, 3
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 4]
jmp 0x41d38a
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [esi + 4], eax
cmp edx, 0xd
ja 0x41d3c5
je 0x41d3a4
cmp edx, 0xa
je 0x41c142
jbe 0x41d3dd
cmp edx, 0xc
jmp 0x41d3db
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x78]
jae 0x41c142
cmp byte [eax], 0xa
jne 0x41c142
inc eax
mov dword [esi + 4], eax
inc dword [esi + 8]
jmp 0x41aeef
cmp edx, 0x85
je 0x41d406
cmp edx, 0x2027
jbe 0x41d3dd
cmp edx, 0x2029
jbe 0x41d406
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x41d3f7
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
cmp dword [ebp + 0x64], 0
je 0x41c142
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x41d42a
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
mov edi, dword [esi + 4]
cmp edi, dword [ebp + 0x78]
jb 0x41d48e
cmp dword [ebp + 0x88], ebx
je 0x41d465
cmp edi, dword [ebp + 0x84]
jbe 0x41d465
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c219
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x41d47f
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcb
movzx edx, byte [edi]
inc edi
mov ebx, dword [esp + 0x14]
mov dword [esi + 4], edi
test ebx, ebx
je 0x41d58b
cmp edx, 0xc0
jb 0x41d58b
movzx eax, byte [edi]
and eax, 0x3f
test dl, 0x20
jne 0x41d4c8
and edx, 0x1f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x41d588
test dl, 0x10
jne 0x41d4ea
and edx, 0xf
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
add dword [esi + 4], 2
jmp 0x41d58b
mov ecx, dword [esi + 4]
test dl, 8
jne 0x41d517
and edx, 7
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 3]
jmp 0x41d588
test dl, 4
jne 0x41d54d
and edx, 3
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 4]
jmp 0x41d588
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [esi + 4], eax
cmp edx, 0x180e
ja 0x41d5e6
je 0x41d5ad
cmp edx, 0xa0
ja 0x41d5d6
je 0x41d5ad
cmp edx, 9
je 0x41d5ad
cmp edx, 0x20
jne 0x41c142
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x41d5c7
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
cmp edx, 0x1680
je 0x41d5ad
inc dword [esi + 8]
jmp 0x41aeef
cmp edx, 0x205f
ja 0x41d614
je 0x41d5ad
cmp edx, 0x2000
jb 0x41c142
cmp edx, 0x200a
jbe 0x41d5ad
cmp edx, 0x202f
je 0x41d5ad
inc dword [esi + 8]
jmp 0x41aeef
cmp edx, 0x3000
je 0x41d5ad
inc dword [esi + 8]
jmp 0x41aeef
mov edi, dword [esi + 4]
cmp edi, dword [ebp + 0x78]
jb 0x41d679
cmp dword [ebp + 0x88], ebx
je 0x41d650
cmp edi, dword [ebp + 0x84]
jbe 0x41d650
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c219
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x41d66a
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcb
movzx edx, byte [edi]
inc edi
mov ebx, dword [esp + 0x14]
mov dword [esi + 4], edi
test ebx, ebx
je 0x41d776
cmp edx, 0xc0
jb 0x41d776
movzx eax, byte [edi]
and eax, 0x3f
test dl, 0x20
jne 0x41d6b3
and edx, 0x1f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x41d773
test dl, 0x10
jne 0x41d6d5
and edx, 0xf
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
add dword [esi + 4], 2
jmp 0x41d776
mov ecx, dword [esi + 4]
test dl, 8
jne 0x41d702
and edx, 7
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 3]
jmp 0x41d773
test dl, 4
jne 0x41d738
and edx, 3
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 4]
jmp 0x41d773
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [esi + 4], eax
cmp edx, 0x180e
ja 0x41d7a8
je 0x41c142
cmp edx, 0xa0
ja 0x41d7a0
je 0x41c142
cmp edx, 9
je 0x41c142
cmp edx, 0x20
jmp 0x41d7d8
cmp edx, 0x1680
jmp 0x41d7d8
cmp edx, 0x205f
ja 0x41d7d2
je 0x41c142
cmp edx, 0x2000
jb 0x41d7de
cmp edx, 0x200a
jbe 0x41c142
cmp edx, 0x202f
jmp 0x41d7d8
cmp edx, 0x3000
je 0x41c142
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x41d7f8
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
mov edi, dword [esi + 4]
cmp edi, dword [ebp + 0x78]
jb 0x41d85c
cmp dword [ebp + 0x88], ebx
je 0x41d833
cmp edi, dword [ebp + 0x84]
jbe 0x41d833
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c219
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x41d84d
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcb
movzx edx, byte [edi]
inc edi
mov ebx, dword [esp + 0x14]
mov dword [esi + 4], edi
test ebx, ebx
je 0x41d959
cmp edx, 0xc0
jb 0x41d959
movzx eax, byte [edi]
and eax, 0x3f
test dl, 0x20
jne 0x41d896
and edx, 0x1f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x41d956
test dl, 0x10
jne 0x41d8b8
and edx, 0xf
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
add dword [esi + 4], 2
jmp 0x41d959
mov ecx, dword [esi + 4]
test dl, 8
jne 0x41d8e5
and edx, 7
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 3]
jmp 0x41d956
test dl, 4
jne 0x41d91b
and edx, 3
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 4]
jmp 0x41d956
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [esi + 4], eax
cmp edx, 0x85
ja 0x41d979
je 0x41d988
cmp edx, 0xa
jb 0x41c142
cmp edx, 0xd
jbe 0x41d988
inc dword [esi + 8]
jmp 0x41aeef
lea eax, [edx - 0x2028]
cmp eax, 1
ja 0x41c142
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x41d9a2
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
mov edi, dword [esi + 4]
cmp edi, dword [ebp + 0x78]
jb 0x41da06
cmp dword [ebp + 0x88], ebx
je 0x41d9dd
cmp edi, dword [ebp + 0x84]
jbe 0x41d9dd
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c219
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x41d9f7
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcb
movzx edx, byte [edi]
inc edi
mov ebx, dword [esp + 0x14]
mov dword [esi + 4], edi
test ebx, ebx
je 0x41db03
cmp edx, 0xc0
jb 0x41db03
movzx eax, byte [edi]
and eax, 0x3f
test dl, 0x20
jne 0x41da40
and edx, 0x1f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x41db00
test dl, 0x10
jne 0x41da62
and edx, 0xf
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
add dword [esi + 4], 2
jmp 0x41db03
mov ecx, dword [esi + 4]
test dl, 8
jne 0x41da8f
and edx, 7
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 3]
jmp 0x41db00
test dl, 4
jne 0x41dac5
and edx, 3
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 4]
jmp 0x41db00
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [esi + 4], eax
cmp edx, 0x85
ja 0x41db48
je 0x41c142
cmp edx, 0xa
jb 0x41db1f
cmp edx, 0xd
jbe 0x41c142
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x41db39
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
lea eax, [edx - 0x2028]
cmp eax, 1
ja 0x41db1f
inc dword [esi + 8]
jmp 0x41aeef
mov edi, dword [esi + 4]
cmp edi, dword [ebp + 0x78]
jb 0x41dbb0
cmp dword [ebp + 0x88], ebx
je 0x41db87
cmp edi, dword [ebp + 0x84]
jbe 0x41db87
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c219
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x41dba1
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcb
movzx edx, byte [edi]
inc edi
mov ebx, dword [esp + 0x14]
mov dword [esi + 4], edi
test ebx, ebx
je 0x41dcad
cmp edx, 0xc0
jb 0x41dcad
movzx eax, byte [edi]
and eax, 0x3f
test dl, 0x20
jne 0x41dbea
and edx, 0x1f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x41dcaa
test dl, 0x10
jne 0x41dc0c
and edx, 0xf
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
add dword [esi + 4], 2
jmp 0x41dcad
mov ecx, dword [esi + 4]
test dl, 8
jne 0x41dc39
and edx, 7
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 3]
jmp 0x41dcaa
test dl, 4
jne 0x41dc6f
and edx, 3
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 4]
jmp 0x41dcaa
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [esi + 4], eax
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4879d0]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
mov eax, dword [esi + 8]
movzx eax, byte [eax + 1]
movzx edi, word [ecx*2 + 0x489bd0]
cmp eax, 8
ja case.0x428373.15
jmp dword [eax*4 + 0x42a3c4]
cmp dword [esi + 0x94], 0xf
jne 0x41b7a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x41dd09
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
mov al, byte [edi*8 + 0x4868f1]
cmp al, 9
je 0x41dd2f
cmp al, 5
je 0x41dd2f
cmp al, 8
je 0x41dd2f
xor ecx, ecx
jmp 0x41dd34
mov ecx, 1
xor eax, eax
cmp dword [esi + 0x94], 0xf
sete al
cmp ecx, eax
jne 0x41b7a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x41dd62
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
mov eax, dword [esi + 8]
xor edx, edx
movzx ecx, byte [edi*8 + 0x4868f1]
movzx eax, byte [eax + 2]
cmp eax, dword [ecx*4 + 0x486878]
setne dl
xor eax, eax
cmp dword [esi + 0x94], 0x10
sete al
cmp edx, eax
jne 0x41b7a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x41ddba
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
mov eax, dword [esi + 8]
xor ecx, ecx
mov al, byte [eax + 2]
cmp al, byte [edi*8 + 0x4868f1]
setne cl
xor eax, eax
cmp dword [esi + 0x94], 0x10
sete al
cmp ecx, eax
jne 0x41b7a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x41de09
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
mov eax, dword [esi + 8]
xor ecx, ecx
mov al, byte [eax + 2]
cmp al, byte [edi*8 + 0x4868f0]
setne cl
xor eax, eax
cmp dword [esi + 0x94], 0x10
sete al
cmp ecx, eax
jne 0x41b7a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x41de58
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
movzx eax, byte [edi*8 + 0x4868f1]
mov eax, dword [eax*4 + 0x486878]
cmp eax, 1
je 0x41de84
cmp eax, 3
je 0x41de84
xor ecx, ecx
jmp 0x41de89
mov ecx, 1
xor eax, eax
cmp dword [esi + 0x94], 0xf
sete al
cmp ecx, eax
jne 0x41b7a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x41deb7
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
movzx eax, byte [edi*8 + 0x4868f1]
cmp dword [eax*4 + 0x486878], 6
je 0x41def0
cmp edx, 9
je 0x41def0
cmp edx, 0xa
je 0x41def0
cmp edx, 0xc
je 0x41def0
cmp edx, 0xd
je 0x41def0
xor ecx, ecx
jmp 0x41def5
mov ecx, 1
xor eax, eax
cmp dword [esi + 0x94], 0xf
sete al
cmp ecx, eax
jne 0x41b7a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x41df23
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
movzx eax, byte [edi*8 + 0x4868f1]
cmp dword [eax*4 + 0x486878], 6
je 0x41df61
cmp edx, 9
je 0x41df61
cmp edx, 0xa
je 0x41df61
cmp edx, 0xb
je 0x41df61
cmp edx, 0xc
je 0x41df61
cmp edx, 0xd
je 0x41df61
xor ecx, ecx
jmp 0x41df66
mov ecx, 1
xor eax, eax
cmp dword [esi + 0x94], 0xf
sete al
cmp ecx, eax
jne 0x41b7a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x41df94
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
movzx eax, byte [edi*8 + 0x4868f1]
mov eax, dword [eax*4 + 0x486878]
cmp eax, 1
je 0x41dfc5
cmp eax, 3
je 0x41dfc5
cmp edx, 0x5f
je 0x41dfc5
xor ecx, ecx
jmp 0x41dfca
mov ecx, 1
xor eax, eax
cmp dword [esi + 0x94], 0xf
sete al
cmp ecx, eax
jne 0x41b7a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x41dff8
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x41e021
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a1bf
mov edi, 0xfffffff2
jmp 0x425bcf
mov edi, dword [esi + 4]
cmp edi, dword [ebp + 0x78]
jb 0x41e088
cmp dword [ebp + 0x88], ebx
je 0x41e05f
cmp edi, dword [ebp + 0x84]
jbe 0x41e05f
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c219
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x41e079
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcb
movzx edx, byte [edi]
inc edi
mov ebx, dword [esp + 0x14]
mov dword [esi + 4], edi
test ebx, ebx
je 0x41e185
cmp edx, 0xc0
jb 0x41e185
movzx eax, byte [edi]
and eax, 0x3f
test dl, 0x20
jne 0x41e0c2
and edx, 0x1f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x41e182
test dl, 0x10
jne 0x41e0e4
and edx, 0xf
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
add dword [esi + 4], 2
jmp 0x41e185
mov ecx, dword [esi + 4]
test dl, 8
jne 0x41e111
and edx, 7
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 3]
jmp 0x41e182
test dl, 4
jne 0x41e147
and edx, 3
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 4]
jmp 0x41e182
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [esi + 4], eax
mov eax, edx
and edx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4879d0]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x489bd0]
movzx eax, byte [eax*8 + 0x4868f1]
cmp dword [eax*4 + 0x486878], 2
jne 0x41e1dc
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x41e1cd
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x78]
jae 0x41c142
jmp 0x41e1f0
mov eax, dword [esi + 4]
mov ecx, 1
movzx edx, byte [eax]
test ebx, ebx
je 0x41e2f1
cmp edx, 0xc0
jb 0x41e2f1
test dl, 0x20
jne 0x41e225
movzx eax, byte [eax + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x41e2e9
test dl, 0x10
jne 0x41e24a
movzx ecx, byte [eax + 1]
and edx, 0xf
mov eax, dword [esi + 4]
and ecx, 0x3f
shl edx, 6
or edx, ecx
mov ecx, 3
movzx eax, byte [eax + 2]
jmp 0x41e2e9
test dl, 8
jne 0x41e278
movzx ecx, byte [eax + 1]
and edx, 7
mov eax, dword [esi + 4]
and ecx, 0x3f
shl edx, 6
or ecx, edx
shl ecx, 6
movzx edx, byte [eax + 2]
movzx eax, byte [eax + 3]
and edx, 0x3f
or edx, ecx
mov ecx, 4
jmp 0x41e2e9
movzx eax, byte [eax + 1]
and eax, 0x3f
test dl, 4
jne 0x41e2b2
mov ecx, dword [esi + 4]
and edx, 3
shl edx, 6
or eax, edx
shl eax, 6
movzx edx, byte [ecx + 2]
and edx, 0x3f
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
mov ecx, 5
jmp 0x41e2e9
and edx, ecx
mov ecx, dword [esi + 4]
shl edx, 6
or eax, edx
shl eax, 6
movzx edx, byte [ecx + 2]
and edx, 0x3f
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 5]
mov ecx, 6
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edx
and edx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4879d0]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x489bd0]
movzx eax, byte [eax*8 + 0x4868f1]
cmp dword [eax*4 + 0x486878], 2
jne 0x41c142
add dword [esi + 4], ecx
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x78]
jb 0x41e1f0
inc dword [esi + 8]
jmp 0x41aeef
xor eax, eax
cmp edx, 0x6e
sete al
mov dword [esp + 0x154], eax
mov eax, dword [esi + 8]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add ecx, ecx
mov dword [esi + 0x90], ecx
add dword [esi + 8], 3
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x10]
jge 0x41e382
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*4]
test ecx, ecx
js 0x41e382
mov eax, dword [eax + edx*4 + 4]
sub eax, ecx
jmp 0x41e38c
mov eax, dword [ebp + 0x4c]
neg eax
sbb eax, eax
neg eax
dec eax
mov dword [esi + 0x80], eax
mov edx, dword [esi + 8]
mov bl, byte [edx]
movzx ecx, bl
lea eax, [ecx - 0x62]
cmp eax, 7
ja case.default.0x41e3ad
movzx eax, byte [eax + 0x42a3f0]
jmp dword [eax*4 + 0x42a3e8]
lea eax, [edx + 1]
mov dword [esi + 8], eax
lea ebx, [ecx - 0x62]
movsx eax, byte [ecx + 0x485f96]
and ebx, 1
mov dword [esi + 0x88], eax
movsx eax, byte [ecx + 0x485f9e]
mov dword [esp + 0x20], ebx
mov dword [esi + 0x84], eax
test eax, eax
jne 0x41e433
mov dword [esi + 0x84], 0x7fffffff
jmp 0x41e433
movzx ecx, byte [edx + 1]
xor eax, eax
cmp bl, 0x69
sete al
shl ecx, 8
mov dword [esp + 0x20], eax
movzx eax, byte [edx + 2]
or ecx, eax
mov dword [esi + 0x88], ecx
mov eax, dword [esi + 8]
movzx ecx, byte [eax + 3]
movzx eax, byte [eax + 4]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x84], ecx
jne 0x41e42f
mov dword [esi + 0x84], 0x7fffffff
add dword [esi + 8], 5
mov eax, dword [esi + 0x80]
test eax, eax
je 0x41aeef
jns 0x41e450
cmp dword [esi + 0x88], 0
je 0x41aeef
mov edi, 1
cmp dword [esi + 0x88], edi
jl 0x41e492
lea ecx, [ecx]
push dword [esp + 0x154]
mov ebx, dword [esi + 4]
push ebp
push dword [esi + 0x80]
push ebx
push dword [esi + 0x90]
call fcn.0042a830
add esp, 0x14
test eax, eax
js 0x41e4b3
add eax, ebx
inc edi
mov dword [esi + 4], eax
cmp edi, dword [esi + 0x88]
jle 0x41e460
mov eax, dword [esi + 0x88]
cmp eax, dword [esi + 0x84]
je 0x41aeef
cmp dword [esp + 0x20], 0
je 0x41e509
mov dword [esi + 0x7c], eax
jmp 0x426464
cmp dword [ebp + 0x88], 0
je 0x41e4e0
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x78]
jb 0x41e4e0
cmp eax, dword [ebp + 0x84]
jbe 0x41e4e0
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c219
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x41e4fa
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcb
mov eax, dword [esi + 4]
mov dword [esi + 0x2c], eax
mov edi, dword [esi + 0x88]
jmp 0x41e520
cmp edi, dword [esi + 0x84]
jge 0x42649c
push dword [esp + 0x154]
mov ebx, dword [esi + 4]
push ebp
push dword [esi + 0x80]
push ebx
push dword [esi + 0x90]
call fcn.0042a830
add esp, 0x14
test eax, eax
js 0x41e558
add eax, ebx
inc edi
mov dword [esi + 4], eax
jmp 0x41e520
cmp dword [ebp + 0x88], 0
je 0x42649c
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x78]
jb 0x42649c
cmp eax, dword [ebp + 0x84]
jbe 0x42649c
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jle 0x42649c
jmp 0x41c219
push dword [esp + 0x154]
push ebp
push dword [esi + 0x80]
push dword [esi + 4]
push dword [esi + 0x90]
call fcn.0042a830
add esp, 0x14
mov dword [esi + 0x80], eax
test eax, eax
jns 0x41e615
cmp dword [ebp + 0x88], 0
je 0x41e5ec
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x78]
jb 0x41e5ec
cmp eax, dword [ebp + 0x84]
jbe 0x41e5ec
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c219
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x41e606
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcb
add dword [esi + 4], eax
jmp 0x41aeef
mov eax, dword [esi + 8]
inc eax
mov dword [esi + 0x24], eax
add dword [esi + 8], 0x21
mov edx, dword [esi + 8]
mov bl, byte [edx]
movzx ecx, bl
lea eax, [ecx - 0x62]
cmp eax, 7
ja case.default.0x41e643
movzx eax, byte [eax + 0x42a400]
jmp dword [eax*4 + 0x42a3f8]
lea eax, [edx + 1]
mov dword [esi + 8], eax
lea ebx, [ecx - 0x62]
movsx eax, byte [ecx + 0x485f96]
and ebx, 1
mov dword [esi + 0x88], eax
movsx eax, byte [ecx + 0x485f9e]
mov dword [esp + 0x18], ebx
mov dword [esi + 0x84], eax
test eax, eax
jne 0x41e6df
mov dword [esi + 0x84], 0x7fffffff
jmp 0x41e6df
movzx ecx, byte [edx + 1]
xor eax, eax
cmp bl, 0x69
sete al
shl ecx, 8
mov dword [esp + 0x18], eax
movzx eax, byte [edx + 2]
or ecx, eax
mov dword [esi + 0x88], ecx
mov eax, dword [esi + 8]
movzx ecx, byte [eax + 3]
movzx eax, byte [eax + 4]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x84], ecx
jne 0x41e6c5
mov dword [esi + 0x84], 0x7fffffff
add dword [esi + 8], 5
jmp 0x41e6df
mov dword [esi + 0x84], 1
mov dword [esi + 0x88], 1
mov ebx, dword [esp + 0x14]
test ebx, ebx
je 0x41e903
mov edi, 1
cmp dword [esi + 0x88], edi
jl 0x41e85b
lea esp, [esp]
mov ecx, dword [esi + 4]
cmp ecx, dword [ebp + 0x78]
jae 0x41e8b2
movzx ebx, byte [ecx]
inc ecx
mov dword [esi + 4], ecx
cmp ebx, 0xc0
jb 0x41e7f9
movzx eax, byte [ecx]
and eax, 0x3f
test bl, 0x20
jne 0x41e73a
and ebx, 0x1f
shl ebx, 6
or ebx, eax
lea eax, [ecx + 1]
jmp 0x41e7f6
test bl, 0x10
jne 0x41e75b
and ebx, 0xf
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 1]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [ecx + 2]
jmp 0x41e7f6
test bl, 8
jne 0x41e785
and ebx, 7
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 1]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [ecx + 3]
jmp 0x41e7f6
test bl, 4
jne 0x41e7bb
and ebx, 3
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 1]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [ecx + 4]
jmp 0x41e7f6
and ebx, 1
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 1]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [ecx + 5]
mov dword [esi + 4], eax
cmp ebx, 0xff
jbe 0x41e833
cmp dword [esi + 0x94], 0x6a
jne 0x41e84a
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x41e824
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcb
mov eax, dword [esi + 0x24]
mov ecx, ebx
and ecx, 7
shr ebx, 3
mov edx, 1
shl edx, cl
test byte [ebx + eax], dl
je 0x41e889
inc edi
cmp edi, dword [esi + 0x88]
jle 0x41e700
mov ebx, dword [esp + 0x14]
mov eax, dword [esi + 0x88]
cmp eax, dword [esi + 0x84]
je 0x41aeef
mov edi, dword [esp + 0x18]
test edi, edi
je 0x41e9c2
test ebx, ebx
jne 0x429f92
mov dword [esi + 0x7c], eax
jmp 0x4265d0
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x41e8a3
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcb
cmp dword [ebp + 0x88], 0
je 0x41e8da
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x41e8da
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c219
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x41e8f4
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcb
mov ebx, 1
cmp dword [esi + 0x88], ebx
jl 0x41e857
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x78]
jae 0x41e971
movzx edi, byte [eax]
mov edx, 1
inc eax
mov ecx, edi
mov dword [esi + 4], eax
and ecx, 7
mov eax, dword [esi + 0x24]
shr edi, 3
shl edx, cl
test byte [edi + eax], dl
je 0x41e948
inc ebx
cmp ebx, dword [esi + 0x88]
jle 0x41e914
jmp 0x41e857
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x41e962
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcb
cmp dword [ebp + 0x88], 0
je 0x41e999
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x41e999
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c219
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x41e9b3
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcb
mov eax, dword [esi + 4]
mov dword [esi + 0x2c], eax
mov eax, dword [esi + 0x88]
mov dword [esp + 0x20], eax
test ebx, ebx
je 0x41eb50
lea ebx, [ebx]
cmp eax, dword [esi + 0x84]
jge 0x4278ac
mov edi, dword [esi + 4]
mov dword [esp + 0x18], 1
cmp edi, dword [ebp + 0x78]
jae 0x41eb18
movzx ebx, byte [edi]
cmp ebx, 0xc0
jb 0x41ead5
test bl, 0x20
jne 0x41ea28
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov dword [esp + 0x18], 2
jmp 0x41eacd
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x41ea4d
and ebx, 0xf
mov dword [esp + 0x18], 3
shl ebx, 6
or ebx, ecx
jmp 0x41eacd
and eax, 0x3f
test bl, 8
jne 0x41ea70
and ebx, 7
mov dword [esp + 0x18], 4
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x41eacd
test bl, 4
jne 0x41ea9c
and ebx, 3
mov dword [esp + 0x18], 5
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
jmp 0x41eacd
and ebx, 1
mov dword [esp + 0x18], 6
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
cmp ebx, 0xff
jbe 0x41eae6
cmp dword [esi + 0x94], 0x6a
jmp 0x41eafb
mov eax, dword [esi + 0x24]
mov ecx, ebx
and ecx, 7
shr ebx, 3
mov edx, 1
shl edx, cl
test byte [ebx + eax], dl
je 0x4278ac
mov eax, dword [esp + 0x18]
add eax, edi
mov dword [esi + 4], eax
mov eax, dword [esp + 0x20]
inc eax
mov dword [esp + 0x20], eax
jmp 0x41e9e0
cmp dword [ebp + 0x88], 0
je 0x4278ac
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x4278ac
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jle 0x4278ac
jmp 0x41c219
cmp eax, dword [esi + 0x84]
jge 0x426602
mov ebx, dword [esi + 4]
cmp ebx, dword [ebp + 0x78]
jae 0x41eb93
movzx edi, byte [ebx]
mov edx, 1
mov eax, dword [esi + 0x24]
mov ecx, edi
and ecx, 7
shr edi, 3
shl edx, cl
test byte [edi + eax], dl
je 0x426602
lea eax, [ebx + 1]
mov dword [esi + 4], eax
mov eax, dword [esp + 0x20]
inc eax
mov dword [esp + 0x20], eax
jmp 0x41eb50
cmp dword [ebp + 0x88], 0
je 0x426602
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x426602
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jle 0x426602
jmp 0x41c219
mov eax, dword [esi + 8]
add eax, 3
mov dword [esi + 0x24], eax
mov edx, dword [esi + 8]
mov eax, edx
movzx ecx, byte [eax + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 8], edx
mov bl, byte [edx]
movzx ecx, bl
lea eax, [ecx - 0x62]
cmp eax, 7
ja case.default.0x41ec00
movzx eax, byte [eax + 0x42a410]
jmp dword [eax*4 + 0x42a408]
lea eax, [edx + 1]
mov dword [esi + 8], eax
lea ebx, [ecx - 0x62]
movsx eax, byte [ecx + 0x485f96]
and ebx, 1
mov dword [esi + 0x88], eax
movsx eax, byte [ecx + 0x485f9e]
mov dword [esi + 0x84], eax
test eax, eax
jne 0x41ec9a
mov dword [esi + 0x84], 0x7fffffff
jmp 0x41ec9a
movzx ecx, byte [edx + 1]
xor edi, edi
movzx eax, byte [edx + 2]
cmp bl, 0x69
mov ebx, edi
sete bl
shl ecx, 8
or ecx, eax
mov dword [esi + 0x88], ecx
mov eax, dword [esi + 8]
movzx ecx, byte [eax + 3]
movzx eax, byte [eax + 4]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x84], ecx
jne 0x41ec7c
mov dword [esi + 0x84], 0x7fffffff
add dword [esi + 8], 5
jmp 0x41ec9a
mov ebx, dword [esp + 0x18]
mov dword [esi + 0x84], 1
mov dword [esi + 0x88], 1
mov edi, 1
cmp dword [esi + 0x88], edi
jl 0x41edd9
jmp 0x41ecb0
mov edx, dword [esi + 4]
cmp edx, dword [ebp + 0x78]
jae 0x41ee7d
movzx ecx, byte [edx]
inc edx
cmp dword [esp + 0x14], 0
mov dword [esi + 4], edx
je 0x41edb4
cmp ecx, 0xc0
jb 0x41edb4
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x41ecf5
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x41edb1
test cl, 0x10
jne 0x41ed16
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x41edb1
test cl, 8
jne 0x41ed40
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x41edb1
test cl, 4
jne 0x41ed76
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x41edb1
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov dword [esi + 4], eax
push dword [esp + 0x14]
push dword [esi + 0x24]
push ecx
call fcn.0042c030
add esp, 0xc
test eax, eax
je 0x41ee54
inc edi
cmp edi, dword [esi + 0x88]
jle 0x41ecb0
mov eax, dword [esi + 0x88]
cmp eax, dword [esi + 0x84]
je 0x41aeef
test ebx, ebx
jne 0x429fa0
mov eax, dword [esi + 4]
mov dword [esi + 0x2c], eax
mov eax, dword [esi + 0x88]
mov dword [esp + 0x20], eax
cmp eax, dword [esi + 0x84]
jge 0x41efaf
mov edi, dword [esi + 4]
mov ebx, 1
cmp edi, dword [ebp + 0x78]
jae 0x41ef8c
cmp dword [esp + 0x14], 0
movzx edx, byte [edi]
je 0x41ef6b
cmp edx, 0xc0
jb 0x41ef6b
test dl, 0x20
jne 0x41eece
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ebx, 2
jmp 0x41ef63
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x41ee6e
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcb
cmp dword [ebp + 0x88], 0
je 0x41eea5
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x41eea5
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c219
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x41eebf
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcb
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x41eeed
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x41ef63
and eax, 0x3f
test dl, 8
jne 0x41ef0d
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x41ef63
test dl, 4
jne 0x41ef36
and edx, 3
mov ebx, 5
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x41ef63
and edx, ebx
mov ebx, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
push dword [esp + 0x14]
push dword [esi + 0x24]
push edx
call fcn.0042c030
add esp, 0xc
test eax, eax
je 0x41efaf
mov eax, dword [esp + 0x20]
add dword [esi + 4], ebx
inc eax
jmp 0x41edff
cmp dword [ebp + 0x88], 0
je 0x41efaf
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x41efaf
mov dword [ebp + 0x60], ebx
cmp dword [ebp + 0x88], ebx
jg 0x41c219
mov ebx, dword [esp + 0x14]
push 0x12c
call dword [0x3580d38]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x427828
mov dword [esi + 0x128], 0x15
jmp 0x426fb9
mov ebx, dword [esp + 0x14]
test ebx, ebx
je 0x41f1e1
mov dword [esi + 0x80], 1
inc dword [esi + 8]
mov eax, dword [esi + 8]
movzx eax, byte [eax]
mov dword [esi + 0x78], eax
cmp eax, 0xc0
jb 0x41f119
test al, 0x20
jne 0x41f02e
mov eax, dword [esi + 8]
movzx ecx, byte [eax + 1]
mov eax, dword [esi + 0x78]
and ecx, 0x3f
and eax, 0x1f
shl eax, 6
or ecx, eax
mov dword [esi + 0x78], ecx
inc dword [esi + 0x80]
jmp 0x41f119
mov ecx, dword [esi + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
test al, 0x10
jne 0x41f062
mov eax, dword [esi + 0x78]
and eax, 0xf
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x78], edx
add dword [esi + 0x80], 2
jmp 0x41f119
test al, 8
jne 0x41f098
mov eax, dword [esi + 0x78]
and eax, 7
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x78], edx
add dword [esi + 0x80], 3
jmp 0x41f119
test al, 4
mov eax, dword [esi + 0x78]
jne 0x41f0d7
and eax, 3
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x78], edx
add dword [esi + 0x80], 4
jmp 0x41f119
and eax, 1
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x78], edx
add dword [esi + 0x80], 5
mov edi, dword [ebp + 0x78]
mov eax, edi
mov edx, dword [esi + 4]
sub eax, edx
mov ecx, dword [esi + 0x80]
cmp ecx, eax
jle 0x41f17f
cmp dword [ebp + 0x88], 0
je 0x41f156
cmp edx, edi
jb 0x41f156
cmp edx, dword [ebp + 0x84]
jbe 0x41f156
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x41f170
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
test ecx, ecx
jle 0x41f1ad
lea eax, [ecx - 1]
mov dword [esi + 0x80], eax
mov eax, dword [esi + 8]
mov ecx, dword [esi + 4]
mov bl, byte [eax]
mov dl, byte [ecx]
lea eax, [ecx + 1]
mov dword [esi + 4], eax
inc dword [esi + 8]
cmp bl, dl
jne 0x41f1b8
mov ecx, dword [esi + 0x80]
test ecx, ecx
jg 0x41f183
dec dword [esi + 0x80]
jmp 0x41aeef
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x41f1d2
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcb
mov eax, dword [ebp + 0x78]
mov edi, dword [esi + 4]
sub eax, edi
cmp eax, 1
jge 0x41f23c
cmp dword [ebp + 0x88], 0
je 0x41f213
cmp edi, dword [ebp + 0x84]
jbe 0x41f213
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x41f22d
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
mov eax, dword [esi + 8]
mov cl, byte [edi]
mov dl, byte [eax + 1]
lea eax, [edi + 1]
mov dword [esi + 4], eax
cmp dl, cl
je 0x41f5ef
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x41f26c
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
mov edi, dword [esi + 4]
cmp edi, dword [ebp + 0x78]
jb 0x41f2d0
cmp dword [ebp + 0x88], ebx
je 0x41f2a7
cmp edi, dword [ebp + 0x84]
jbe 0x41f2a7
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c219
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x41f2c1
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcb
mov ebx, dword [esp + 0x14]
test ebx, ebx
je 0x41f5ab
mov dword [esi + 0x80], 1
inc dword [esi + 8]
mov eax, dword [esi + 8]
movzx eax, byte [eax]
mov dword [esi + 0x78], eax
cmp eax, 0xc0
jb 0x41f40f
test al, 0x20
jne 0x41f324
mov eax, dword [esi + 8]
movzx ecx, byte [eax + 1]
mov eax, dword [esi + 0x78]
and ecx, 0x3f
and eax, 0x1f
shl eax, 6
or ecx, eax
mov dword [esi + 0x78], ecx
inc dword [esi + 0x80]
jmp 0x41f40f
mov ecx, dword [esi + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
test al, 0x10
jne 0x41f358
mov eax, dword [esi + 0x78]
and eax, 0xf
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x78], edx
add dword [esi + 0x80], 2
jmp 0x41f40f
test al, 8
jne 0x41f38e
mov eax, dword [esi + 0x78]
and eax, 7
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x78], edx
add dword [esi + 0x80], 3
jmp 0x41f40f
test al, 4
mov eax, dword [esi + 0x78]
jne 0x41f3cd
and eax, 3
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x78], edx
add dword [esi + 0x80], 4
jmp 0x41f40f
and eax, 1
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x78], edx
add dword [esi + 0x80], 5
mov edi, dword [esi + 0x78]
mov eax, dword [esi + 4]
cmp edi, 0x80
jae 0x41f45f
mov edx, dword [ebp + 0x30]
movzx ecx, byte [eax]
mov al, byte [edi + edx]
cmp al, byte [ecx + edx]
je 0x41f454
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x41f445
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
inc dword [esi + 8]
inc dword [esi + 4]
jmp 0x41aeef
movzx edx, byte [eax]
lea edi, [eax + 1]
mov dword [esi + 4], edi
cmp edx, 0xc0
jb 0x41f53f
test dl, 0x20
jne 0x41f48f
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x41f53c
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x41f4b6
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x41f53c
test dl, 8
jne 0x41f4d9
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 3]
jmp 0x41f53c
test dl, 4
jne 0x41f508
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 4]
jmp 0x41f53c
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 5]
mov dword [esi + 4], eax
mov eax, dword [esi + 0x80]
add dword [esi + 8], eax
mov edi, dword [esi + 0x78]
cmp edi, edx
je 0x41aeef
mov eax, edi
shr eax, 7
movzx ecx, byte [eax + 0x4879d0]
mov eax, edi
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x489bd0]
mov eax, dword [eax*8 + 0x4868f4]
add eax, edi
cmp edx, eax
je 0x41aeef
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x41f59c
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
mov eax, dword [esi + 8]
mov edx, dword [ebp + 0x30]
movzx ecx, byte [edi]
movzx eax, byte [eax + 1]
mov al, byte [eax + edx]
cmp al, byte [ecx + edx]
je 0x41f5e9
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x41f5da
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
lea eax, [edi + 1]
mov dword [esi + 4], eax
add dword [esi + 8], 2
jmp 0x41aeef
mov eax, dword [esi + 8]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x84], ecx
mov dword [esi + 0x88], ecx
add dword [esi + 8], 3
jmp 0x41f711
mov dword [esp + 0x24], 1
mov dword [esi + 0x88], ebx
mov eax, dword [esi + 8]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x84], ecx
mov ecx, dword [esi + 8]
mov al, byte [ecx]
cmp al, 0x28
je 0x41f652
mov dword [esp + 0x18], ebx
cmp al, 0x35
jne 0x41f65a
mov dword [esp + 0x18], 1
lea eax, [ecx + 3]
mov dword [esi + 8], eax
jmp 0x41f711
mov dword [esi + 0x88], ebx
mov dword [esi + 0x84], 0x7fffffff
inc dword [esi + 8]
mov dword [esp + 0x24], 1
jmp 0x41f711
mov dword [esi + 0x88], 1
mov dword [esi + 0x84], 0x7fffffff
inc dword [esi + 8]
mov dword [esp + 0x24], 1
jmp 0x41f711
mov dword [esi + 0x88], ebx
mov dword [esi + 0x84], 1
inc dword [esi + 8]
mov dword [esp + 0x24], 1
jmp 0x41f711
mov ecx, dword [esi + 8]
xor eax, eax
cmp edx, 0x2e
setge al
movzx edx, byte [ecx]
dec eax
and eax, 0xfffffff3
add eax, 0x2e
sub edx, eax
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov ebx, edx
and ebx, 1
mov dword [esp + 0x18], ebx
movsx eax, byte [edx + 0x485ff8]
mov dword [esi + 0x88], eax
movsx eax, byte [edx + 0x486000]
mov dword [esi + 0x84], eax
test eax, eax
jne 0x41f711
mov dword [esi + 0x84], 0x7fffffff
mov ebx, dword [esp + 0x14]
test ebx, ebx
je 0x41fbb6
mov dword [esi + 0x80], 1
mov eax, dword [esi + 8]
mov dword [esi + 0x20], eax
mov eax, dword [esi + 8]
movzx ebx, byte [eax]
mov dword [esi + 0x78], ebx
cmp ebx, 0xc0
jb 0x41f848
mov eax, dword [esi + 8]
test bl, 0x20
jne 0x41f767
movzx eax, byte [eax + 1]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or eax, ebx
mov dword [esi + 0x78], eax
inc dword [esi + 0x80]
jmp 0x41f848
test bl, 0x10
jne 0x41f799
movzx ecx, byte [eax + 1]
and ebx, 0xf
mov eax, dword [esi + 8]
and ecx, 0x3f
shl ebx, 6
or ecx, ebx
shl ecx, 6
movzx eax, byte [eax + 2]
and eax, 0x3f
or ecx, eax
mov dword [esi + 0x78], ecx
add dword [esi + 0x80], 2
jmp 0x41f848
mov ecx, dword [esi + 8]
movzx edx, byte [eax + 1]
and edx, 0x3f
movzx eax, byte [ecx + 2]
and eax, 0x3f
test bl, 8
jne 0x41f7d7
and ebx, 7
shl ebx, 6
or edx, ebx
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x78], edx
add dword [esi + 0x80], 3
jmp 0x41f848
test bl, 4
jne 0x41f80d
and ebx, 3
shl ebx, 6
or edx, ebx
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x78], edx
add dword [esi + 0x80], 4
jmp 0x41f848
and ebx, 1
shl ebx, 6
or edx, ebx
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x78], edx
add dword [esi + 0x80], 5
mov eax, dword [esi + 0x80]
add dword [esi + 8], eax
cmp dword [esi + 0x80], 1
jle 0x41fbc4
cmp dword [esi + 0x94], 0x2e
jl 0x41f8a7
mov edx, dword [esi + 0x78]
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4879d0]
mov eax, edx
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x489bd0]
mov ecx, dword [eax*8 + 0x4868f4]
add ecx, edx
cmp ecx, edx
je 0x41f8a7
lea eax, [esi + 0x68]
push eax
push ecx
call fcn.0042bca0
add esp, 8
mov dword [esi + 0x64], eax
jmp 0x41f8ae
mov dword [esi + 0x64], 0
cmp dword [esi + 0x88], 1
mov dword [esp + 0x1c], 1
jl 0x41f9d1
mov ecx, dword [ebp + 0x78]
mov eax, ecx
mov ebx, dword [esi + 0x80]
sub eax, ebx
mov edi, dword [esi + 4]
mov dword [esp + 0x20], ecx
cmp edi, eax
ja 0x41f945
mov edx, dword [esi + 0x20]
mov ecx, edi
mov edi, ebx
sub edi, 4
jb 0x41f8f8
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x41f901
add ecx, 4
add edx, 4
sub edi, 4
jae 0x41f8e7
cmp edi, 0xfffffffc
je 0x41f9b9
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x41f93e
cmp edi, 0xfffffffd
je 0x41f9b9
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x41f93e
cmp edi, 0xfffffffe
je 0x41f9b9
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x41f93e
cmp edi, 0xffffffff
je 0x41f9b9
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x41f9b9
mov edi, dword [esi + 4]
mov ecx, dword [esp + 0x20]
mov ebx, dword [esi + 0x64]
test ebx, ebx
jle 0x41fb23
sub ecx, ebx
cmp edi, ecx
ja 0x41fb23
mov ecx, edi
lea edx, [esi + 0x68]
mov edi, ebx
sub edi, 4
jb 0x41f977
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x41f97c
add ecx, 4
add edx, 4
sub edi, 4
jae 0x41f966
cmp edi, 0xfffffffc
je 0x41f9b9
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x41fb23
cmp edi, 0xfffffffd
je 0x41f9b9
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x41fb23
cmp edi, 0xfffffffe
je 0x41f9b9
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x41fb23
cmp edi, 0xffffffff
je 0x41f9b9
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x41fb23
mov edx, dword [esp + 0x1c]
add dword [esi + 4], ebx
inc edx
mov dword [esp + 0x1c], edx
cmp edx, dword [esi + 0x88]
jle 0x41f8c3
mov eax, dword [esi + 0x88]
cmp eax, dword [esi + 0x84]
je 0x41aeef
mov edi, dword [esp + 0x18]
test edi, edi
jne 0x429fb2
mov eax, dword [esi + 4]
mov dword [esi + 0x2c], eax
mov eax, dword [esi + 0x88]
mov dword [esp + 0x1c], eax
cmp eax, dword [esi + 0x84]
jge 0x41fba6
jmp 0x41fa10
mov ecx, dword [ebp + 0x78]
mov eax, ecx
mov ebx, dword [esi + 0x80]
sub eax, ebx
mov edi, dword [esi + 4]
mov dword [esp + 0x20], ecx
cmp edi, eax
ja 0x41fa92
mov edx, dword [esi + 0x20]
mov ecx, edi
mov edi, ebx
sub edi, 4
jb 0x41fa45
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x41fa4e
add ecx, 4
add edx, 4
sub edi, 4
jae 0x41fa34
cmp edi, 0xfffffffc
je 0x41fb06
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x41fa8b
cmp edi, 0xfffffffd
je 0x41fb06
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x41fa8b
cmp edi, 0xfffffffe
je 0x41fb06
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x41fa8b
cmp edi, 0xffffffff
je 0x41fb06
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x41fb06
mov edi, dword [esi + 4]
mov ecx, dword [esp + 0x20]
mov ebx, dword [esi + 0x64]
test ebx, ebx
jle 0x41fb79
sub ecx, ebx
cmp edi, ecx
ja 0x41fb79
mov ecx, edi
lea edx, [esi + 0x68]
mov edi, ebx
sub edi, 4
jb 0x41fac4
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x41fac9
add ecx, 4
add edx, 4
sub edi, 4
jae 0x41fab3
cmp edi, 0xfffffffc
je 0x41fb06
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x41fb79
cmp edi, 0xfffffffd
je 0x41fb06
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x41fb79
cmp edi, 0xfffffffe
je 0x41fb06
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x41fb79
cmp edi, 0xffffffff
je 0x41fb06
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x41fb79
mov edx, dword [esp + 0x1c]
add dword [esi + 4], ebx
inc edx
mov dword [esp + 0x1c], edx
cmp edx, dword [esi + 0x84]
jl 0x41fa10
jmp 0x41fba6
cmp dword [ebp + 0x88], 0
je 0x41fb50
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x78]
jb 0x41fb50
cmp eax, dword [ebp + 0x84]
jbe 0x41fb50
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c219
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x41fb6a
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcb
cmp dword [ebp + 0x88], 0
je 0x41fba6
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x78]
jb 0x41fba6
cmp eax, dword [ebp + 0x84]
jbe 0x41fba6
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c219
cmp dword [esp + 0x24], 0
jne 0x41aeef
jmp 0x427cae
mov eax, dword [esi + 8]
movzx eax, byte [eax]
mov dword [esi + 0x78], eax
inc dword [esi + 8]
jmp 0x41fbc8
mov ebx, dword [esp + 0x14]
cmp dword [esi + 0x94], 0x2e
jl 0x41fd2f
mov ecx, dword [ebp + 0x34]
mov edx, 1
mov eax, dword [esi + 0x78]
movzx eax, byte [ecx + eax]
mov dword [esi + 0x8c], eax
cmp dword [esi + 0x88], edx
jl 0x41fc17
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x78]
jae 0x41fc66
movzx ecx, byte [eax]
cmp dword [esi + 0x78], ecx
je 0x41fc0a
cmp dword [esi + 0x8c], ecx
jne 0x41fc3d
inc eax
inc edx
mov dword [esi + 4], eax
cmp edx, dword [esi + 0x88]
jle 0x41fbf2
mov eax, dword [esi + 0x88]
cmp eax, dword [esi + 0x84]
je 0x41aeef
mov edi, dword [esp + 0x18]
test edi, edi
je 0x41fcb7
mov dword [esi + 0x7c], eax
jmp 0x426707
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x41fc57
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
cmp dword [ebp + 0x88], 0
je 0x41fc8e
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x41fc8e
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x41fca8
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
mov eax, dword [esi + 4]
mov dword [esi + 0x2c], eax
mov edx, dword [esi + 0x88]
cmp edx, dword [esi + 0x84]
jge 0x41fd1f
jmp 0x41fcd0
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x78]
jae 0x41fcf7
movzx ecx, byte [eax]
cmp dword [esi + 0x78], ecx
je 0x41fce8
cmp dword [esi + 0x8c], ecx
jne 0x41fd1f
inc eax
inc edx
mov dword [esi + 4], eax
cmp edx, dword [esi + 0x84]
jl 0x41fcd0
jmp 0x41fd1f
cmp dword [ebp + 0x88], 0
je 0x41fd1f
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x41fd1f
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c4a7
cmp dword [esp + 0x24], 0
jne 0x41aeef
jmp 0x426739
mov edi, 1
cmp dword [esi + 0x88], edi
jl 0x41fd5d
lea esp, [esp]
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x78]
jae 0x41fdac
movzx edx, byte [eax]
inc eax
mov dword [esi + 4], eax
cmp dword [esi + 0x78], edx
jne 0x41fd83
inc edi
cmp edi, dword [esi + 0x88]
jle 0x41fd40
mov eax, dword [esi + 0x88]
cmp eax, dword [esi + 0x84]
je 0x41aeef
mov edi, dword [esp + 0x18]
test edi, edi
je 0x41fdfd
mov dword [esi + 0x7c], eax
jmp 0x42685b
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x41fd9d
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
cmp dword [ebp + 0x88], 0
je 0x41fdd4
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x41fdd4
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x41fdee
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
mov eax, dword [esi + 4]
mov dword [esi + 0x2c], eax
mov edx, dword [esi + 0x88]
cmp edx, dword [esi + 0x84]
jge 0x41fe5a
mov ecx, dword [esi + 4]
cmp ecx, dword [ebp + 0x78]
jae 0x41fe32
movzx eax, byte [ecx]
cmp dword [esi + 0x78], eax
jne 0x41fe5a
lea eax, [ecx + 1]
inc edx
mov dword [esi + 4], eax
cmp edx, dword [esi + 0x84]
jl 0x41fe11
jmp 0x41fe5a
cmp dword [ebp + 0x88], 0
je 0x41fe5a
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x41fe5a
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c4a7
cmp dword [esp + 0x24], 0
jne 0x41aeef
jmp 0x42688d
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x78]
jb 0x41febf
cmp dword [ebp + 0x88], ebx
je 0x41fe96
cmp eax, dword [ebp + 0x84]
jbe 0x41fe96
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c219
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x41feb0
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcb
inc dword [esi + 8]
mov eax, dword [esi + 4]
mov ebx, dword [esp + 0x14]
movzx edx, byte [eax]
lea edi, [eax + 1]
mov dword [esi + 4], edi
test ebx, ebx
je 0x41ffb1
cmp edx, 0xc0
jb 0x41ffb1
test dl, 0x20
jne 0x41ff01
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x41ffae
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x41ff28
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x41ffae
test dl, 8
jne 0x41ff4b
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 3]
jmp 0x41ffae
test dl, 4
jne 0x41ff7a
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 4]
jmp 0x41ffae
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 5]
mov dword [esi + 4], eax
mov eax, dword [esi + 8]
movzx ecx, byte [eax]
inc eax
cmp dword [esi + 0x94], 0x20
mov dword [esi + 8], eax
jne 0x420000
cmp ecx, edx
je 0x41ffd7
mov eax, dword [ebp + 0x34]
movzx eax, byte [eax + ecx]
cmp eax, edx
jne 0x41aeef
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x41fff1
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
cmp ecx, edx
jne 0x41aeef
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x420022
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
mov eax, dword [esi + 8]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x84], ecx
mov dword [esi + 0x88], ecx
add dword [esi + 8], 3
jmp 0x420180
mov dword [esi + 0x88], ebx
mov eax, dword [esi + 8]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x84], ecx
mov ecx, dword [esi + 8]
mov al, byte [ecx]
cmp al, 0x42
je 0x420090
cmp al, 0x4f
je 0x420090
xor ebx, ebx
lea eax, [ecx + 3]
mov dword [esp + 0x18], ebx
mov dword [esi + 8], eax
jmp 0x420180
mov ebx, 1
lea eax, [ecx + 3]
mov dword [esp + 0x18], ebx
mov dword [esi + 8], eax
jmp 0x420180
mov dword [esi + 0x88], ebx
mov dword [esi + 0x84], 0x7fffffff
inc dword [esi + 8]
mov dword [esp + 0x24], 1
jmp 0x420180
mov dword [esi + 0x88], 1
mov dword [esi + 0x84], 0x7fffffff
inc dword [esi + 8]
mov dword [esp + 0x24], 1
jmp 0x420180
mov dword [esi + 0x88], ebx
mov dword [esi + 0x84], 1
inc dword [esi + 8]
mov dword [esp + 0x24], 1
jmp 0x420180
mov dword [esi + 0x88], ebx
mov eax, dword [esi + 8]
mov dword [esp + 0x24], 1
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x84], ecx
add dword [esi + 8], 3
jmp 0x420180
mov ecx, dword [esi + 8]
xor eax, eax
cmp edx, 0x48
setl al
movzx edx, byte [ecx]
dec eax
and eax, 0xd
add eax, 0x3b
sub edx, eax
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov ebx, edx
and ebx, 1
mov dword [esp + 0x18], ebx
movsx eax, byte [edx + 0x485ff8]
mov dword [esi + 0x88], eax
movsx eax, byte [edx + 0x486000]
mov dword [esi + 0x84], eax
test eax, eax
jne 0x420180
mov dword [esi + 0x84], 0x7fffffff
mov eax, dword [esi + 8]
movzx eax, byte [eax]
mov dword [esi + 0x78], eax
inc dword [esi + 8]
cmp dword [esi + 0x94], 0x48
jl 0x420632
cmp dword [esp + 0x14], 0
mov ecx, dword [ebp + 0x34]
mov eax, dword [esi + 0x78]
movzx eax, byte [ecx + eax]
mov dword [esi + 0x8c], eax
je 0x42038b
mov edi, 1
cmp dword [esi + 0x88], edi
jl 0x4202e3
jmp 0x4201d0
mov edx, dword [esi + 4]
cmp edx, dword [ebp + 0x78]
jae 0x42033a
movzx ecx, byte [edx]
inc edx
mov dword [esi + 4], edx
cmp ecx, 0xc0
jb 0x4202c9
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x42020a
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4202c6
test cl, 0x10
jne 0x42022b
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x4202c6
test cl, 8
jne 0x420255
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x4202c6
test cl, 4
jne 0x42028b
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x4202c6
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov dword [esi + 4], eax
cmp dword [esi + 0x78], ecx
je 0x420311
cmp dword [esi + 0x8c], ecx
je 0x420311
inc edi
cmp edi, dword [esi + 0x88]
jle 0x4201d0
mov eax, dword [esi + 0x88]
cmp eax, dword [esi + 0x84]
je 0x41aeef
test ebx, ebx
mov ebx, dword [esp + 0x14]
je 0x420444
test ebx, ebx
jne 0x429fc0
mov dword [esi + 0x7c], eax
jmp 0x42698e
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x42032b
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcb
cmp dword [ebp + 0x88], 0
je 0x420362
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x420362
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c219
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x42037c
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcb
mov edx, 1
cmp dword [esi + 0x88], edx
jl 0x4202e3
lea esp, [esp]
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x78]
jae 0x4203f3
movzx ecx, byte [eax]
cmp dword [esi + 0x78], ecx
je 0x4203ca
cmp dword [esi + 0x8c], ecx
je 0x4203ca
inc eax
inc edx
mov dword [esi + 4], eax
cmp edx, dword [esi + 0x88]
jle 0x4203a0
jmp 0x4202e3
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x4203e4
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcb
cmp dword [ebp + 0x88], 0
je 0x42041b
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x42041b
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c219
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x420435
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcb
mov eax, dword [esi + 4]
mov dword [esi + 0x2c], eax
test ebx, ebx
je 0x4205c5
mov ebx, dword [esi + 0x88]
cmp ebx, dword [esi + 0x84]
jge 0x4205b5
mov edi, dword [esi + 4]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x42058d
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x42056c
test dl, 0x20
jne 0x4204a2
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x42056c
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x4204cc
movzx eax, byte [edi + 2]
and edx, 0xf
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, 3
jmp 0x42056c
test dl, 8
jne 0x4204f8
movzx eax, byte [edi + 2]
and edx, 7
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 4
jmp 0x42056c
test dl, 4
jne 0x420530
movzx eax, byte [edi + 2]
and edx, 3
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 5
jmp 0x42056c
and edx, eax
movzx eax, byte [edi + 2]
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 6
cmp dword [esi + 0x78], edx
je 0x4205b5
cmp dword [esi + 0x8c], edx
je 0x4205b5
add eax, edi
inc ebx
mov dword [esi + 4], eax
cmp ebx, dword [esi + 0x84]
jl 0x420464
jmp 0x4205b5
cmp dword [ebp + 0x88], 0
je 0x4205b5
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x4205b5
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c219
cmp dword [esp + 0x24], 0
jne 0x41aeef
jmp 0x427f03
mov edx, dword [esi + 0x88]
cmp edx, dword [esi + 0x84]
jge 0x420622
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x78]
jae 0x4205fa
movzx ecx, byte [eax]
cmp dword [esi + 0x78], ecx
je 0x420622
cmp dword [esi + 0x8c], ecx
je 0x420622
inc eax
inc edx
mov dword [esi + 4], eax
cmp edx, dword [esi + 0x84]
jl 0x4205d3
jmp 0x420622
cmp dword [ebp + 0x88], 0
je 0x420622
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x420622
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c4a7
cmp dword [esp + 0x24], 0
jne 0x41aeef
jmp 0x4269e9
mov ebx, dword [esp + 0x14]
test ebx, ebx
je 0x4207f8
mov ebx, 1
cmp dword [esi + 0x88], ebx
jl 0x42074c
nop
mov edi, dword [esi + 4]
cmp edi, dword [ebp + 0x78]
jae 0x4207a7
movzx edx, byte [edi]
inc edi
mov dword [esi + 4], edi
cmp edx, 0xc0
jb 0x42073a
test dl, 0x20
jne 0x42068a
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x420737
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x4206b1
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x420737
test dl, 8
jne 0x4206d4
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 3]
jmp 0x420737
test dl, 4
jne 0x420703
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 4]
jmp 0x420737
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 5]
mov dword [esi + 4], eax
cmp dword [esi + 0x78], edx
je 0x42077e
inc ebx
cmp ebx, dword [esi + 0x88]
jle 0x420650
mov ebx, dword [esp + 0x14]
mov eax, dword [esi + 0x88]
cmp eax, dword [esi + 0x84]
je 0x41aeef
mov edi, dword [esp + 0x18]
test edi, edi
je 0x4208ac
test ebx, ebx
jne 0x429fce
mov dword [esi + 0x7c], eax
jmp 0x426ae6
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x420798
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcb
cmp dword [ebp + 0x88], 0
je 0x4207cf
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x4207cf
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c219
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x4207e9
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcb
mov edi, 1
cmp dword [esi + 0x88], edi
jl 0x420750
lea esp, [esp]
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x78]
jae 0x42085b
movzx edx, byte [eax]
inc eax
mov dword [esi + 4], eax
cmp dword [esi + 0x78], edx
je 0x420832
inc edi
cmp edi, dword [esi + 0x88]
jle 0x420810
jmp 0x420750
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x42084c
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
cmp dword [ebp + 0x88], 0
je 0x420883
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x420883
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x42089d
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
mov eax, dword [esi + 4]
mov dword [esi + 0x2c], eax
test ebx, ebx
je 0x420a29
mov ebx, dword [esi + 0x88]
cmp ebx, dword [esi + 0x84]
jge 0x420a19
lea esp, [esp]
mov edi, dword [esi + 4]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x4209f1
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x4209d8
test dl, 0x20
jne 0x42090e
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x4209d8
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x420938
movzx eax, byte [edi + 2]
and edx, 0xf
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, 3
jmp 0x4209d8
test dl, 8
jne 0x420964
movzx eax, byte [edi + 2]
and edx, 7
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 4
jmp 0x4209d8
test dl, 4
jne 0x42099c
movzx eax, byte [edi + 2]
and edx, 3
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 5
jmp 0x4209d8
and edx, eax
movzx eax, byte [edi + 2]
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 6
cmp dword [esi + 0x78], edx
je 0x420a19
add eax, edi
inc ebx
mov dword [esi + 4], eax
cmp ebx, dword [esi + 0x84]
jl 0x4208d0
jmp 0x420a19
cmp dword [ebp + 0x88], 0
je 0x420a19
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x420a19
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c219
cmp dword [esp + 0x24], 0
jne 0x41aeef
jmp 0x42815c
mov edx, dword [esi + 0x88]
cmp edx, dword [esi + 0x84]
jge 0x420a80
mov ecx, dword [esi + 4]
cmp ecx, dword [ebp + 0x78]
jae 0x420a58
movzx eax, byte [ecx]
cmp dword [esi + 0x78], eax
je 0x420a80
lea eax, [ecx + 1]
inc edx
mov dword [esi + 4], eax
cmp edx, dword [esi + 0x84]
jl 0x420a37
jmp 0x420a80
cmp dword [ebp + 0x88], 0
je 0x420a80
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x420a80
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c4a7
cmp dword [esp + 0x24], 0
jne 0x41aeef
jmp 0x426b18
mov eax, dword [esi + 8]
mov dword [esp + 0x18], 1
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x84], ecx
mov dword [esi + 0x88], ecx
add dword [esi + 8], 3
jmp 0x420bba
mov dword [esi + 0x88], ebx
xor edx, edx
mov eax, dword [esi + 8]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x84], ecx
mov eax, dword [esi + 8]
cmp byte [eax], 0x5c
sete dl
add eax, 3
mov dword [esp + 0x18], edx
mov dword [esi + 8], eax
jmp 0x420bba
mov dword [esi + 0x88], ebx
mov dword [esi + 0x84], 0x7fffffff
inc dword [esi + 8]
mov dword [esp + 0x24], 1
jmp 0x420bba
mov dword [esi + 0x88], 1
mov dword [esi + 0x84], 0x7fffffff
inc dword [esi + 8]
mov dword [esp + 0x24], 1
jmp 0x420bba
mov dword [esi + 0x88], ebx
mov dword [esi + 0x84], 1
inc dword [esi + 8]
mov dword [esp + 0x24], 1
jmp 0x420bba
mov dword [esi + 0x88], ebx
mov eax, dword [esi + 8]
mov dword [esp + 0x24], 1
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x84], ecx
add dword [esi + 8], 3
jmp 0x420bba
mov eax, dword [esi + 8]
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
movsx eax, byte [ecx + 0x485fa3]
lea edx, [ecx - 0x55]
mov dword [esi + 0x88], eax
and edx, 1
movsx eax, byte [ecx + 0x485fab]
mov dword [esp + 0x18], edx
mov dword [esi + 0x84], eax
test eax, eax
jne 0x420bba
mov dword [esi + 0x84], 0x7fffffff
mov eax, dword [esi + 8]
movzx eax, byte [eax]
mov dword [esi + 0x74], eax
inc dword [esi + 8]
mov ecx, dword [esi + 0x74]
cmp ecx, 0x10
je 0x420bdc
cmp ecx, 0xf
je 0x420bdc
mov dword [esi + 0x58], 0xffffffff
jmp 0x420bff
xor eax, eax
cmp ecx, 0xf
sete al
mov dword [esi + 0x60], eax
mov eax, dword [esi + 8]
movzx eax, byte [eax]
mov dword [esi + 0x58], eax
inc dword [esi + 8]
mov eax, dword [esi + 8]
movzx eax, byte [eax]
mov dword [esi + 0x5c], eax
inc dword [esi + 8]
mov ecx, dword [esi + 0x88]
test ecx, ecx
jle 0x42203e
mov eax, dword [esi + 0x58]
test eax, eax
js 0x421c53
cmp eax, 8
ja case.default.0x420c21
jmp dword [eax*4 + 0x42a418]
cmp dword [esi + 0x60], ebx
je 0x420c56
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x420c47
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcb
mov ebx, dword [esp + 0x14]
mov edx, 1
cmp ecx, edx
jl 0x422042
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x78]
jae 0x420cbc
movzx ecx, byte [eax]
inc eax
mov dword [esi + 4], eax
test ebx, ebx
je 0x420cae
cmp ecx, 0xc0
jb 0x420cae
test cl, 0x20
jne 0x420c8a
inc eax
jmp 0x420cab
test cl, 0x10
jne 0x420c94
add eax, 2
jmp 0x420cab
test cl, 8
jne 0x420c9e
add eax, 3
jmp 0x420cab
test cl, 4
jne 0x420ca8
add eax, 4
jmp 0x420cab
add eax, 5
mov dword [esi + 4], eax
inc edx
cmp edx, dword [esi + 0x88]
jle 0x420c67
jmp 0x422042
cmp dword [ebp + 0x88], 0
je 0x420ce4
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x420ce4
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x420cfe
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
mov ebx, dword [esp + 0x14]
mov edi, 1
cmp ecx, edi
jl 0x422042
mov edi, edi
mov edx, dword [esi + 4]
cmp edx, dword [ebp + 0x78]
jae 0x420e9d
movzx ecx, byte [edx]
inc edx
mov dword [esi + 4], edx
test ebx, ebx
je 0x420e21
cmp ecx, 0xc0
jb 0x420e21
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x420d62
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x420e1e
test cl, 0x10
jne 0x420d83
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x420e1e
test cl, 8
jne 0x420dad
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x420e1e
test cl, 4
jne 0x420de3
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x420e1e
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov dword [esi + 4], eax
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4879d0]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x489bd0]
movzx eax, byte [eax*8 + 0x4868f1]
cmp eax, 9
je 0x420e58
cmp eax, 5
je 0x420e58
cmp eax, 8
je 0x420e58
xor eax, eax
jmp 0x420e5d
mov eax, 1
cmp eax, dword [esi + 0x60]
je 0x420e74
inc edi
cmp edi, dword [esi + 0x88]
jle 0x420d20
jmp 0x422042
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x420e8e
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
cmp dword [ebp + 0x88], 0
je 0x420ec5
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x420ec5
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x420edf
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
mov ebx, dword [esp + 0x14]
mov edi, 1
cmp ecx, edi
jl 0x422042
nop
mov edx, dword [esi + 4]
cmp edx, dword [ebp + 0x78]
jae 0x421074
movzx ecx, byte [edx]
inc edx
mov dword [esi + 4], edx
test ebx, ebx
je 0x421001
cmp ecx, 0xc0
jb 0x421001
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x420f42
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x420ffe
test cl, 0x10
jne 0x420f63
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x420ffe
test cl, 8
jne 0x420f8d
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x420ffe
test cl, 4
jne 0x420fc3
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x420ffe
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov dword [esi + 4], eax
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4879d0]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x489bd0]
movzx eax, byte [eax*8 + 0x4868f1]
mov eax, dword [eax*4 + 0x486878]
cmp eax, dword [esi + 0x5c]
sete cl
cmp ecx, dword [esi + 0x60]
je 0x42104b
inc edi
cmp edi, dword [esi + 0x88]
jle 0x420f00
jmp 0x422042
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x421065
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
cmp dword [ebp + 0x88], 0
je 0x42109c
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x42109c
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x4210b6
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
mov ebx, dword [esp + 0x14]
mov edi, 1
cmp ecx, edi
jl 0x422042
jmp 0x4210e0
mov edx, dword [esi + 4]
cmp edx, dword [ebp + 0x78]
jae 0x42124d
movzx ecx, byte [edx]
inc edx
mov dword [esi + 4], edx
test ebx, ebx
je 0x4211e1
cmp ecx, 0xc0
jb 0x4211e1
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x421122
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4211de
test cl, 0x10
jne 0x421143
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x4211de
test cl, 8
jne 0x42116d
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x4211de
test cl, 4
jne 0x4211a3
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x4211de
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov dword [esi + 4], eax
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4879d0]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x489bd0]
movzx eax, byte [eax*8 + 0x4868f1]
cmp eax, dword [esi + 0x5c]
sete cl
cmp ecx, dword [esi + 0x60]
je 0x421224
inc edi
cmp edi, dword [esi + 0x88]
jle 0x4210e0
jmp 0x422042
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x42123e
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
cmp dword [ebp + 0x88], 0
je 0x421275
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x421275
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x42128f
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
mov ebx, dword [esp + 0x14]
mov edi, 1
cmp ecx, edi
jl 0x422042
nop
mov edx, dword [esi + 4]
cmp edx, dword [ebp + 0x78]
jae 0x42141d
movzx ecx, byte [edx]
inc edx
mov dword [esi + 4], edx
test ebx, ebx
je 0x4213b1
cmp ecx, 0xc0
jb 0x4213b1
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x4212f2
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4213ae
test cl, 0x10
jne 0x421313
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x4213ae
test cl, 8
jne 0x42133d
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x4213ae
test cl, 4
jne 0x421373
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x4213ae
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov dword [esi + 4], eax
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4879d0]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x489bd0]
movzx eax, byte [eax*8 + 0x4868f0]
cmp eax, dword [esi + 0x5c]
sete cl
cmp ecx, dword [esi + 0x60]
je 0x4213f4
inc edi
cmp edi, dword [esi + 0x88]
jle 0x4212b0
jmp 0x422042
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x42140e
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
cmp dword [ebp + 0x88], 0
je 0x421445
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x421445
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x42145f
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
mov ebx, dword [esp + 0x14]
mov edi, 1
cmp ecx, edi
jl 0x422042
nop
mov edx, dword [esi + 4]
cmp edx, dword [ebp + 0x78]
jae 0x4215ff
movzx ecx, byte [edx]
inc edx
mov dword [esi + 4], edx
test ebx, ebx
je 0x421581
cmp ecx, 0xc0
jb 0x421581
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x4214c2
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x42157e
test cl, 0x10
jne 0x4214e3
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x42157e
test cl, 8
jne 0x42150d
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x42157e
test cl, 4
jne 0x421543
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x42157e
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov dword [esi + 4], eax
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4879d0]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x489bd0]
movzx eax, byte [eax*8 + 0x4868f1]
mov eax, dword [eax*4 + 0x486878]
cmp eax, 1
je 0x4215ba
cmp eax, 3
je 0x4215ba
xor eax, eax
jmp 0x4215bf
mov eax, 1
cmp eax, dword [esi + 0x60]
je 0x4215d6
inc edi
cmp edi, dword [esi + 0x88]
jle 0x421480
jmp 0x422042
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x4215f0
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
cmp dword [ebp + 0x88], 0
je 0x421627
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x421627
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x421641
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
mov ebx, dword [esp + 0x14]
mov edi, 1
cmp ecx, edi
jl 0x422042
mov ecx, dword [esi + 4]
cmp ecx, dword [ebp + 0x78]
jae 0x4217ef
movzx edx, byte [ecx]
inc ecx
mov dword [esi + 4], ecx
test ebx, ebx
je 0x421762
cmp edx, 0xc0
jb 0x421762
movzx eax, byte [ecx]
and eax, 0x3f
test dl, 0x20
jne 0x4216a3
and edx, 0x1f
shl edx, 6
or edx, eax
lea eax, [ecx + 1]
jmp 0x42175f
test dl, 0x10
jne 0x4216c4
and edx, 0xf
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 2]
jmp 0x42175f
test dl, 8
jne 0x4216ee
and edx, 7
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 3]
jmp 0x42175f
test dl, 4
jne 0x421724
and edx, 3
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 4]
jmp 0x42175f
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [esi + 4], eax
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4879d0]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x489bd0]
movzx eax, byte [eax*8 + 0x4868f1]
cmp dword [eax*4 + 0x486878], 6
je 0x4217aa
cmp edx, 9
je 0x4217aa
cmp edx, 0xa
je 0x4217aa
cmp edx, 0xc
je 0x4217aa
cmp edx, 0xd
je 0x4217aa
xor eax, eax
jmp 0x4217af
mov eax, 1
cmp eax, dword [esi + 0x60]
je 0x4217c6
inc edi
cmp edi, dword [esi + 0x88]
jle 0x421661
jmp 0x422042
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x4217e0
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
cmp dword [ebp + 0x88], 0
je 0x421817
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x421817
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x421831
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
mov ebx, dword [esp + 0x14]
mov edi, 1
cmp ecx, edi
jl 0x422042
mov ecx, dword [esi + 4]
cmp ecx, dword [ebp + 0x78]
jae 0x4219e4
movzx edx, byte [ecx]
inc ecx
mov dword [esi + 4], ecx
test ebx, ebx
je 0x421952
cmp edx, 0xc0
jb 0x421952
movzx eax, byte [ecx]
and eax, 0x3f
test dl, 0x20
jne 0x421893
and edx, 0x1f
shl edx, 6
or edx, eax
lea eax, [ecx + 1]
jmp 0x42194f
test dl, 0x10
jne 0x4218b4
and edx, 0xf
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 2]
jmp 0x42194f
test dl, 8
jne 0x4218de
and edx, 7
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 3]
jmp 0x42194f
test dl, 4
jne 0x421914
and edx, 3
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 4]
jmp 0x42194f
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [esi + 4], eax
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4879d0]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x489bd0]
movzx eax, byte [eax*8 + 0x4868f1]
cmp dword [eax*4 + 0x486878], 6
je 0x42199f
cmp edx, 9
je 0x42199f
cmp edx, 0xa
je 0x42199f
cmp edx, 0xb
je 0x42199f
cmp edx, 0xc
je 0x42199f
cmp edx, 0xd
je 0x42199f
xor eax, eax
jmp 0x4219a4
mov eax, 1
cmp eax, dword [esi + 0x60]
je 0x4219bb
inc edi
cmp edi, dword [esi + 0x88]
jle 0x421851
jmp 0x422042
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x4219d5
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
cmp dword [ebp + 0x88], 0
je 0x421a0c
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x421a0c
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x421a26
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
mov ebx, dword [esp + 0x14]
mov edi, 1
cmp ecx, edi
jl 0x422042
jmp 0x421a50
mov ecx, dword [esi + 4]
cmp ecx, dword [ebp + 0x78]
jae 0x421bd6
movzx edx, byte [ecx]
inc ecx
mov dword [esi + 4], ecx
test ebx, ebx
je 0x421b51
cmp edx, 0xc0
jb 0x421b51
movzx eax, byte [ecx]
and eax, 0x3f
test dl, 0x20
jne 0x421a92
and edx, 0x1f
shl edx, 6
or edx, eax
lea eax, [ecx + 1]
jmp 0x421b4e
test dl, 0x10
jne 0x421ab3
and edx, 0xf
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 2]
jmp 0x421b4e
test dl, 8
jne 0x421add
and edx, 7
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 3]
jmp 0x421b4e
test dl, 4
jne 0x421b13
and edx, 3
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 4]
jmp 0x421b4e
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [esi + 4], eax
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4879d0]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x489bd0]
movzx eax, byte [eax*8 + 0x4868f1]
mov eax, dword [eax*4 + 0x486878]
cmp eax, 1
je 0x421b91
cmp eax, 3
je 0x421b91
cmp edx, 0x5f
je 0x421b91
xor eax, eax
jmp 0x421b96
mov eax, 1
cmp eax, dword [esi + 0x60]
je 0x421bad
inc edi
cmp edi, dword [esi + 0x88]
jle 0x421a50
jmp 0x422042
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x421bc7
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
cmp dword [ebp + 0x88], 0
je 0x421bfe
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x421bfe
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x421c18
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x421c41
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a1bf
mov edi, 0xfffffff2
jmp 0x425bcb
mov eax, dword [esi + 0x74]
mov ebx, dword [esp + 0x14]
cmp eax, 0x16
jne 0x421f7a
lea edi, [eax - 0x15]
cmp ecx, edi
jl 0x422042
mov edi, edi
mov edx, dword [esi + 4]
cmp edx, dword [ebp + 0x78]
jae 0x421f29
movzx ecx, byte [edx]
inc edx
mov dword [esi + 4], edx
test ebx, ebx
je 0x421d71
cmp ecx, 0xc0
jb 0x421d71
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x421cb2
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x421d6e
test cl, 0x10
jne 0x421cd3
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x421d6e
test cl, 8
jne 0x421cfd
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x421d6e
test cl, 4
jne 0x421d33
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x421d6e
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov dword [esi + 4], eax
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4879d0]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x489bd0]
movzx eax, byte [eax*8 + 0x4868f1]
cmp dword [eax*4 + 0x486878], 2
je 0x421f00
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x78]
jae 0x421eee
nop
mov eax, dword [esi + 4]
mov ecx, 1
movzx edx, byte [eax]
test ebx, ebx
je 0x421eb1
cmp edx, 0xc0
jb 0x421eb1
test dl, 0x20
jne 0x421de5
movzx eax, byte [eax + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x421ea9
test dl, 0x10
jne 0x421e0a
movzx ecx, byte [eax + 1]
and edx, 0xf
mov eax, dword [esi + 4]
and ecx, 0x3f
shl edx, 6
or edx, ecx
mov ecx, 3
movzx eax, byte [eax + 2]
jmp 0x421ea9
test dl, 8
jne 0x421e38
movzx ecx, byte [eax + 1]
and edx, 7
mov eax, dword [esi + 4]
and ecx, 0x3f
shl edx, 6
or ecx, edx
shl ecx, 6
movzx edx, byte [eax + 2]
movzx eax, byte [eax + 3]
and edx, 0x3f
or edx, ecx
mov ecx, 4
jmp 0x421ea9
movzx eax, byte [eax + 1]
and eax, 0x3f
test dl, 4
jne 0x421e72
mov ecx, dword [esi + 4]
and edx, 3
shl edx, 6
or eax, edx
shl eax, 6
movzx edx, byte [ecx + 2]
and edx, 0x3f
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
mov ecx, 5
jmp 0x421ea9
and edx, ecx
mov ecx, dword [esi + 4]
shl edx, 6
or eax, edx
shl eax, 6
movzx edx, byte [ecx + 2]
and edx, 0x3f
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 5]
mov ecx, 6
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edx
and edx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4879d0]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x489bd0]
movzx eax, byte [eax*8 + 0x4868f1]
cmp dword [eax*4 + 0x486878], 2
jne 0x421eee
add dword [esi + 4], ecx
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x78]
jb 0x421db0
inc edi
cmp edi, dword [esi + 0x88]
jle 0x421c70
jmp 0x422042
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x421f1a
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
cmp dword [ebp + 0x88], 0
je 0x421f51
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x421f51
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x421f6b
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
add eax, 0xfffffffa
test ebx, ebx
je 0x42304b
cmp eax, 0xf
ja case.0x428373.15
jmp dword [eax*4 + 0x42a43c]
mov ebx, 1
cmp ecx, ebx
jl 0x42203e
mov ecx, dword [esi + 4]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jae 0x42207b
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x421ff7
push dword [esp + 0x14]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.0042b9b0
add esp, 0x14
test eax, eax
je 0x422014
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x421fe8
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcb
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x422014
mov al, byte [ecx]
cmp al, byte [ebp + 0x2c]
jne 0x422014
cmp edi, 1
je 0x421fce
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x2d]
je 0x421fce
inc dword [esi + 4]
mov ecx, dword [esi + 4]
cmp ecx, dword [ebp + 0x78]
jae 0x422031
nop
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x422031
inc ecx
mov dword [esi + 4], ecx
cmp ecx, dword [ebp + 0x78]
jb 0x422020
inc ebx
cmp ebx, dword [esi + 0x88]
jle 0x421fa2
mov ebx, dword [esp + 0x14]
mov ecx, dword [esi + 0x88]
cmp ecx, dword [esi + 0x84]
je 0x41aeef
mov edi, dword [esp + 0x18]
test edi, edi
je 0x423a1c
mov eax, dword [esi + 0x58]
test eax, eax
js 0x423a02
cmp eax, 8
ja case.0x428373.15
jmp dword [eax*4 + 0x42a47c]
cmp dword [ebp + 0x88], 0
je 0x4220a3
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x4220a3
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c219
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x4220bd
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcb
mov edi, 1
cmp ecx, edi
jl 0x422042
mov edx, dword [ebp + 0x78]
lea esp, [esp]
mov eax, dword [esi + 4]
cmp eax, edx
jae 0x422118
inc eax
mov dword [esi + 4], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x42210a
mov ecx, dword [esi + 4]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x42210a
lea eax, [ecx + 1]
mov dword [esi + 4], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x4220f2
inc edi
cmp edi, dword [esi + 0x88]
jle 0x4220e0
jmp 0x422042
cmp dword [ebp + 0x88], 0
je 0x422140
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x422140
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x42215a
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
mov eax, dword [ebp + 0x78]
mov edx, dword [esi + 4]
sub eax, ecx
cmp edx, eax
jbe 0x423194
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x422193
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
mov edi, 1
cmp ecx, edi
jl 0x422042
nop
mov edx, dword [esi + 4]
cmp edx, dword [ebp + 0x78]
jae 0x42234a
movzx ecx, byte [edx]
inc edx
mov dword [esi + 4], edx
cmp ecx, 0xc0
jb 0x4222a9
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x4221ea
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4222a6
test cl, 0x10
jne 0x42220b
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x4222a6
test cl, 8
jne 0x422235
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x4222a6
test cl, 4
jne 0x42226b
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x4222a6
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov dword [esi + 4], eax
cmp ecx, 0xd
ja 0x4222cd
je 0x4222ba
cmp ecx, 0xa
je 0x4222e6
lea eax, [ecx - 0xb]
jmp 0x4222db
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x78]
jae 0x4222e6
cmp byte [eax], 0xa
jne 0x4222e6
inc eax
mov dword [esi + 4], eax
jmp 0x4222e6
cmp ecx, 0x85
je 0x4222e0
lea eax, [ecx - 0x2028]
cmp eax, 1
ja 0x4222f8
cmp dword [ebp + 0x64], 0
jne 0x422321
inc edi
cmp edi, dword [esi + 0x88]
jle 0x4221b0
jmp 0x422042
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x422312
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x42233b
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
cmp dword [ebp + 0x88], 0
je 0x422372
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x422372
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x42238c
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
mov edi, 1
cmp ecx, edi
jl 0x422042
jmp 0x4223b0
mov edx, dword [esi + 4]
cmp edx, dword [ebp + 0x78]
jae 0x422534
movzx ecx, byte [edx]
inc edx
mov dword [esi + 4], edx
cmp ecx, 0xc0
jb 0x4224a9
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x4223ea
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4224a6
test cl, 0x10
jne 0x42240b
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x4224a6
test cl, 8
jne 0x422435
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x4224a6
test cl, 4
jne 0x42246b
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x4224a6
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov dword [esi + 4], eax
cmp ecx, 0x180e
ja 0x4224cf
je 0x42250b
cmp ecx, 0xa0
ja 0x4224c7
je 0x42250b
cmp ecx, 9
je 0x42250b
cmp ecx, 0x20
jmp 0x4224f7
cmp ecx, 0x1680
jmp 0x4224f7
cmp ecx, 0x205f
ja 0x4224f1
je 0x42250b
cmp ecx, 0x2000
jb 0x4224f9
cmp ecx, 0x200a
jbe 0x42250b
cmp ecx, 0x202f
jmp 0x4224f7
cmp ecx, 0x3000
je 0x42250b
inc edi
cmp edi, dword [esi + 0x88]
jle 0x4223b0
jmp 0x422042
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x422525
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
cmp dword [ebp + 0x88], 0
je 0x42255c
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x42255c
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x422576
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
mov edi, 1
cmp ecx, edi
jl 0x422042
mov edx, dword [esi + 4]
cmp edx, dword [ebp + 0x78]
jae 0x422716
movzx ecx, byte [edx]
inc edx
mov dword [esi + 4], edx
cmp ecx, 0xc0
jb 0x42268b
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x4225cc
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x422688
test cl, 0x10
jne 0x4225ed
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x422688
test cl, 8
jne 0x422617
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x422688
test cl, 4
jne 0x42264d
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x422688
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov dword [esi + 4], eax
cmp ecx, 0x180e
ja 0x4226b1
je 0x4226db
cmp ecx, 0xa0
ja 0x4226a9
je 0x4226db
cmp ecx, 9
je 0x4226db
cmp ecx, 0x20
jmp 0x4226d9
cmp ecx, 0x1680
jmp 0x4226d9
cmp ecx, 0x205f
ja 0x4226d3
je 0x4226db
cmp ecx, 0x2000
jb 0x4226ed
cmp ecx, 0x200a
jbe 0x4226db
cmp ecx, 0x202f
jmp 0x4226d9
cmp ecx, 0x3000
jne 0x4226ed
inc edi
cmp edi, dword [esi + 0x88]
jle 0x422592
jmp 0x422042
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x422707
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
cmp dword [ebp + 0x88], 0
je 0x42273e
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x42273e
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x422758
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
mov edi, 1
cmp ecx, edi
jl 0x422042
mov edx, dword [esi + 4]
cmp edx, dword [ebp + 0x78]
jae 0x4228cc
movzx ecx, byte [edx]
inc edx
mov dword [esi + 4], edx
cmp ecx, 0xc0
jb 0x42286d
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x4227ae
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x42286a
test cl, 0x10
jne 0x4227cf
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x42286a
test cl, 8
jne 0x4227f9
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x42286a
test cl, 4
jne 0x42282f
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x42286a
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov dword [esi + 4], eax
cmp ecx, 0x85
ja 0x422881
je 0x4228a3
cmp ecx, 0xa
jb 0x422891
cmp ecx, 0xd
jmp 0x42288f
cmp ecx, 0x2028
jb 0x422891
cmp ecx, 0x2029
jbe 0x4228a3
inc edi
cmp edi, dword [esi + 0x88]
jle 0x422774
jmp 0x422042
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x4228bd
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
cmp dword [ebp + 0x88], 0
je 0x4228f4
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x4228f4
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x42290e
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
mov edi, 1
cmp ecx, edi
jl 0x422042
lea ebx, [ebx]
mov edx, dword [esi + 4]
cmp edx, dword [ebp + 0x78]
jae 0x422a81
movzx ecx, byte [edx]
inc edx
mov dword [esi + 4], edx
cmp ecx, 0xc0
jb 0x422a29
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x42296a
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x422a26
test cl, 0x10
jne 0x42298b
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x422a26
test cl, 8
jne 0x4229b5
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x422a26
test cl, 4
jne 0x4229eb
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x422a26
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov dword [esi + 4], eax
cmp ecx, 0x85
ja 0x422a3b
je 0x422a46
lea eax, [ecx - 0xa]
cmp eax, 3
jmp 0x422a44
lea eax, [ecx - 0x2028]
cmp eax, 1
ja 0x422a58
inc edi
cmp edi, dword [esi + 0x88]
jle 0x422930
jmp 0x422042
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x422a72
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
cmp dword [ebp + 0x88], 0
je 0x422aa9
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x422aa9
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x422ac3
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
mov edi, 1
cmp ecx, edi
jl 0x422042
nop
mov edx, dword [esi + 4]
cmp edx, dword [ebp + 0x78]
jae 0x422c25
movzx ecx, byte [edx]
inc edx
mov dword [esi + 4], edx
cmp ecx, 0xc0
jb 0x422bd9
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x422b1a
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x422bd6
test cl, 0x10
jne 0x422b3b
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x422bd6
test cl, 8
jne 0x422b65
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x422bd6
test cl, 4
jne 0x422b9b
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x422bd6
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov dword [esi + 4], eax
cmp ecx, 0x80
jae 0x422bea
mov eax, dword [ebp + 0x38]
test byte [ecx + eax], 4
jne 0x422bfc
inc edi
cmp edi, dword [esi + 0x88]
jle 0x422ae0
jmp 0x422042
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x422c16
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
cmp dword [ebp + 0x88], 0
je 0x422c4d
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x422c4d
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x422c67
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
mov edi, 1
cmp ecx, edi
jl 0x422042
mov edx, dword [esi + 4]
cmp edx, dword [ebp + 0x78]
jae 0x422cda
mov al, byte [edx]
cmp al, 0x80
jae 0x422cb1
movzx ecx, al
mov eax, dword [ebp + 0x38]
test byte [ecx + eax], 4
je 0x422cb1
lea eax, [edx + 1]
inc edi
mov dword [esi + 4], eax
cmp edi, dword [esi + 0x88]
jle 0x422c83
jmp 0x422042
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x422ccb
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
cmp dword [ebp + 0x88], 0
je 0x422d02
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x422d02
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x422d1c
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
mov ebx, 1
cmp ecx, ebx
jl 0x42203e
mov edx, dword [ebp + 0x78]
jmp 0x422d40
mov edi, dword [esi + 4]
cmp edi, edx
jae 0x422db5
mov al, byte [edi]
cmp al, 0x80
jae 0x422d59
movzx ecx, al
mov eax, dword [ebp + 0x38]
test byte [ecx + eax], 1
jne 0x422d8c
lea eax, [edi + 1]
mov dword [esi + 4], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x422d7e
mov ecx, dword [esi + 4]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x422d7e
lea eax, [ecx + 1]
mov dword [esi + 4], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x422d66
inc ebx
cmp ebx, dword [esi + 0x88]
jle 0x422d40
jmp 0x42203e
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x422da6
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcb
cmp dword [ebp + 0x88], 0
je 0x422ddd
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x422ddd
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c219
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x422df7
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcb
mov edi, 1
cmp ecx, edi
jl 0x422042
mov edx, dword [esi + 4]
cmp edx, dword [ebp + 0x78]
jae 0x422e6a
mov al, byte [edx]
cmp al, 0x80
jae 0x422e41
movzx ecx, al
mov eax, dword [ebp + 0x38]
test byte [ecx + eax], 1
je 0x422e41
lea eax, [edx + 1]
inc edi
mov dword [esi + 4], eax
cmp edi, dword [esi + 0x88]
jle 0x422e13
jmp 0x422042
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x422e5b
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
cmp dword [ebp + 0x88], 0
je 0x422e92
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x422e92
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x422eac
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
mov ebx, 1
cmp ecx, ebx
jl 0x42203e
mov edx, dword [ebp + 0x78]
jmp 0x422ed0
mov edi, dword [esi + 4]
cmp edi, edx
jae 0x422f45
mov al, byte [edi]
cmp al, 0x80
jae 0x422ee9
movzx ecx, al
mov eax, dword [ebp + 0x38]
test byte [ecx + eax], 0x10
jne 0x422f1c
lea eax, [edi + 1]
mov dword [esi + 4], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x422f0e
mov ecx, dword [esi + 4]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x422f0e
lea eax, [ecx + 1]
mov dword [esi + 4], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x422ef6
inc ebx
cmp ebx, dword [esi + 0x88]
jle 0x422ed0
jmp 0x42203e
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x422f36
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcb
cmp dword [ebp + 0x88], 0
je 0x422f6d
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x422f6d
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c219
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x422f87
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcb
mov edi, 1
cmp ecx, edi
jl 0x422042
mov edx, dword [esi + 4]
cmp edx, dword [ebp + 0x78]
jae 0x422ffa
mov al, byte [edx]
cmp al, 0x80
jae 0x422fd1
movzx ecx, al
mov eax, dword [ebp + 0x38]
test byte [ecx + eax], 0x10
je 0x422fd1
lea eax, [edx + 1]
inc edi
mov dword [esi + 4], eax
cmp edi, dword [esi + 0x88]
jle 0x422fa3
jmp 0x422042
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x422feb
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
cmp dword [ebp + 0x88], 0
je 0x423022
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x423022
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x42303c
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
cmp eax, 0xf
ja case.0x428373.15
jmp dword [eax*4 + 0x42a4a0]
mov ebx, 1
cmp ecx, ebx
jl 0x42203e
mov ecx, dword [esi + 4]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jae 0x4230e9
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x4230bb
push 0
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.0042b9b0
add esp, 0x14
test eax, eax
je 0x4230d8
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x4230ac
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcb
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x4230d8
mov al, byte [ecx]
cmp al, byte [ebp + 0x2c]
jne 0x4230d8
cmp edi, 1
je 0x423092
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x2d]
je 0x423092
inc dword [esi + 4]
inc ebx
cmp ebx, dword [esi + 0x88]
jle 0x423068
jmp 0x42203e
cmp dword [ebp + 0x88], 0
je 0x423111
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x423111
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c219
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x42312b
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcb
mov eax, dword [ebp + 0x78]
mov edx, dword [esi + 4]
sub eax, ecx
cmp edx, eax
jbe 0x423194
cmp dword [ebp + 0x88], 0
je 0x42316b
cmp edx, dword [ebp + 0x84]
jbe 0x42316b
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x423185
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
lea eax, [ecx + edx]
mov dword [esi + 4], eax
jmp 0x422042
mov eax, dword [ebp + 0x78]
mov edx, dword [esi + 4]
sub eax, ecx
cmp edx, eax
jbe 0x423194
cmp dword [ebp + 0x88], 0
je 0x4231d0
cmp edx, dword [ebp + 0x84]
jbe 0x4231d0
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x4231ea
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
mov edx, 1
cmp ecx, edx
jl 0x422042
jmp 0x423210
mov ecx, dword [esi + 4]
cmp ecx, dword [ebp + 0x78]
jae 0x4232b1
movzx eax, byte [ecx]
inc ecx
sub eax, 0xa
mov dword [esi + 4], ecx
cmp eax, 0x7b
ja case.0x423232.14
movzx eax, byte [eax + 0x42a4f0]
jmp dword [eax*4 + 0x42a4e0]
cmp ecx, dword [ebp + 0x78]
jae case.0x423232.10
cmp byte [ecx], 0xa
jne case.0x423232.10
lea eax, [ecx + 1]
mov dword [esi + 4], eax
jmp case.0x423232.10
cmp dword [ebp + 0x64], 0
jne 0x42325f
inc edx
cmp edx, dword [esi + 0x88]
jle 0x423210
jmp 0x422042
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x423279
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x4232a2
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
cmp dword [ebp + 0x88], 0
je 0x4232d9
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x4232d9
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x4232f3
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
mov edx, 1
cmp ecx, edx
jl 0x422042
nop
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x78]
jae 0x423368
movzx ecx, byte [eax]
inc eax
mov dword [esi + 4], eax
cmp ecx, 9
je 0x42333f
cmp ecx, 0x20
je 0x42333f
cmp ecx, 0xa0
je 0x42333f
inc edx
cmp edx, dword [esi + 0x88]
jle 0x423310
jmp 0x422042
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x423359
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
cmp dword [ebp + 0x88], 0
je 0x423390
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x423390
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x4233aa
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
mov edx, 1
cmp ecx, edx
jl 0x422042
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x78]
jae 0x42341e
movzx ecx, byte [eax]
inc eax
mov dword [esi + 4], eax
cmp ecx, 9
je 0x4233e7
cmp ecx, 0x20
je 0x4233e7
cmp ecx, 0xa0
jne 0x4233f5
inc edx
cmp edx, dword [esi + 0x88]
jle 0x4233c6
jmp 0x422042
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x42340f
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
cmp dword [ebp + 0x88], 0
je 0x423446
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x423446
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x423460
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
mov edx, 1
cmp ecx, edx
jl 0x422042
lea esp, [esp]
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x78]
jae 0x4234d8
movzx ecx, byte [eax]
inc eax
mov dword [esi + 4], eax
cmp ecx, 0xa
jl 0x4234a1
cmp ecx, 0xd
jle 0x4234af
cmp ecx, 0x85
je 0x4234af
inc edx
cmp edx, dword [esi + 0x88]
jle 0x423480
jmp 0x422042
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x4234c9
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
cmp dword [ebp + 0x88], 0
je 0x423500
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x423500
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x42351a
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
mov edx, 1
cmp ecx, edx
jl 0x422042
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x78]
jae 0x42358e
movzx ecx, byte [eax]
inc eax
mov dword [esi + 4], eax
cmp ecx, 0xa
jl 0x423565
cmp ecx, 0xd
jle 0x423557
cmp ecx, 0x85
jne 0x423565
inc edx
cmp edx, dword [esi + 0x88]
jle 0x423536
jmp 0x422042
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x42357f
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
cmp dword [ebp + 0x88], 0
je 0x4235b6
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x4235b6
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x4235d0
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
mov edi, 1
cmp ecx, edi
jl 0x422042
lea esp, [esp]
mov edx, dword [esi + 4]
cmp edx, dword [ebp + 0x78]
jae 0x423641
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x38]
test byte [ecx + eax], 4
jne 0x423618
lea eax, [edx + 1]
inc edi
mov dword [esi + 4], eax
cmp edi, dword [esi + 0x88]
jle 0x4235f0
jmp 0x422042
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x423632
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
cmp dword [ebp + 0x88], 0
je 0x423669
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x423669
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x423683
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
mov edi, 1
cmp ecx, edi
jl 0x422042
nop
mov edx, dword [esi + 4]
cmp edx, dword [ebp + 0x78]
jae 0x4236f1
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x38]
test byte [ecx + eax], 4
je 0x4236c8
lea eax, [edx + 1]
inc edi
mov dword [esi + 4], eax
cmp edi, dword [esi + 0x88]
jle 0x4236a0
jmp 0x422042
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x4236e2
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
cmp dword [ebp + 0x88], 0
je 0x423719
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x423719
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x423733
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
mov edi, 1
cmp ecx, edi
jl 0x422042
nop
mov edx, dword [esi + 4]
cmp edx, dword [ebp + 0x78]
jae 0x4237a1
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x38]
test byte [ecx + eax], 1
jne 0x423778
lea eax, [edx + 1]
inc edi
mov dword [esi + 4], eax
cmp edi, dword [esi + 0x88]
jle 0x423750
jmp 0x422042
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x423792
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
cmp dword [ebp + 0x88], 0
je 0x4237c9
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x4237c9
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x4237e3
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
mov edi, 1
cmp ecx, edi
jl 0x422042
nop
mov edx, dword [esi + 4]
cmp edx, dword [ebp + 0x78]
jae 0x423851
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x38]
test byte [ecx + eax], 1
je 0x423828
lea eax, [edx + 1]
inc edi
mov dword [esi + 4], eax
cmp edi, dword [esi + 0x88]
jle 0x423800
jmp 0x422042
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x423842
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
cmp dword [ebp + 0x88], 0
je 0x423879
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x423879
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x423893
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
mov edi, 1
cmp ecx, edi
jl 0x422042
nop
mov edx, dword [esi + 4]
cmp edx, dword [ebp + 0x78]
jae 0x423901
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x38]
test byte [ecx + eax], 0x10
jne 0x4238d8
lea eax, [edx + 1]
inc edi
mov dword [esi + 4], eax
cmp edi, dword [esi + 0x88]
jle 0x4238b0
jmp 0x422042
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x4238f2
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
cmp dword [ebp + 0x88], 0
je 0x423929
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x423929
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x423943
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
mov edi, 1
cmp ecx, edi
jl 0x422042
nop
mov edx, dword [esi + 4]
cmp edx, dword [ebp + 0x78]
jae 0x4239b1
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x38]
test byte [ecx + eax], 0x10
je 0x423988
lea eax, [edx + 1]
inc edi
mov dword [esi + 4], eax
cmp edi, dword [esi + 0x88]
jle 0x423960
jmp 0x422042
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x4239a2
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
cmp dword [ebp + 0x88], 0
je 0x4239d9
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x4239d9
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x4239f3
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
cmp dword [esi + 0x74], 0x16
je 0x42a068
test ebx, ebx
jne 0x42a05a
mov dword [esi + 0x7c], ecx
jmp 0x426c95
mov eax, dword [esi + 4]
mov dword [esi + 0x2c], eax
mov eax, dword [esi + 0x58]
test eax, eax
js 0x42466e
cmp eax, 8
ja case.0x428373.15
jmp dword [eax*4 + 0x42a56c]
mov edi, dword [esi + 0x88]
cmp edi, dword [esi + 0x84]
jge 0x424638
nop
mov edx, dword [esi + 4]
mov eax, 1
cmp edx, dword [ebp + 0x78]
jae 0x423abb
movzx ecx, byte [edx]
test ebx, ebx
je 0x423a9e
cmp ecx, 0xc0
jb 0x423a9e
test cl, 0x20
jne 0x423a78
mov eax, 2
jmp 0x423a9e
test cl, 0x10
jne 0x423a84
mov eax, 3
jmp 0x423a9e
test cl, 8
jne 0x423a90
mov eax, 4
jmp 0x423a9e
test cl, 4
mov eax, 0
setne al
add eax, 5
cmp dword [esi + 0x60], 0
jne 0x424638
add eax, edx
inc edi
mov dword [esi + 4], eax
cmp edi, dword [esi + 0x84]
jl 0x423a50
jmp 0x424638
cmp dword [ebp + 0x88], 0
je 0x424638
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x424638
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jle 0x424638
jmp 0x41c4a7
mov ebx, dword [esi + 0x88]
cmp ebx, dword [esi + 0x84]
jge 0x424638
mov edi, dword [esi + 4]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x423c41
cmp dword [esp + 0x14], 0
movzx edx, byte [edi]
je 0x423be4
cmp edx, 0xc0
jb 0x423be4
test dl, 0x20
jne 0x423b43
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x423bdc
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x423b65
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x423bdc
and eax, 0x3f
test dl, 8
jne 0x423b85
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x423bdc
test dl, 4
jne 0x423bae
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x423bdc
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edx
and edx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4879d0]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x489bd0]
movzx eax, byte [eax*8 + 0x4868f1]
cmp eax, 9
je 0x423c1b
cmp eax, 5
je 0x423c1b
cmp eax, 8
je 0x423c1b
xor eax, eax
jmp 0x423c20
mov eax, 1
cmp eax, dword [esi + 0x60]
je 0x424638
lea eax, [edi + ecx]
inc ebx
mov dword [esi + 4], eax
cmp ebx, dword [esi + 0x84]
jl 0x423b02
jmp 0x424638
cmp dword [ebp + 0x88], 0
je 0x424638
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x424638
mov dword [ebp + 0x60], ecx
cmp dword [ebp + 0x88], ecx
jle 0x424638
jmp 0x41c219
mov eax, dword [esi + 0x88]
mov dword [esp + 0x1c], eax
cmp eax, dword [esi + 0x84]
jge 0x424638
jmp 0x423c90
mov edi, dword [esi + 4]
mov ebx, 1
cmp edi, dword [ebp + 0x78]
jae 0x423dcd
cmp dword [esp + 0x14], 0
movzx edx, byte [edi]
je 0x423d71
cmp edx, 0xc0
jb 0x423d71
test dl, 0x20
jne 0x423cd1
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ebx, 2
jmp 0x423d69
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x423cf3
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x423d69
and eax, 0x3f
test dl, 8
jne 0x423d13
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x423d69
test dl, 4
jne 0x423d3c
and edx, 3
mov ebx, 5
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x423d69
and edx, ebx
mov ebx, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edx
xor ecx, ecx
shr eax, 7
and edx, 0x7f
movzx eax, byte [eax + 0x4879d0]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x489bd0]
movzx eax, byte [eax*8 + 0x4868f1]
mov eax, dword [eax*4 + 0x486878]
cmp eax, dword [esi + 0x5c]
sete cl
cmp ecx, dword [esi + 0x60]
je 0x424638
lea eax, [edi + ebx]
mov dword [esi + 4], eax
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
cmp eax, dword [esi + 0x84]
jl 0x423c90
jmp 0x424638
cmp dword [ebp + 0x88], 0
je 0x424638
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x424638
mov dword [ebp + 0x60], ebx
cmp dword [ebp + 0x88], ebx
jle 0x424638
jmp 0x41c219
mov eax, dword [esi + 0x88]
mov dword [esp + 0x1c], eax
cmp eax, dword [esi + 0x84]
jge 0x424638
mov edi, dword [esi + 4]
mov ebx, 1
cmp edi, dword [ebp + 0x78]
jae 0x423dcd
cmp dword [esp + 0x14], 0
movzx edx, byte [edi]
je 0x423ef0
cmp edx, 0xc0
jb 0x423ef0
test dl, 0x20
jne 0x423e50
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ebx, 2
jmp 0x423ee8
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x423e72
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x423ee8
and eax, 0x3f
test dl, 8
jne 0x423e92
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x423ee8
test dl, 4
jne 0x423ebb
and edx, 3
mov ebx, 5
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x423ee8
and edx, ebx
mov ebx, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edx
xor ecx, ecx
shr eax, 7
and edx, 0x7f
movzx eax, byte [eax + 0x4879d0]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x489bd0]
movzx eax, byte [eax*8 + 0x4868f1]
cmp eax, dword [esi + 0x5c]
sete cl
cmp ecx, dword [esi + 0x60]
je 0x424638
lea eax, [edi + ebx]
mov dword [esi + 4], eax
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
cmp eax, dword [esi + 0x84]
jl 0x423e13
jmp 0x424638
mov eax, dword [esi + 0x88]
mov dword [esp + 0x1c], eax
cmp eax, dword [esi + 0x84]
jge 0x424638
jmp 0x423f60
mov edi, dword [esi + 4]
mov ebx, 1
cmp edi, dword [ebp + 0x78]
jae 0x423dcd
cmp dword [esp + 0x14], 0
movzx edx, byte [edi]
je 0x424041
cmp edx, 0xc0
jb 0x424041
test dl, 0x20
jne 0x423fa1
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ebx, 2
jmp 0x424039
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x423fc3
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x424039
and eax, 0x3f
test dl, 8
jne 0x423fe3
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x424039
test dl, 4
jne 0x42400c
and edx, 3
mov ebx, 5
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x424039
and edx, ebx
mov ebx, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edx
xor ecx, ecx
shr eax, 7
and edx, 0x7f
movzx eax, byte [eax + 0x4879d0]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x489bd0]
movzx eax, byte [eax*8 + 0x4868f0]
cmp eax, dword [esi + 0x5c]
sete cl
cmp ecx, dword [esi + 0x60]
je 0x424638
lea eax, [edi + ebx]
mov dword [esi + 4], eax
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
cmp eax, dword [esi + 0x84]
jl 0x423f60
jmp 0x424638
mov ebx, dword [esi + 0x88]
cmp ebx, dword [esi + 0x84]
jge 0x424638
jmp 0x4240b0
mov edi, dword [esi + 4]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x423c41
cmp dword [esp + 0x14], 0
movzx edx, byte [edi]
je 0x424192
cmp edx, 0xc0
jb 0x424192
test dl, 0x20
jne 0x4240f1
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x42418a
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x424113
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x42418a
and eax, 0x3f
test dl, 8
jne 0x424133
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x42418a
test dl, 4
jne 0x42415c
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x42418a
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edx
and edx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4879d0]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x489bd0]
movzx eax, byte [eax*8 + 0x4868f1]
mov eax, dword [eax*4 + 0x486878]
cmp eax, 1
je 0x4241cb
cmp eax, 3
je 0x4241cb
xor eax, eax
jmp 0x4241d0
mov eax, 1
cmp eax, dword [esi + 0x60]
je 0x424638
lea eax, [edi + ecx]
inc ebx
mov dword [esi + 4], eax
cmp ebx, dword [esi + 0x84]
jl 0x4240b0
jmp 0x424638
mov eax, dword [esi + 0x88]
mov dword [esp + 0x1c], eax
cmp eax, dword [esi + 0x84]
jge 0x424638
jmp 0x424210
mov edi, dword [esi + 4]
mov ebx, 1
cmp edi, dword [ebp + 0x78]
jae 0x423dcd
cmp dword [esp + 0x14], 0
movzx edx, byte [edi]
je 0x4242f1
cmp edx, 0xc0
jb 0x4242f1
test dl, 0x20
jne 0x424251
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ebx, 2
jmp 0x4242e9
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x424273
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x4242e9
and eax, 0x3f
test dl, 8
jne 0x424293
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4242e9
test dl, 4
jne 0x4242bc
and edx, 3
mov ebx, 5
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x4242e9
and edx, ebx
mov ebx, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4879d0]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x489bd0]
movzx eax, byte [eax*8 + 0x4868f1]
cmp dword [eax*4 + 0x486878], 6
je 0x424339
cmp edx, 9
je 0x424339
cmp edx, 0xa
je 0x424339
cmp edx, 0xc
je 0x424339
cmp edx, 0xd
je 0x424339
xor eax, eax
jmp 0x42433e
mov eax, 1
cmp eax, dword [esi + 0x60]
je 0x424638
lea eax, [edi + ebx]
mov dword [esi + 4], eax
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
cmp eax, dword [esi + 0x84]
jl 0x424210
jmp 0x424638
mov eax, dword [esi + 0x88]
mov dword [esp + 0x1c], eax
cmp eax, dword [esi + 0x84]
jge 0x424638
lea ecx, [ecx]
mov edi, dword [esi + 4]
mov ebx, 1
cmp edi, dword [ebp + 0x78]
jae 0x423dcd
cmp dword [esp + 0x14], 0
movzx edx, byte [edi]
je 0x424461
cmp edx, 0xc0
jb 0x424461
test dl, 0x20
jne 0x4243c1
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ebx, 2
jmp 0x424459
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x4243e3
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x424459
and eax, 0x3f
test dl, 8
jne 0x424403
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x424459
test dl, 4
jne 0x42442c
and edx, 3
mov ebx, 5
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x424459
and edx, ebx
mov ebx, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4879d0]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x489bd0]
movzx eax, byte [eax*8 + 0x4868f1]
cmp dword [eax*4 + 0x486878], 6
je 0x4244ae
cmp edx, 9
je 0x4244ae
cmp edx, 0xa
je 0x4244ae
cmp edx, 0xb
je 0x4244ae
cmp edx, 0xc
je 0x4244ae
cmp edx, 0xd
je 0x4244ae
xor eax, eax
jmp 0x4244b3
mov eax, 1
cmp eax, dword [esi + 0x60]
je 0x424638
lea eax, [edi + ebx]
mov dword [esi + 4], eax
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
cmp eax, dword [esi + 0x84]
jl 0x424380
jmp 0x424638
mov eax, dword [esi + 0x88]
mov dword [esp + 0x1c], eax
cmp eax, dword [esi + 0x84]
jge 0x424638
mov edi, dword [esi + 4]
mov ebx, 1
cmp edi, dword [ebp + 0x78]
jae 0x423dcd
cmp dword [esp + 0x14], 0
movzx edx, byte [edi]
je 0x4245d3
cmp edx, 0xc0
jb 0x4245d3
test dl, 0x20
jne 0x424533
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ebx, 2
jmp 0x4245cb
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x424555
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x4245cb
and eax, 0x3f
test dl, 8
jne 0x424575
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4245cb
test dl, 4
jne 0x42459e
and edx, 3
mov ebx, 5
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x4245cb
and edx, ebx
mov ebx, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4879d0]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x489bd0]
movzx eax, byte [eax*8 + 0x4868f1]
mov eax, dword [eax*4 + 0x486878]
cmp eax, 1
je 0x424613
cmp eax, 3
je 0x424613
cmp edx, 0x5f
je 0x424613
xor eax, eax
jmp 0x424618
mov eax, 1
cmp eax, dword [esi + 0x60]
je 0x424638
lea eax, [edi + ebx]
mov dword [esi + 4], eax
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
cmp eax, dword [esi + 0x84]
jl 0x4244f2
cmp dword [esp + 0x24], 0
jne 0x41aeef
mov ebx, dword [esp + 0x14]
push 0x12c
call dword [0x3580d38]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x427828
mov dword [esi + 0x128], 0x2c
jmp 0x426fb9
mov eax, dword [esi + 0x74]
cmp eax, 0x16
jne 0x424974
mov eax, dword [esi + 0x88]
mov dword [esp + 0x1c], eax
cmp eax, dword [esi + 0x84]
jge 0x424942
mov ebx, dword [ebp + 0x78]
mov edi, dword [esi + 4]
mov ecx, 1
cmp edi, ebx
jae 0x42491b
mov ebx, dword [esp + 0x14]
movzx edx, byte [edi]
test ebx, ebx
je 0x424775
cmp edx, 0xc0
jb 0x424775
test dl, 0x20
jne 0x4246d4
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x42476d
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x4246f6
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x42476d
and eax, 0x3f
test dl, 8
jne 0x424716
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x42476d
test dl, 4
jne 0x42473f
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x42476d
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edx
and edx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4879d0]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x489bd0]
movzx eax, byte [eax*8 + 0x4868f1]
cmp dword [eax*4 + 0x486878], 2
je 0x424942
add dword [esi + 4], ecx
mov ebx, dword [ebp + 0x78]
cmp dword [esi + 4], ebx
jae 0x424904
jmp 0x4247c0
cmp dword [esp + 0x14], 0
mov ecx, 1
mov eax, dword [esi + 4]
movzx edx, byte [eax]
je 0x4248c7
cmp edx, 0xc0
jb 0x4248c7
test dl, 0x20
jne 0x4247f8
movzx eax, byte [eax + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x4248bf
test dl, 0x10
jne 0x42481d
movzx ecx, byte [eax + 1]
and edx, 0xf
mov eax, dword [esi + 4]
and ecx, 0x3f
shl edx, 6
or edx, ecx
mov ecx, 3
movzx eax, byte [eax + 2]
jmp 0x4248bf
test dl, 8
jne 0x42484e
movzx ecx, byte [eax + 1]
and edx, 7
mov eax, dword [esi + 4]
and ecx, 0x3f
shl edx, 6
or ecx, edx
shl ecx, 6
movzx edx, byte [eax + 2]
movzx eax, byte [eax + 3]
and edx, 0x3f
or edx, ecx
mov ecx, 4
jmp 0x4248bf
movzx eax, byte [eax + 1]
and eax, 0x3f
test dl, 4
jne 0x424888
mov ecx, dword [esi + 4]
and edx, 3
shl edx, 6
or eax, edx
shl eax, 6
movzx edx, byte [ecx + 2]
and edx, 0x3f
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
mov ecx, 5
jmp 0x4248bf
and edx, ecx
mov ecx, dword [esi + 4]
shl edx, 6
or eax, edx
shl eax, 6
movzx edx, byte [ecx + 2]
and edx, 0x3f
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 5]
mov ecx, 6
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edx
and edx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4879d0]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x489bd0]
movzx eax, byte [eax*8 + 0x4868f1]
cmp dword [eax*4 + 0x486878], 2
jne 0x424904
add dword [esi + 4], ecx
mov ebx, dword [ebp + 0x78]
cmp dword [esi + 4], ebx
jb 0x4247c0
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
cmp eax, dword [esi + 0x84]
jl 0x424693
jmp 0x42493e
cmp dword [ebp + 0x88], 0
je 0x42493e
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x42493e
mov dword [ebp + 0x60], ecx
cmp dword [ebp + 0x88], ecx
jg 0x41c219
mov ebx, dword [esp + 0x14]
cmp dword [esp + 0x24], 0
jne 0x41aeef
push 0x12c
call dword [0x3580d38]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x427828
mov dword [esi + 0x128], 0x2d
jmp 0x426fb9
add eax, 0xfffffffa
test ebx, ebx
je 0x4256ff
cmp eax, 0xf
ja case.0x428373.15
jmp dword [eax*4 + 0x42a590]
mov eax, dword [esi + 0x84]
mov ebx, dword [esi + 0x88]
cmp eax, 0x7fffffff
jge 0x424a66
cmp ebx, eax
jge 0x4256eb
mov edi, edi
mov ecx, dword [esi + 4]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jae 0x424a31
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x4249e2
push dword [esp + 0x14]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.0042b9b0
add esp, 0x14
test eax, eax
jne 0x4256eb
jmp 0x424a07
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x424a07
mov al, byte [ecx]
cmp al, byte [ebp + 0x2c]
jne 0x424a07
cmp edi, 1
je 0x4256eb
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x2d]
je 0x4256eb
inc dword [esi + 4]
mov ecx, dword [esi + 4]
cmp ecx, dword [ebp + 0x78]
jae 0x424a23
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x424a23
inc ecx
mov dword [esi + 4], ecx
cmp ecx, dword [ebp + 0x78]
jb 0x424a12
inc ebx
cmp ebx, dword [esi + 0x84]
jl 0x4249b0
jmp 0x4256eb
cmp dword [ebp + 0x88], 0
je 0x4256eb
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x4256eb
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jle 0x4256eb
jmp 0x41c219
cmp ebx, eax
jge 0x4256eb
mov edi, edi
mov ecx, dword [esi + 4]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jae 0x424a31
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x424a9e
push dword [esp + 0x14]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.0042b9b0
add esp, 0x14
test eax, eax
jne 0x4256eb
jmp 0x424ac3
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x424ac3
mov al, byte [ecx]
cmp al, byte [ebp + 0x2c]
jne 0x424ac3
cmp edi, 1
je 0x4256eb
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x2d]
je 0x4256eb
inc dword [esi + 4]
mov ecx, dword [esi + 4]
cmp ecx, dword [ebp + 0x78]
jae 0x424ae1
mov edi, edi
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x424ae1
inc ecx
mov dword [esi + 4], ecx
cmp ecx, dword [ebp + 0x78]
jb 0x424ad0
inc ebx
cmp ebx, dword [esi + 0x84]
jl 0x424a70
jmp 0x4256eb
mov eax, dword [esi + 0x84]
cmp eax, 0x7fffffff
jge 0x424b7e
mov edi, dword [esi + 0x88]
cmp edi, eax
jge 0x4256ef
mov edx, dword [ebp + 0x78]
mov eax, dword [esi + 4]
cmp eax, edx
jae 0x424b49
inc eax
mov dword [esi + 4], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x424b3b
mov ecx, dword [esi + 4]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x424b3b
lea eax, [ecx + 1]
mov dword [esi + 4], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x424b23
inc edi
cmp edi, dword [esi + 0x84]
jl 0x424b11
jmp 0x4256ef
cmp dword [ebp + 0x88], 0
je 0x4256ef
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x4256ef
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jle 0x4256ef
jmp 0x41c4a7
mov eax, dword [ebp + 0x78]
mov dword [esi + 4], eax
cmp dword [ebp + 0x88], 0
je 0x4256ef
jmp 0x424b59
mov edx, dword [ebp + 0x78]
mov eax, edx
mov ecx, dword [esi + 0x84]
mov edi, dword [esi + 4]
sub eax, edi
sub ecx, dword [esi + 0x88]
cmp ecx, eax
jbe 0x424bc5
mov dword [esi + 4], edx
cmp dword [ebp + 0x88], 0
je 0x4256ef
cmp edx, dword [ebp + 0x84]
jmp 0x424b5f
lea eax, [edi + ecx]
mov dword [esi + 4], eax
jmp 0x4256ef
mov ebx, dword [esi + 0x88]
cmp ebx, dword [esi + 0x84]
jge 0x4256eb
mov edi, dword [esi + 4]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x424a31
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x424ced
test dl, 0x20
jne 0x424c20
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x424ced
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x424c4a
movzx eax, byte [edi + 2]
and edx, 0xf
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, 3
jmp 0x424ced
test dl, 8
jne 0x424c79
movzx eax, byte [edi + 2]
and edx, 7
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 4
jmp 0x424ced
test dl, 4
jne 0x424cb1
movzx eax, byte [edi + 2]
and edx, 3
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 5
jmp 0x424ced
and edx, eax
movzx eax, byte [edi + 2]
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 6
cmp edx, 0xd
jne 0x424d09
lea eax, [edi + 1]
mov dword [esi + 4], eax
cmp eax, dword [ebp + 0x78]
jae 0x4256eb
cmp byte [eax], 0xa
jne 0x424d43
inc eax
jmp 0x424d40
cmp edx, 0xa
je 0x424d3e
cmp dword [ebp + 0x64], 0
jne 0x4256eb
cmp edx, 0xb
je 0x424d3e
cmp edx, 0xc
je 0x424d3e
cmp edx, 0x85
je 0x424d3e
cmp edx, 0x2028
je 0x424d3e
cmp edx, 0x2029
jne 0x4256eb
add eax, edi
mov dword [esi + 4], eax
inc ebx
cmp ebx, dword [esi + 0x84]
jl 0x424be2
jmp 0x4256eb
mov ebx, dword [esi + 0x88]
cmp ebx, dword [esi + 0x84]
jge 0x4256eb
jmp 0x424d70
mov edi, dword [esi + 4]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x424ec9
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x424e47
test dl, 0x20
jne 0x424da6
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x424e3f
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x424dc8
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x424e3f
and eax, 0x3f
test dl, 8
jne 0x424de8
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x424e3f
test dl, 4
jne 0x424e11
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x424e3f
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp edx, 0x180e
ja 0x424e6d
je 0x424e9b
cmp edx, 0xa0
ja 0x424e65
je 0x424e9b
cmp edx, 9
je 0x424e9b
cmp edx, 0x20
jmp 0x424e95
cmp edx, 0x1680
jmp 0x424e95
cmp edx, 0x205f
ja 0x424e8f
je 0x424e9b
cmp edx, 0x2000
jb 0x424e97
cmp edx, 0x200a
jbe 0x424e9b
cmp edx, 0x202f
jmp 0x424e95
cmp edx, 0x3000
je 0x424e9b
xor edx, edx
jmp 0x424ea0
mov edx, 1
xor eax, eax
cmp dword [esi + 0x74], 0x12
sete al
cmp edx, eax
je 0x4256eb
lea eax, [edi + ecx]
inc ebx
mov dword [esi + 4], eax
cmp ebx, dword [esi + 0x84]
jl 0x424d70
jmp 0x4256eb
cmp dword [ebp + 0x88], 0
je 0x4256eb
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x4256eb
mov dword [ebp + 0x60], ecx
cmp dword [ebp + 0x88], ecx
jle 0x4256eb
jmp 0x41c219
mov ebx, dword [esi + 0x88]
cmp ebx, dword [esi + 0x84]
jge 0x4256eb
jmp 0x424f10
mov edi, dword [esi + 4]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x424ec9
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x424fe3
test dl, 0x20
jne 0x424f42
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x424fdb
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x424f64
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x424fdb
and eax, 0x3f
test dl, 8
jne 0x424f84
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x424fdb
test dl, 4
jne 0x424fad
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x424fdb
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp edx, 0x85
ja 0x425022
je 0x42502d
cmp edx, 0xa
jb 0x424ff7
cmp edx, 0xd
jbe 0x42502d
xor edx, edx
xor eax, eax
cmp dword [esi + 0x74], 0x14
sete al
cmp edx, eax
je 0x4256eb
lea eax, [edi + ecx]
inc ebx
mov dword [esi + 4], eax
cmp ebx, dword [esi + 0x84]
jl 0x424f10
jmp 0x4256eb
lea eax, [edx - 0x2028]
cmp eax, 1
ja 0x424ff7
mov edx, 1
jmp 0x424ff9
mov ebx, dword [esi + 0x88]
cmp ebx, dword [esi + 0x84]
jge 0x4256eb
jmp 0x425050
mov edi, dword [esi + 4]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x424ec9
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x425127
test dl, 0x20
jne 0x425086
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x42511f
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x4250a8
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x42511f
and eax, 0x3f
test dl, 8
jne 0x4250c8
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x42511f
test dl, 4
jne 0x4250f1
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x42511f
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp edx, 0x100
jae 0x42513c
mov eax, dword [ebp + 0x38]
test byte [edx + eax], 4
jne 0x4256eb
lea eax, [edi + ecx]
inc ebx
mov dword [esi + 4], eax
cmp ebx, dword [esi + 0x84]
jl 0x425050
jmp 0x4256eb
mov ebx, dword [esi + 0x88]
cmp ebx, dword [esi + 0x84]
jge 0x4256eb
jmp 0x425170
mov edi, dword [esi + 4]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x424ec9
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x425247
test dl, 0x20
jne 0x4251a6
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x42523f
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x4251c8
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x42523f
and eax, 0x3f
test dl, 8
jne 0x4251e8
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x42523f
test dl, 4
jne 0x425211
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x42523f
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp edx, 0x100
jae 0x4256eb
mov eax, dword [ebp + 0x38]
test byte [edx + eax], 4
je 0x4256eb
lea eax, [edi + ecx]
inc ebx
mov dword [esi + 4], eax
cmp ebx, dword [esi + 0x84]
jl 0x425170
jmp 0x4256eb
mov ebx, dword [esi + 0x88]
cmp ebx, dword [esi + 0x84]
jge 0x4256eb
lea ebx, [ebx]
mov edi, dword [esi + 4]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x424ec9
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x425367
test dl, 0x20
jne 0x4252c6
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x42535f
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x4252e8
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x42535f
and eax, 0x3f
test dl, 8
jne 0x425308
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x42535f
test dl, 4
jne 0x425331
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x42535f
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp edx, 0x100
jae 0x42537c
mov eax, dword [ebp + 0x38]
test byte [edx + eax], 1
jne 0x4256eb
lea eax, [edi + ecx]
inc ebx
mov dword [esi + 4], eax
cmp ebx, dword [esi + 0x84]
jl 0x425290
jmp 0x4256eb
mov ebx, dword [esi + 0x88]
cmp ebx, dword [esi + 0x84]
jge 0x4256eb
jmp 0x4253b0
mov edi, dword [esi + 4]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x424ec9
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x425487
test dl, 0x20
jne 0x4253e6
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x42547f
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x425408
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x42547f
and eax, 0x3f
test dl, 8
jne 0x425428
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x42547f
test dl, 4
jne 0x425451
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x42547f
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp edx, 0x100
jae 0x4256eb
mov eax, dword [ebp + 0x38]
test byte [edx + eax], 1
je 0x4256eb
lea eax, [edi + ecx]
inc ebx
mov dword [esi + 4], eax
cmp ebx, dword [esi + 0x84]
jl 0x4253b0
jmp 0x4256eb
mov ebx, dword [esi + 0x88]
cmp ebx, dword [esi + 0x84]
jge 0x4256eb
lea ebx, [ebx]
mov edi, dword [esi + 4]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x424ec9
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x4255a7
test dl, 0x20
jne 0x425506
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x42559f
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x425528
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x42559f
and eax, 0x3f
test dl, 8
jne 0x425548
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x42559f
test dl, 4
jne 0x425571
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x42559f
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp edx, 0x100
jae 0x4255bc
mov eax, dword [ebp + 0x38]
test byte [edx + eax], 0x10
jne 0x4256eb
lea eax, [edi + ecx]
inc ebx
mov dword [esi + 4], eax
cmp ebx, dword [esi + 0x84]
jl 0x4254d0
jmp 0x4256eb
mov ebx, dword [esi + 0x88]
cmp ebx, dword [esi + 0x84]
jge 0x4256eb
jmp 0x4255f0
mov edi, dword [esi + 4]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x424ec9
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x4256c7
test dl, 0x20
jne 0x425626
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x4256bf
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x425648
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x4256bf
and eax, 0x3f
test dl, 8
jne 0x425668
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4256bf
test dl, 4
jne 0x425691
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x4256bf
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp edx, 0x100
jae 0x4256eb
mov eax, dword [ebp + 0x38]
test byte [edx + eax], 0x10
je 0x4256eb
lea eax, [edi + ecx]
inc ebx
mov dword [esi + 4], eax
cmp ebx, dword [esi + 0x84]
jl 0x4255f0
mov ebx, dword [esp + 0x14]
cmp dword [esp + 0x24], 0
jne 0x41aeef
jmp 0x4287ce
cmp eax, 0xf
ja case.0x428373.15
jmp dword [eax*4 + 0x42a5d0]
mov ebx, dword [esi + 0x88]
cmp ebx, dword [esi + 0x84]
jge 0x425746
lea ecx, [ecx]
mov ecx, dword [esi + 4]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jae 0x425785
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x42575a
push 0
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.0042b9b0
add esp, 0x14
test eax, eax
je 0x425777
mov ebx, dword [esp + 0x14]
cmp dword [esp + 0x24], 0
jne 0x41aeef
jmp 0x426f8b
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x425777
mov al, byte [ecx]
cmp al, byte [ebp + 0x2c]
jne 0x425777
cmp edi, 1
je 0x425746
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x2d]
je 0x425746
inc dword [esi + 4]
inc ebx
cmp ebx, dword [esi + 0x84]
jl 0x425720
jmp 0x425746
cmp dword [ebp + 0x88], 0
je 0x425746
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x425746
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jle 0x425746
jmp 0x41c219
mov edx, dword [ebp + 0x78]
mov eax, edx
mov ecx, dword [esi + 0x84]
mov edi, dword [esi + 4]
sub eax, edi
sub ecx, dword [esi + 0x88]
cmp ecx, eax
jbe 0x4257fd
mov dword [esi + 4], edx
cmp dword [ebp + 0x88], 0
je 0x42574a
cmp edx, dword [ebp + 0x84]
jbe 0x42574a
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jle 0x42574a
jmp 0x41c4a7
lea eax, [edi + ecx]
mov dword [esi + 4], eax
jmp 0x42574a
mov edx, dword [esi + 0x88]
cmp edx, dword [esi + 0x84]
jge 0x42574a
lea ebx, [ebx]
mov ecx, dword [esi + 4]
cmp ecx, dword [ebp + 0x78]
jae 0x42587f
movzx eax, byte [ecx]
cmp eax, 0xd
jne 0x425847
lea eax, [ecx + 1]
mov dword [esi + 4], eax
cmp eax, dword [ebp + 0x78]
jae 0x42574a
cmp byte [eax], 0xa
jne 0x425871
inc eax
jmp 0x42586e
cmp eax, 0xa
je 0x42586b
cmp dword [ebp + 0x64], 0
jne 0x42574a
cmp eax, 0xb
je 0x42586b
cmp eax, 0xc
je 0x42586b
cmp eax, 0x85
jne 0x42574a
lea eax, [ecx + 1]
mov dword [esi + 4], eax
inc edx
cmp edx, dword [esi + 0x84]
jl 0x425820
jmp 0x42574a
cmp dword [ebp + 0x88], 0
je 0x42574a
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x84]
jbe 0x42574a
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jle 0x42574a
jmp 0x41c4a7
mov edx, dword [esi + 0x88]
cmp edx, dword [esi + 0x84]
jge 0x42574a
mov ecx, dword [esi + 4]
cmp ecx, dword [ebp + 0x78]
jae 0x42587f
movzx eax, byte [ecx]
cmp eax, 9
je 0x42574a
cmp eax, 0x20
je 0x42574a
cmp eax, 0xa0
je 0x42574a
lea eax, [ecx + 1]
inc edx
mov dword [esi + 4], eax
cmp edx, dword [esi + 0x84]
jl 0x4258c6
jmp 0x42574a
mov edx, dword [esi + 0x88]
cmp edx, dword [esi + 0x84]
jge 0x42574a
mov ecx, dword [esi + 4]
cmp ecx, dword [ebp + 0x78]
jae 0x42587f
movzx eax, byte [ecx]
cmp eax, 9
je 0x425938
cmp eax, 0x20
je 0x425938
cmp eax, 0xa0
jne 0x42574a
lea eax, [ecx + 1]
inc edx
mov dword [esi + 4], eax
cmp edx, dword [esi + 0x84]
jl 0x425914
jmp 0x42574a
mov edx, dword [esi + 0x88]
cmp edx, dword [esi + 0x84]
jge 0x42574a
mov edi, edi
mov ecx, dword [esi + 4]
cmp ecx, dword [ebp + 0x78]
jae 0x42587f
movzx eax, byte [ecx]
cmp eax, 0xa
je 0x42574a
cmp eax, 0xb
je 0x42574a
cmp eax, 0xc
je 0x42574a
cmp eax, 0xd
je 0x42574a
cmp eax, 0x85
je 0x42574a
lea eax, [ecx + 1]
inc edx
mov dword [esi + 4], eax
cmp edx, dword [esi + 0x84]
jl 0x425960
jmp 0x42574a
mov edx, dword [esi + 0x88]
cmp edx, dword [esi + 0x84]
jge 0x42574a
mov ecx, dword [esi + 4]
cmp ecx, dword [ebp + 0x78]
jae 0x42587f
movzx eax, byte [ecx]
cmp eax, 0xa
je 0x4259f2
cmp eax, 0xb
je 0x4259f2
cmp eax, 0xc
je 0x4259f2
cmp eax, 0xd
je 0x4259f2
cmp eax, 0x85
jne 0x42574a
lea eax, [ecx + 1]
inc edx
mov dword [esi + 4], eax
cmp edx, dword [esi + 0x84]
jl 0x4259c4
jmp 0x42574a
mov edi, dword [esi + 0x88]
cmp edi, dword [esi + 0x84]
jge 0x42574a
jmp 0x425a20
mov edx, dword [esi + 4]
cmp edx, dword [ebp + 0x78]
jae 0x42587f
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x38]
test byte [ecx + eax], 4
jne 0x42574a
lea eax, [edx + 1]
inc edi
mov dword [esi + 4], eax
cmp edi, dword [esi + 0x84]
jl 0x425a20
jmp 0x42574a
mov edi, dword [esi + 0x88]
cmp edi, dword [esi + 0x84]
jge 0x42574a
mov edx, dword [esi + 4]
cmp edx, dword [ebp + 0x78]
jae 0x42587f
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x38]
test byte [ecx + eax], 4
je 0x42574a
lea eax, [edx + 1]
inc edi
mov dword [esi + 4], eax
cmp edi, dword [esi + 0x84]
jl 0x425a62
jmp 0x42574a
mov edi, dword [esi + 0x88]
cmp edi, dword [esi + 0x84]
jge 0x42574a
mov edx, dword [esi + 4]
cmp edx, dword [ebp + 0x78]
jae 0x42587f
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x38]
test byte [ecx + eax], 1
jne 0x42574a
lea eax, [edx + 1]
inc edi
mov dword [esi + 4], eax
cmp edi, dword [esi + 0x84]
jl 0x425aa4
jmp 0x42574a
mov edi, dword [esi + 0x88]
cmp edi, dword [esi + 0x84]
jge 0x42574a
jmp 0x425af0
mov edx, dword [esi + 4]
cmp edx, dword [ebp + 0x78]
jae 0x42587f
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x38]
test byte [ecx + eax], 1
je 0x42574a
lea eax, [edx + 1]
inc edi
mov dword [esi + 4], eax
cmp edi, dword [esi + 0x84]
jl 0x425af0
jmp 0x42574a
mov edi, dword [esi + 0x88]
cmp edi, dword [esi + 0x84]
jge 0x42574a
mov edx, dword [esi + 4]
cmp edx, dword [ebp + 0x78]
jae 0x42587f
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x38]
test byte [ecx + eax], 0x10
jne 0x42574a
lea eax, [edx + 1]
inc edi
mov dword [esi + 4], eax
cmp edi, dword [esi + 0x84]
jl 0x425b32
jmp 0x42574a
mov edi, dword [esi + 0x88]
cmp edi, dword [esi + 0x84]
jge 0x42574a
mov edx, dword [esi + 4]
cmp edx, dword [ebp + 0x78]
jae 0x42587f
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x38]
test byte [ecx + eax], 0x10
je 0x42574a
lea eax, [edx + 1]
inc edi
mov dword [esi + 4], eax
cmp edi, dword [esi + 0x84]
jl 0x425b74
jmp 0x42574a
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x425bbe
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a1cf
mov edi, 0xfffffffb
mov ebx, dword [esp + 0x14]
mov eax, dword [esi + 0x128]
dec eax
cmp eax, 0x41
ja case.default.0x425bdf
jmp dword [eax*4 + 0x42a610]
cmp edi, 0xfffffc1c
je 0x425ca3
cmp edi, 0xfffffc20
jne 0x425c2e
mov eax, dword [esi + 8]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add ecx, dword [esi + 8]
mov dword [esi + 0x28], ecx
cmp dword [ebp + 0x7c], ecx
jae case.0x425bdf.49
mov eax, dword [esi + 8]
cmp byte [eax], 0x71
je 0x425c2a
cmp byte [ecx], 0x71
jne case.0x425bdf.49
xor edi, edi
jmp 0x425c36
test edi, edi
jne case.0x425bdf.49
mov eax, dword [esi + 0x98]
mov dword [ebp + 0x90], eax
mov eax, dword [esi + 8]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add dword [esi + 8], ecx
mov eax, dword [esi + 0x24]
mov dword [ebp + 0xac], eax
mov eax, dword [esi + 8]
cmp byte [eax], 0x71
jne 0x425ca3
cmp dword [esi + 0x94], 0x82
jl 0x425c7c
mov dword [ebp + 0x98], 2
push 0x12c
call dword [0x3580d38]
mov edx, eax
add esp, 4
test edx, edx
je 0x41af4d
mov dword [esi + 0x128], 1
jmp 0x41b0b2
mov edx, dword [esi + 0x90]
mov ecx, dword [ebp + 0xc]
mov eax, dword [esi + 0x9c]
mov dword [ecx + edx*4], eax
mov edx, dword [esi + 0x90]
mov ecx, dword [ebp + 0xc]
mov eax, dword [esi + 0xa0]
mov dword [ecx + edx*4 + 4], eax
mov edx, dword [ebp + 0x10]
sub edx, dword [esi + 0x8c]
mov ecx, dword [ebp + 0xc]
mov eax, dword [esi + 0xa4]
mov dword [ecx + edx*4], eax
lea ecx, [esp + 0x28]
mov eax, esi
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x425cf7
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
jne 0x425bcf
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1b0
ret
cmp edi, 0xfffffc20
jne 0x425d91
mov eax, dword [esi + 8]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add ecx, dword [esi + 8]
mov dword [esi + 0x28], ecx
cmp dword [ebp + 0x7c], ecx
jae case.0x425bdf.49
mov eax, dword [esi + 8]
cmp byte [eax], 0x71
je 0x425d40
cmp byte [ecx], 0x71
jne case.0x425bdf.49
mov eax, dword [esi + 8]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add dword [esi + 8], ecx
mov eax, dword [esi + 0x24]
mov dword [ebp + 0xac], eax
mov eax, dword [esi + 8]
cmp byte [eax], 0x71
je case.0x41af1c.123
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x425d82
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
test edi, edi
je 0x425d40
cmp edi, 0xfffffc1c
jne case.0x425bdf.49
mov edx, dword [esi + 8]
mov al, byte [edx]
cmp al, 0x7b
je 0x425dd3
cmp al, 0x71
jne 0x425dc4
mov edi, edi
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
cmp byte [edx], 0x71
je 0x425db0
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
sub edx, ecx
mov eax, dword [ebp + 0xb4]
sub eax, edx
neg eax
sbb eax, eax
and edi, eax
jmp case.0x425bdf.49
mov eax, dword [esi + 0x94]
cmp eax, 0x82
jge 0x425e2a
cmp eax, 0x7b
je 0x425e2a
cmp dword [ebp + 0x68], 0
jne 0x425e34
mov edx, dword [esi + 8]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
cmp byte [ecx + edx], 0x71
je 0x425e34
mov ecx, edx
movzx eax, byte [ecx]
movzx eax, byte [eax + 0x4867d8]
add eax, ecx
mov dword [esi + 8], eax
jmp 0x41ae50
mov dword [ebp + 0x98], 2
mov eax, dword [ebp + 0xac]
push 0x12c
mov dword [esi + 0x24], eax
call dword [0x3580d38]
mov edx, eax
add esp, 4
test edx, edx
je 0x41af4d
mov dword [esi + 0x128], 2
jmp 0x41b0b2
cmp edi, 1
jne 0x425eb9
mov eax, dword [ebp + 0x8c]
cmp eax, dword [esi + 0x10]
jle 0x425e77
mov dword [esi + 0x10], eax
mov dword [esi + 0x50], 1
mov edx, dword [esi + 8]
movzx ecx, byte [edx + 4]
movzx eax, byte [edx + 5]
add edx, 3
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 8], edx
cmp byte [edx], 0x71
jne 0x425ed6
jmp 0x425ea0
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 8], edx
cmp byte [edx], 0x71
je 0x425ea0
jmp 0x425ed6
test edi, edi
je 0x425ec9
cmp edi, 0xfffffc20
jne case.0x425bdf.49
mov dword [esi + 0x50], 0
mov eax, dword [esi + 0x70]
add dword [esi + 8], eax
cmp dword [esi + 0x50], 0
jne 0x425ee8
mov eax, dword [esi + 8]
cmp byte [eax], 0x71
jne 0x41b7a7
cmp dword [esi + 0x94], 0x86
jne 0x427596
push 0x12c
mov dword [ebp + 0x98], 2
call dword [0x3580d38]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x41af4d
mov dword [esi + 0x128], 0x31
mov eax, dword [esi + 4]
mov dword [ecx + 4], eax
mov eax, dword [esi + 8]
add eax, 3
jmp 0x426fc2
cmp edi, 1
je 0x425f9d
cmp edi, 0xfffffc19
je 0x425f9d
test edi, edi
je 0x425f52
cmp edi, 0xfffffc20
jne case.0x425bdf.49
mov eax, dword [esi + 8]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add dword [esi + 8], ecx
mov eax, dword [esi + 0x24]
mov dword [ebp + 0xac], eax
mov eax, dword [esi + 8]
cmp byte [eax], 0x71
jne 0x425fa3
push 0x12c
call dword [0x3580d38]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x41af4d
mov dword [esi + 0x128], 4
jmp 0x42609f
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 8]
cmp byte [eax], 0x72
jne 0x425fd4
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x425fc5
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
cmp dword [esi + 0x50], 0
jne 0x4260f5
mov edx, dword [esi + 8]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 8], edx
cmp byte [edx], 0x71
je 0x425fe1
lea eax, [edx + 3]
mov dword [esi + 8], eax
mov eax, dword [ebp + 0x8c]
mov dword [esi + 0x10], eax
jmp 0x41aeef
mov eax, dword [esi + 0x24]
mov dword [ebp + 0xac], eax
cmp edi, 1
je 0x426121
cmp edi, 0xfffffc19
je 0x426121
cmp edi, 0xfffffc1e
je 0x4260d1
cmp edi, 0xfffffc1d
je 0x4260d1
cmp edi, 0xfffffc1a
je 0x4260d1
test edi, edi
je 0x42605e
cmp edi, 0xfffffc20
jne case.0x425bdf.49
mov eax, dword [esi + 8]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add dword [esi + 8], ecx
mov edx, dword [esi + 8]
cmp byte [edx], 0x71
jne 0x4260eb
push 0x12c
call dword [0x3580d38]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x41af4d
mov dword [esi + 0x128], 5
mov eax, dword [esi + 4]
mov dword [ecx + 4], eax
mov eax, dword [esi + 8]
add eax, 3
mov dword [ecx + 8], eax
mov eax, dword [esi + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [esi + 0x10]
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], 0
mov eax, dword [esi + 0x18]
inc eax
mov dword [ecx + 0x18], eax
mov dword [ecx], esi
mov esi, ecx
jmp 0x41ae2f
mov edx, dword [esi + 8]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 8], edx
cmp byte [edx], 0x71
je 0x4260d4
cmp dword [esi + 0x50], 0
je 0x426337
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x42610f
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a13c
mov edi, 1
jmp 0x425bcf
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x42613b
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
mov eax, dword [esi + 0x44]
shl eax, 2
push eax
push dword [esi + 0x40]
push dword [ebp + 0xc]
call fcn.00410d1b
mov eax, dword [esi + 0x38]
lea ebx, [esi + 0x38]
add esp, 0xc
mov dword [ebp + 0xa4], eax
cmp edi, 1
je 0x429f5c
cmp edi, 0xfffffc19
je 0x429f5c
test edi, edi
je 0x4261ac
cmp edi, 0xfffffc20
je 0x4261ac
mov ecx, dword [esi + 0x40]
lea eax, [esi + 0xa8]
cmp ecx, eax
je 0x41b2f5
push ecx
call dword [0x3580d34]
add esp, 4
jmp 0x41b2f5
mov dword [ebp + 0xa4], ebx
mov edx, dword [esi + 0x1c]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or eax, ecx
add eax, edx
mov dword [esi + 0x1c], eax
cmp byte [eax], 0x71
jne 0x42620c
cmp dword [esi + 0x50], 0
je 0x4261dc
mov dword [ebp + 0x98], 2
push 0x12c
call dword [0x3580d38]
mov edx, eax
add esp, 4
test edx, edx
je 0x41af4d
mov dword [esi + 0x128], 6
mov eax, dword [esi + 4]
mov dword [edx + 4], eax
mov ecx, dword [esi + 0x1c]
jmp 0x41b0bb
mov eax, dword [ebx]
mov dword [ebp + 0xa4], eax
lea eax, [esi + 0xa8]
mov ecx, dword [esi + 0x40]
cmp ecx, eax
je 0x42622b
push ecx
call dword [0x3580d34]
add esp, 4
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x426245
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcb
test edi, edi
jne case.0x425bdf.49
mov eax, dword [esi + 0x30]
mov al, byte [eax]
cmp al, 0x7b
jne 0x426295
push 0x12c
call dword [0x3580d38]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x427828
mov dword [esi + 0x128], 8
mov eax, dword [esi + 4]
mov dword [ecx + 4], eax
mov eax, dword [esi + 0x30]
jmp 0x426fc2
cmp al, 0x82
jb 0x427583
push 0x12c
mov dword [ebp + 0x98], 2
call dword [0x3580d38]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x427828
mov dword [esi + 0x128], 0x32
mov eax, dword [esi + 4]
mov dword [ecx + 4], eax
mov eax, dword [esi + 0x30]
jmp 0x426fc2
lea ecx, [esp + 0x28]
test edi, edi
jne 0x425ce1
mov eax, dword [esi + 0x30]
mov dword [ebp + 0xb4], eax
mov eax, esi
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x426302
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a14c
mov edi, 0xfffffc1c
jmp 0x425bcf
test edi, edi
jne case.0x425bdf.49
mov edx, dword [esi + 0x28]
nop
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 0x28], edx
cmp byte [edx], 0x71
je 0x426320
lea eax, [edx + 3]
mov dword [esi + 8], eax
jmp 0x41aeef
test edi, edi
je 0x41c142
jmp case.0x425bdf.49
cmp edi, 0xfffffc1c
jne 0x426362
mov eax, dword [ebp + 0xb4]
cmp eax, dword [esi + 0x30]
jmp 0x426364
test edi, edi
jne case.0x425bdf.49
mov eax, dword [esi + 0x30]
cmp byte [eax], 0x7b
jne 0x427596
push 0x12c
call dword [0x3580d38]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x427828
mov dword [esi + 0x128], 9
mov eax, dword [esi + 4]
mov dword [ecx + 4], eax
mov eax, dword [esi + 8]
add eax, 3
jmp 0x426fc2
test edi, edi
jne case.0x425bdf.49
mov eax, dword [esi + 0x7c]
cmp eax, dword [esi + 0x84]
jl 0x4263e5
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x4263d6
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
push dword [esp + 0x154]
mov edi, dword [esi + 4]
push ebp
push dword [esi + 0x80]
push edi
push dword [esi + 0x90]
call fcn.0042a830
add esp, 0x14
test eax, eax
jns 0x42645c
cmp dword [ebp + 0x88], 0
je 0x426433
cmp edi, dword [ebp + 0x78]
jb 0x426433
cmp edi, dword [ebp + 0x84]
jbe 0x426433
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x42644d
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
add eax, edi
mov dword [esi + 4], eax
inc dword [esi + 0x7c]
push 0x12c
call dword [0x3580d38]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x41af4d
mov dword [esi + 0x128], 0xe
jmp 0x426fb9
test edi, edi
jne case.0x425bdf.49
mov eax, dword [esi + 0x80]
sub dword [esi + 4], eax
mov eax, dword [esi + 4]
cmp eax, dword [esi + 0x2c]
jb 0x4264cb
push 0x12c
call dword [0x3580d38]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x41af4d
mov dword [esi + 0x128], 0xf
jmp 0x426fb9
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x4264e5
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcb
test edi, edi
jne case.0x425bdf.49
mov eax, dword [esi + 0x7c]
cmp eax, dword [esi + 0x84]
jl 0x426530
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x426521
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x78]
jb 0x426586
cmp dword [ebp + 0x88], 0
je 0x42655d
cmp eax, dword [ebp + 0x84]
jbe 0x42655d
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x426577
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
movzx ecx, byte [eax]
inc eax
mov dword [esi + 4], eax
mov edi, ecx
mov edx, dword [esi + 0x24]
and ecx, 7
shr edi, 3
mov eax, 1
shl eax, cl
test byte [edi + edx], al
jne 0x4265cd
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x4265be
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
inc dword [esi + 0x7c]
push 0x12c
call dword [0x3580d38]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x427828
mov dword [esi + 0x128], 0x11
jmp 0x426fb9
test edi, edi
jne case.0x425bdf.49
dec dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, dword [esi + 0x2c]
jb 0x42786a
push 0x12c
call dword [0x3580d38]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x41af4d
mov dword [esi + 0x128], 0x13
jmp 0x426fb9
test edi, edi
jne case.0x425bdf.49
mov eax, dword [esi + 0x7c]
cmp eax, dword [esi + 0x84]
jl 0x426671
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x426662
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x78]
jb 0x4266c7
cmp dword [ebp + 0x88], 0
je 0x42669e
cmp eax, dword [ebp + 0x84]
jbe 0x42669e
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x4266b8
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
movzx ecx, byte [eax]
cmp dword [esi + 0x78], ecx
je 0x426700
cmp dword [esi + 0x8c], ecx
je 0x426700
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x4266f1
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
inc eax
mov dword [esi + 4], eax
inc dword [esi + 0x7c]
push 0x12c
call dword [0x3580d38]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x427828
mov dword [esi + 0x128], 0x18
jmp 0x426fb9
dec dword [esi + 4]
test edi, edi
jne case.0x425bdf.49
mov eax, dword [esi + 4]
cmp eax, dword [esi + 0x2c]
jb 0x426768
push 0x12c
call dword [0x3580d38]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x427828
mov dword [esi + 0x128], 0x19
jmp 0x426fb9
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x426782
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
test edi, edi
jne case.0x425bdf.49
mov eax, dword [esi + 0x7c]
cmp eax, dword [esi + 0x84]
jl 0x4267cd
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x4267be
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x78]
jb 0x426823
cmp dword [ebp + 0x88], 0
je 0x4267fa
cmp eax, dword [ebp + 0x84]
jbe 0x4267fa
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x426814
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
movzx edx, byte [eax]
inc eax
mov dword [esi + 4], eax
cmp dword [esi + 0x78], edx
je 0x426858
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x426849
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
inc dword [esi + 0x7c]
push 0x12c
call dword [0x3580d38]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x427828
mov dword [esi + 0x128], 0x1a
jmp 0x426fb9
dec dword [esi + 4]
test edi, edi
jne case.0x425bdf.49
mov eax, dword [esi + 4]
cmp eax, dword [esi + 0x2c]
jb 0x4268bc
push 0x12c
call dword [0x3580d38]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x427828
mov dword [esi + 0x128], 0x1b
jmp 0x426fb9
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x4268d6
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
test edi, edi
jne case.0x425bdf.49
mov eax, dword [esi + 0x7c]
cmp eax, dword [esi + 0x84]
jl 0x426921
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x426912
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x78]
jb 0x426977
cmp dword [ebp + 0x88], 0
je 0x42694e
cmp eax, dword [ebp + 0x84]
jbe 0x42694e
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x426968
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
movzx ecx, byte [eax]
cmp dword [esi + 0x78], ecx
je 0x4269b5
cmp dword [esi + 0x8c], ecx
je 0x4269b5
inc eax
mov dword [esi + 4], eax
inc dword [esi + 0x7c]
push 0x12c
call dword [0x3580d38]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x427828
mov dword [esi + 0x128], 0x1d
jmp 0x426fb9
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x4269cf
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
test edi, edi
jne case.0x425bdf.49
dec dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, dword [esi + 0x2c]
jb 0x427ec6
push 0x12c
call dword [0x3580d38]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x427828
mov dword [esi + 0x128], 0x1f
jmp 0x426fb9
test edi, edi
jne case.0x425bdf.49
mov eax, dword [esi + 0x7c]
cmp eax, dword [esi + 0x84]
jl 0x426a58
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x426a49
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x78]
jb 0x426aae
cmp dword [ebp + 0x88], 0
je 0x426a85
cmp eax, dword [ebp + 0x84]
jbe 0x426a85
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x426a9f
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
movzx edx, byte [eax]
inc eax
mov dword [esi + 4], eax
cmp dword [esi + 0x78], edx
jne 0x426ae3
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x426ad4
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
inc dword [esi + 0x7c]
push 0x12c
call dword [0x3580d38]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x427828
mov dword [esi + 0x128], 0x21
jmp 0x426fb9
test edi, edi
jne case.0x425bdf.49
dec dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, dword [esi + 0x2c]
jb 0x42811e
push 0x12c
call dword [0x3580d38]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x427828
mov dword [esi + 0x128], 0x23
jmp 0x426fb9
test edi, edi
jne case.0x425bdf.49
mov eax, dword [esi + 0x7c]
cmp eax, dword [esi + 0x84]
jl 0x426b87
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x426b78
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
mov ecx, dword [esi + 4]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jb 0x426bdf
cmp dword [ebp + 0x88], 0
je 0x426bb6
cmp ecx, dword [ebp + 0x84]
jbe 0x426bb6
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x426bd0
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
cmp dword [esi + 0x74], 0xc
jne 0x426c00
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x426c22
push ebx
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.0042b9b0
add esp, 0x14
test eax, eax
jne 0x426c3f
mov eax, dword [esi + 4]
movzx ecx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 4], edx
mov eax, dword [esi + 0x74]
add eax, 0xfffffffa
cmp eax, 0xf
ja case.0x428373.15
jmp dword [eax*4 + 0x42a718]
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x426c00
mov al, byte [ecx]
cmp al, byte [ebp + 0x2c]
jne 0x426c00
cmp edi, 1
je 0x426c3f
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x2d]
jne 0x426c00
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x426c59
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
add ecx, 0xfffffff6
cmp ecx, 0x7b
ja case.0x426c7b.14
movzx eax, byte [ecx + 0x42a768]
jmp dword [eax*4 + 0x42a758]
cmp edx, dword [ebp + 0x78]
jae case.0x426c1b.12
cmp byte [edx], 0xa
jne case.0x426c1b.12
lea eax, [edx + 1]
mov dword [esi + 4], eax
inc dword [esi + 0x7c]
push 0x12c
call dword [0x3580d38]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x427828
mov dword [esi + 0x128], 0x2b
jmp 0x426fb9
cmp dword [ebp + 0x64], 0
je case.0x426c1b.12
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x426cdc
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x426d05
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
cmp ecx, 9
je 0x426d2a
cmp ecx, 0x20
je 0x426d2a
cmp ecx, 0xa0
jne case.0x426c1b.12
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x426d44
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
cmp ecx, 9
je case.0x426c1b.12
cmp ecx, 0x20
je case.0x426c1b.12
cmp ecx, 0xa0
je case.0x426c1b.12
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x426d8b
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
cmp ecx, 0xa
jb case.0x426c1b.12
cmp ecx, 0xd
jbe 0x426db4
cmp ecx, 0x85
jne case.0x426c1b.12
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x426dce
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
cmp ecx, 0xa
jb 0x426df7
cmp ecx, 0xd
jbe case.0x426c1b.12
cmp ecx, 0x85
je case.0x426c1b.12
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x426e11
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
mov eax, dword [ebp + 0x38]
test byte [ecx + eax], 4
je case.0x426c1b.12
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x426e47
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
mov eax, dword [ebp + 0x38]
test byte [ecx + eax], 4
jne case.0x426c1b.12
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x426e7d
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
mov eax, dword [ebp + 0x38]
test byte [ecx + eax], 1
je case.0x426c1b.12
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x426eb3
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
mov eax, dword [ebp + 0x38]
test byte [ecx + eax], 1
jne case.0x426c1b.12
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x426ee9
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
mov eax, dword [ebp + 0x38]
test byte [ecx + eax], 0x10
je case.0x426c1b.12
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x426f1f
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
mov eax, dword [ebp + 0x38]
test byte [ecx + eax], 0x10
jne case.0x426c1b.12
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x426f55
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
test edi, edi
jne case.0x425bdf.49
dec dword [esi + 4]
cmp dword [esi + 0x74], 0x11
mov eax, dword [esi + 4]
jne 0x426f8b
cmp eax, dword [esi + 0x2c]
jbe 0x426f8b
cmp byte [eax], 0xa
jne 0x426f8b
cmp byte [eax - 1], 0xd
jne 0x426f8b
dec dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, dword [esi + 0x2c]
jb 0x42952c
push 0x12c
call dword [0x3580d38]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x427828
mov dword [esi + 0x128], 0x2f
mov eax, dword [esi + 4]
mov dword [ecx + 4], eax
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [esi + 0x10]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x14]
mov dword [ecx + 0x14], eax
mov eax, dword [esi + 0x18]
inc eax
mov dword [ecx + 0x18], eax
mov dword [ecx], esi
mov esi, ecx
jmp 0x41ae2f
cmp edi, 0xfffffc1b
jne 0x427016
mov eax, dword [ebp + 0x8c]
mov dword [esi + 0x10], eax
mov eax, dword [ebp + 0x80]
mov dword [esi + 4], eax
mov eax, dword [esi + 0x70]
add eax, dword [ebp + 0x70]
mov dword [esi + 8], eax
mov dword [esi + 0x54], 1
jmp 0x41bd2c
cmp edi, 0xfffffc20
jne 0x42704a
mov eax, dword [esi + 8]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add ecx, dword [esi + 8]
mov dword [esi + 0x28], ecx
cmp dword [ebp + 0x7c], ecx
jae case.0x425bdf.49
mov eax, dword [esi + 8]
cmp byte [eax], 0x71
je 0x427052
cmp byte [ecx], 0x71
jmp 0x42704c
test edi, edi
jne case.0x425bdf.49
mov eax, dword [esi + 8]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add dword [esi + 8], ecx
mov eax, dword [esi + 8]
cmp byte [eax], 0x71
je 0x41bd2c
cmp dword [esi + 0x54], 0
jne 0x429f87
cmp dword [esi + 0x4c], 0
jne 0x429f87
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x42709f
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
test edi, edi
je 0x4270d6
cmp edi, 0xfffffc1d
je 0x4270d6
cmp edi, 0xfffffc1e
je 0x4270d6
cmp edi, 0xfffffc1f
je 0x4270d6
cmp edi, 0xfffffc20
jne case.0x425bdf.49
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x4270f0
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a16c
mov edi, 0xfffffc1a
jmp 0x425bcf
test edi, edi
je 0x427190
cmp edi, 0xfffffc1d
je 0x427190
cmp edi, 0xfffffc20
je 0x427190
jmp case.0x425bdf.49
cmp edi, 1
je 0x427134
cmp edi, 0xfffffc19
jne 0x42714e
cmp dword [ebp + 0xac], 0
jne 0x42714e
mov eax, dword [esi + 8]
add eax, 2
mov dword [ebp + 0xac], eax
jmp case.0x425bdf.49
cmp edi, 0xfffffc1f
jne case.0x425bdf.49
mov eax, dword [esi + 8]
mov ecx, dword [ebp + 0x7c]
add eax, 2
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x427183
test dl, dl
je 0x42717f
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x427183
add eax, 2
add ecx, 2
test dl, dl
jne 0x427163
xor eax, eax
jmp 0x427188
sbb eax, eax
or eax, 1
test eax, eax
jne case.0x425bdf.49
mov eax, dword [esi + 4]
lea ecx, [esp + 0x28]
mov dword [ebp + 0x7c], eax
mov eax, esi
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x4271b0
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a18c
mov edi, 0xfffffc1e
jmp 0x425bcf
cmp edi, 1
je 0x4271cf
cmp edi, 0xfffffc19
jne case.0x425bdf.51
cmp dword [ebp + 0xac], 0
jne case.0x425bdf.51
mov eax, dword [esi + 8]
add eax, 2
mov dword [ebp + 0xac], eax
test edi, edi
je 0x4271f4
cmp edi, 0xfffffc20
jne case.0x425bdf.49
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x42720e
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a15c
mov edi, 0xfffffc1d
jmp 0x425bcf
test edi, edi
je 0x427238
cmp edi, 0xfffffc1d
je 0x427238
cmp edi, 0xfffffc20
jne case.0x425bdf.49
mov eax, dword [esi + 8]
lea ecx, [esp + 0x28]
add eax, 2
mov dword [ebp + 0x7c], eax
mov eax, esi
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x42725b
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a19c
mov edi, 0xfffffc1f
jmp 0x425bcf
cmp edi, 1
je 0x42727a
cmp edi, 0xfffffc19
jne case.0x425bdf.54
cmp dword [ebp + 0xac], 0
jne case.0x425bdf.54
mov eax, dword [esi + 8]
add eax, 2
mov dword [ebp + 0xac], eax
lea ecx, [esp + 0x28]
test edi, edi
jne 0x425ce1
mov eax, dword [esi + 8]
mov dword [ebp + 0x7c], eax
mov eax, esi
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x4272b7
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a17c
mov edi, 0xfffffc20
jmp 0x425bcf
cmp edi, 0xfffffc1b
jne 0x427304
mov eax, dword [ebp + 0x8c]
mov dword [esi + 0x10], eax
mov eax, dword [ebp + 0x80]
mov dword [esi + 4], eax
mov eax, dword [esi + 0x70]
add eax, dword [ebp + 0x70]
mov dword [esi + 8], eax
mov eax, dword [ebp + 0x90]
mov dword [esi + 0x98], eax
mov dword [esi + 0x54], 1
jmp 0x41bccb
cmp edi, 0xfffffc20
jne 0x427338
mov eax, dword [esi + 8]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add ecx, dword [esi + 8]
mov dword [esi + 0x28], ecx
cmp dword [ebp + 0x7c], ecx
jae case.0x425bdf.49
mov eax, dword [esi + 8]
cmp byte [eax], 0x71
je 0x427340
cmp byte [ecx], 0x71
jmp 0x42733a
test edi, edi
jne case.0x425bdf.49
mov eax, dword [esi + 0x98]
mov dword [ebp + 0x90], eax
mov eax, dword [esi + 8]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add dword [esi + 8], ecx
mov eax, dword [esi + 8]
cmp byte [eax], 0x71
je 0x41bccb
cmp dword [esi + 0x54], 0
jne 0x4273ab
mov edx, dword [esi + 0x90]
mov ecx, dword [ebp + 0xc]
mov eax, dword [esi + 0x9c]
mov dword [ecx + edx*4], eax
mov edx, dword [esi + 0x90]
mov ecx, dword [ebp + 0xc]
mov eax, dword [esi + 0xa0]
mov dword [ecx + edx*4 + 4], eax
mov edx, dword [ebp + 0x10]
sub edx, dword [esi + 0x8c]
mov ecx, dword [ebp + 0xc]
mov eax, dword [esi + 0xa4]
mov dword [ecx + edx*4], eax
cmp dword [esi + 0x4c], 0
jne 0x41b7a7
cmp dword [esi + 0x54], 0
jne 0x41b7a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x4273d9
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
cmp edi, 1
jne 0x427431
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0xc], eax
mov edx, dword [esi + 8]
mov al, byte [edx]
cmp al, 0x7c
je 0x4274d0
cmp al, 0x71
je 0x4274d0
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x427422
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
cmp edi, 0xfffffc20
jne 0x427465
mov eax, dword [esi + 8]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add ecx, dword [esi + 8]
mov dword [esi + 0x28], ecx
cmp dword [ebp + 0x7c], ecx
jae case.0x425bdf.49
mov eax, dword [esi + 8]
cmp byte [eax], 0x71
je 0x42746d
cmp byte [ecx], 0x71
jmp 0x427467
test edi, edi
jne case.0x425bdf.49
mov eax, dword [esi + 8]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add dword [esi + 8], ecx
mov eax, dword [esi + 0x24]
mov dword [ebp + 0xac], eax
mov eax, dword [esi + 8]
cmp byte [eax], 0x71
jne 0x4273f3
push 0x12c
call dword [0x3580d38]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x41af4d
mov dword [esi + 0x128], 0x40
mov eax, dword [esi + 4]
mov dword [ecx + 4], eax
mov eax, dword [esi + 8]
add eax, 3
jmp 0x426fc2
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 8], edx
cmp byte [edx], 0x71
je 0x4274d0
mov eax, dword [ebp + 0x8c]
mov dword [esi + 0x10], eax
mov ecx, dword [ebp + 0x80]
mov dword [esi + 4], ecx
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, 0x72
je 0x41b7a7
cmp ecx, dword [esi + 0x34]
je 0x41b7a7
push 0x12c
cmp al, 0x74
jne 0x427546
call dword [0x3580d38]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x427828
mov dword [esi + 0x128], 0x41
mov eax, dword [esi + 4]
mov dword [ecx + 4], eax
mov eax, dword [esi + 8]
add eax, 3
jmp 0x426fc2
mov dword [ebp + 0x98], 2
call dword [0x3580d38]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x427828
mov dword [esi + 0x128], 0x42
mov eax, dword [esi + 4]
mov dword [ecx + 4], eax
mov eax, dword [esi + 0x30]
jmp 0x426fc2
test edi, edi
jne case.0x425bdf.49
mov eax, dword [esi + 0x30]
mov dword [esi + 8], eax
jmp 0x41ae50
test edi, edi
jne case.0x425bdf.49
add dword [esi + 8], 3
jmp 0x41ae50
test edi, edi
jne case.0x425bdf.49
mov ecx, dword [esi + 4]
lea edx, [ecx - 1]
mov dword [esi + 4], edx
cmp ecx, dword [esi + 0x2c]
jne 0x4275de
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x4275cf
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
test ebx, ebx
je 0x41efb3
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x41efb3
dec edx
mov dword [esi + 4], edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
je 0x4275f2
jmp 0x41efb3
test edi, edi
jne case.0x425bdf.49
mov eax, dword [esi + 0x7c]
cmp eax, dword [esi + 0x84]
jl 0x42763f
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x427630
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
mov edx, dword [esi + 4]
cmp edx, dword [ebp + 0x78]
jb 0x427695
cmp dword [ebp + 0x88], 0
je 0x42766c
cmp edx, dword [ebp + 0x84]
jbe 0x42766c
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x427686
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
movzx ebx, byte [edx]
inc edx
mov dword [esi + 4], edx
cmp ebx, 0xc0
jb 0x427789
movzx eax, byte [edx]
and eax, 0x3f
test bl, 0x20
jne 0x4276c3
and ebx, 0x1f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x427786
test bl, 0x10
jne 0x4276e5
and ebx, 0xf
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 1]
shl ebx, 6
and eax, 0x3f
or ebx, eax
add dword [esi + 4], 2
jmp 0x427789
mov ecx, dword [esi + 4]
test bl, 8
jne 0x427715
and ebx, 7
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [ecx + 3]
jmp 0x427786
test bl, 4
jne 0x42774b
and ebx, 3
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [ecx + 4]
jmp 0x427786
and ebx, 1
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [ecx + 5]
mov dword [esi + 4], eax
cmp ebx, 0xff
jbe 0x4277c7
cmp dword [esi + 0x94], 0x6a
jne 0x427809
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x4277b8
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcb
mov edx, dword [esi + 0x24]
mov edi, ebx
and ebx, 7
shr edi, 3
mov eax, 1
mov ecx, ebx
shl eax, cl
test byte [edi + edx], al
jne 0x427809
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x4277fa
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcb
inc dword [esi + 0x7c]
mov ebx, dword [esp + 0x14]
push 0x12c
call dword [0x3580d38]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x42a0c0
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x427842
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ef
mov edi, 0xfffffffa
jmp 0x425bcf
test edi, edi
jne case.0x425bdf.49
mov ecx, dword [esi + 4]
lea edx, [ecx - 1]
mov dword [esi + 4], edx
cmp ecx, dword [esi + 0x2c]
jne 0x427893
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x427884
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcb
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x4278ac
jmp 0x4278a0
dec edx
mov dword [esi + 4], edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
je 0x4278a0
push 0x12c
call dword [0x3580d38]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x41af4d
mov dword [esi + 0x128], 0x12
jmp 0x426fb9
test edi, edi
jne case.0x425bdf.49
mov eax, dword [esi + 0x7c]
cmp eax, dword [esi + 0x84]
jl 0x42790f
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x427900
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
mov edi, dword [esi + 4]
cmp edi, dword [ebp + 0x78]
jb 0x427965
cmp dword [ebp + 0x88], 0
je 0x42793c
cmp edi, dword [ebp + 0x84]
jbe 0x42793c
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x427956
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
movzx edx, byte [edi]
inc edi
mov dword [esi + 4], edi
test ebx, ebx
je 0x427a61
cmp edx, 0xc0
jb 0x427a61
movzx eax, byte [edi]
and eax, 0x3f
test dl, 0x20
jne 0x42799b
and edx, 0x1f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x427a5e
test dl, 0x10
jne 0x4279bd
and edx, 0xf
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
add dword [esi + 4], 2
jmp 0x427a61
mov ecx, dword [esi + 4]
test dl, 8
jne 0x4279ed
and edx, 7
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 3]
jmp 0x427a5e
test dl, 4
jne 0x427a23
and edx, 3
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 4]
jmp 0x427a5e
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [esi + 4], eax
push ebx
push dword [esi + 0x24]
push edx
call fcn.0042c030
add esp, 0xc
test eax, eax
jne 0x427a9b
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x427a8c
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
inc dword [esi + 0x7c]
push 0x12c
call dword [0x3580d38]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x427828
mov dword [esi + 0x128], 0x14
jmp 0x426fb9
test edi, edi
jne case.0x425bdf.49
mov eax, dword [esi + 0x7c]
cmp eax, dword [esi + 0x84]
jl 0x427b01
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x427af2
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
mov ecx, dword [ebp + 0x78]
mov eax, ecx
mov edi, dword [esi + 0x80]
sub eax, edi
mov ebx, dword [esi + 4]
cmp ebx, eax
ja 0x427b74
mov edx, dword [esi + 0x20]
mov ecx, ebx
sub edi, 4
jb 0x427b34
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x427b39
add ecx, 4
add edx, 4
sub edi, 4
jae 0x427b23
cmp edi, 0xfffffffc
je 0x427b66
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x427b71
cmp edi, 0xfffffffd
je 0x427b66
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x427b71
cmp edi, 0xfffffffe
je 0x427b66
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x427b71
cmp edi, 0xffffffff
je 0x427b66
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x427b71
mov eax, dword [esi + 0x80]
jmp 0x427bdb
mov ecx, dword [ebp + 0x78]
mov edi, dword [esi + 0x64]
test edi, edi
jle 0x427c0a
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x427c0a
lea edx, [esi + 0x68]
mov ecx, ebx
sub edi, 4
jb 0x427ba6
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x427bab
add ecx, 4
add edx, 4
sub edi, 4
jae 0x427b95
cmp edi, 0xfffffffc
je 0x427bd8
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x427c0a
cmp edi, 0xfffffffd
je 0x427bd8
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x427c0a
cmp edi, 0xfffffffe
je 0x427bd8
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x427c0a
cmp edi, 0xffffffff
je 0x427bd8
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x427c0a
mov eax, dword [esi + 0x64]
add eax, ebx
mov dword [esi + 4], eax
inc dword [esi + 0x7c]
push 0x12c
call dword [0x3580d38]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x41af4d
mov dword [esi + 0x128], 0x16
jmp 0x426fb9
cmp dword [ebp + 0x88], 0
je 0x427c34
cmp ebx, dword [ebp + 0x78]
jb 0x427c34
cmp ebx, dword [ebp + 0x84]
jbe 0x427c34
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c219
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x427c4e
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcb
test edi, edi
jne case.0x425bdf.49
mov ecx, dword [esi + 4]
cmp ecx, dword [esi + 0x2c]
jne 0x427c96
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x427c87
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
dec ecx
mov dword [esi + 4], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x427cae
dec ecx
mov dword [esi + 4], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x427ca2
push 0x12c
call dword [0x3580d38]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x41af4d
mov dword [esi + 0x128], 0x17
jmp 0x426fb9
test edi, edi
jne case.0x425bdf.49
mov eax, dword [esi + 0x7c]
cmp eax, dword [esi + 0x84]
jl 0x427d11
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x427d02
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
mov edi, dword [esi + 4]
cmp edi, dword [ebp + 0x78]
jb 0x427d67
cmp dword [ebp + 0x88], 0
je 0x427d3e
cmp edi, dword [ebp + 0x84]
jbe 0x427d3e
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x427d58
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
movzx ebx, byte [edi]
inc edi
mov dword [esi + 4], edi
cmp ebx, 0xc0
jb 0x427e4c
test bl, 0x20
jne 0x427d95
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x427e49
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x427dbd
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 4], 2
jmp 0x427e4c
mov edx, dword [esi + 4]
test bl, 8
jne 0x427de6
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x427e49
test bl, 4
jne 0x427e15
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x427e49
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 5]
mov dword [esi + 4], eax
cmp dword [esi + 0x78], ebx
je 0x427e87
cmp dword [esi + 0x8c], ebx
je 0x427e87
inc dword [esi + 0x7c]
mov ebx, dword [esp + 0x14]
push 0x12c
call dword [0x3580d38]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x427828
mov dword [esi + 0x128], 0x1c
jmp 0x426fb9
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x427ea1
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcb
test edi, edi
jne case.0x425bdf.49
mov ecx, dword [esi + 4]
lea edx, [ecx - 1]
mov dword [esi + 4], edx
cmp ecx, dword [esi + 0x2c]
jne 0x427eef
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x427ee0
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x427f03
dec edx
mov dword [esi + 4], edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
je 0x427ef7
push 0x12c
call dword [0x3580d38]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x41af4d
mov dword [esi + 0x128], 0x1e
jmp 0x426fb9
test edi, edi
jne case.0x425bdf.49
mov eax, dword [esi + 0x7c]
cmp eax, dword [esi + 0x84]
jl 0x427f66
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x427f57
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
mov edi, dword [esi + 4]
cmp edi, dword [ebp + 0x78]
jb 0x427fbc
cmp dword [ebp + 0x88], 0
je 0x427f93
cmp edi, dword [ebp + 0x84]
jbe 0x427f93
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x427fad
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
movzx edx, byte [edi]
inc edi
mov dword [esi + 4], edi
cmp edx, 0xc0
jb 0x4280b0
movzx eax, byte [edi]
and eax, 0x3f
test dl, 0x20
jne 0x427fea
and edx, 0x1f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4280ad
test dl, 0x10
jne 0x42800c
and edx, 0xf
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
add dword [esi + 4], 2
jmp 0x4280b0
mov ecx, dword [esi + 4]
test dl, 8
jne 0x42803c
and edx, 7
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 3]
jmp 0x4280ad
test dl, 4
jne 0x428072
and edx, 3
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 4]
jmp 0x4280ad
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [esi + 4], eax
cmp dword [esi + 0x78], edx
jne 0x4280de
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x4280cf
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
inc dword [esi + 0x7c]
push 0x12c
call dword [0x3580d38]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x427828
mov dword [esi + 0x128], 0x20
jmp 0x426fb9
test edi, edi
jne case.0x425bdf.49
mov ecx, dword [esi + 4]
lea edx, [ecx - 1]
mov dword [esi + 4], edx
cmp ecx, dword [esi + 0x2c]
jne 0x428147
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x428138
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x42815c
nop
dec edx
mov dword [esi + 4], edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
je 0x428150
push 0x12c
call dword [0x3580d38]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x41af4d
mov dword [esi + 0x128], 0x22
jmp 0x426fb9
test edi, edi
jne case.0x425bdf.49
mov eax, dword [esi + 0x7c]
cmp eax, dword [esi + 0x84]
jl 0x4281bf
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x4281b0
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
mov ecx, dword [esi + 4]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jb 0x428217
cmp dword [ebp + 0x88], 0
je 0x4281ee
cmp ecx, dword [ebp + 0x84]
jbe 0x4281ee
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x428208
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
cmp dword [esi + 0x74], 0xc
jne 0x428238
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x42826b
push ebx
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.0042b9b0
add esp, 0x14
test eax, eax
jne 0x428288
mov eax, dword [esi + 4]
movzx edx, byte [eax]
lea edi, [eax + 1]
mov dword [esi + 4], edi
cmp edx, 0xc0
jb 0x428364
test dl, 0x20
jne 0x4282b1
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x428361
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x428238
mov al, byte [ecx]
cmp al, byte [ebp + 0x2c]
jne 0x428238
cmp edi, 1
je 0x428288
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x2d]
jne 0x428238
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x4282a2
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x4282d8
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x428361
test dl, 8
jne 0x4282fe
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 3]
jmp 0x428361
test dl, 4
jne 0x42832d
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 4]
jmp 0x428361
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 5]
mov dword [esi + 4], eax
mov eax, dword [esi + 0x74]
add eax, 0xfffffffa
cmp eax, 0xf
ja case.0x428373.15
jmp dword [eax*4 + 0x42a7e4]
cmp edx, 0xd
ja 0x4283af
je 0x428391
cmp edx, 0xa
je case.0x428373.12
jbe 0x4283c7
cmp edx, 0xc
jmp 0x4283c5
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x78]
jae case.0x428373.12
cmp byte [eax], 0xa
jne case.0x428373.12
inc eax
mov dword [esi + 4], eax
jmp case.0x428373.12
cmp edx, 0x85
je 0x4283f0
cmp edx, 0x2027
jbe 0x4283c7
cmp edx, 0x2029
jbe 0x4283f0
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x4283e1
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
cmp dword [ebp + 0x64], 0
je case.0x428373.12
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x428410
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
cmp edx, 0x180e
ja 0x42847b
je 0x4284a5
cmp edx, 0xa0
ja 0x428473
je 0x4284a5
cmp edx, 9
je 0x4284a5
cmp edx, 0x20
je 0x4284a5
inc dword [esi + 0x7c]
push 0x12c
call dword [0x3580d38]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x427828
mov dword [esi + 0x128], 0x2a
jmp 0x426fb9
cmp edx, 0x1680
jmp 0x428447
cmp edx, 0x205f
ja 0x42849d
je 0x4284a5
cmp edx, 0x2000
jb case.0x428373.12
cmp edx, 0x200a
jbe 0x4284a5
cmp edx, 0x202f
jmp 0x428447
cmp edx, 0x3000
jne case.0x428373.12
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x4284bf
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
cmp edx, 0x180e
ja 0x428500
je case.0x428373.12
cmp edx, 0xa0
ja 0x4284f8
je case.0x428373.12
cmp edx, 9
je case.0x428373.12
cmp edx, 0x20
jmp 0x428530
cmp edx, 0x1680
jmp 0x428530
cmp edx, 0x205f
ja 0x42852a
je case.0x428373.12
cmp edx, 0x2000
jb 0x428536
cmp edx, 0x200a
jbe case.0x428373.12
cmp edx, 0x202f
jmp 0x428530
cmp edx, 0x3000
je case.0x428373.12
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x428550
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
cmp edx, 0x85
ja 0x42857c
je 0x42858b
cmp edx, 0xa
jb case.0x428373.12
cmp edx, 0xd
jbe 0x42858b
jmp case.0x428373.12
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x428373.12
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x4285a5
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
cmp edx, 0x85
ja 0x4285cc
je case.0x428373.12
cmp edx, 0xa
jb 0x4285db
cmp edx, 0xd
jmp 0x4285d5
lea eax, [edx - 0x2028]
cmp eax, 1
jbe case.0x428373.12
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x4285f5
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
cmp edx, 0x100
jae case.0x428373.12
mov eax, dword [ebp + 0x38]
test byte [edx + eax], 4
je case.0x428373.12
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x428637
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
cmp edx, 0x100
jae 0x42865b
mov eax, dword [ebp + 0x38]
test byte [edx + eax], 4
jne case.0x428373.12
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x428675
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
cmp edx, 0x100
jae case.0x428373.12
mov eax, dword [ebp + 0x38]
test byte [edx + eax], 1
je case.0x428373.12
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x4286b7
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
cmp edx, 0x100
jae 0x4286db
mov eax, dword [ebp + 0x38]
test byte [edx + eax], 1
jne case.0x428373.12
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x4286f5
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
cmp edx, 0x100
jae case.0x428373.12
mov eax, dword [ebp + 0x38]
test byte [edx + eax], 0x10
je case.0x428373.12
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x428737
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
cmp edx, 0x100
jae 0x42875b
mov eax, dword [ebp + 0x38]
test byte [edx + eax], 0x10
jne case.0x428373.12
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x428775
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
test edi, edi
jne case.0x425bdf.49
mov ecx, dword [esi + 4]
lea edx, [ecx - 1]
mov dword [esi + 4], edx
cmp ecx, dword [esi + 0x2c]
je 0x42952c
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x4287b2
dec edx
mov dword [esi + 4], edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
je 0x4287a6
cmp dword [esi + 0x74], 0x11
jne 0x4287ce
mov eax, dword [esi + 4]
cmp eax, dword [esi + 0x2c]
jbe 0x4287ce
cmp byte [eax], 0xa
jne 0x4287ce
dec eax
cmp byte [eax], 0xd
jne 0x4287ce
mov dword [esi + 4], eax
push 0x12c
call dword [0x3580d38]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x427828
mov dword [esi + 0x128], 0x2e
jmp 0x426fb9
test edi, edi
jne case.0x425bdf.49
mov eax, dword [esi + 0x7c]
cmp eax, dword [esi + 0x84]
jl 0x428831
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x428822
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x78]
jb 0x428887
cmp dword [ebp + 0x88], 0
je 0x42885e
cmp eax, dword [ebp + 0x84]
jbe 0x42885e
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x428878
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
movzx ecx, byte [eax]
inc eax
mov dword [esi + 4], eax
test ebx, ebx
je 0x4288c6
cmp ecx, 0xc0
jb 0x4288c6
test cl, 0x20
jne 0x4288a2
inc eax
jmp 0x4288c3
test cl, 0x10
jne 0x4288ac
add eax, 2
jmp 0x4288c3
test cl, 8
jne 0x4288b6
add eax, 3
jmp 0x4288c3
test cl, 4
jne 0x4288c0
add eax, 4
jmp 0x4288c3
add eax, 5
mov dword [esi + 4], eax
cmp dword [esi + 0x60], 0
je 0x4288f5
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x4288e6
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
inc dword [esi + 0x7c]
push 0x12c
call dword [0x3580d38]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x427828
mov dword [esi + 0x128], 0x24
jmp 0x426fb9
test edi, edi
jne case.0x425bdf.49
mov eax, dword [esi + 0x7c]
cmp eax, dword [esi + 0x84]
jl 0x42895b
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x42894c
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
mov edi, dword [esi + 4]
cmp edi, dword [ebp + 0x78]
jb 0x4289b1
cmp dword [ebp + 0x88], 0
je 0x428988
cmp edi, dword [ebp + 0x84]
jbe 0x428988
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x4289a2
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
movzx edx, byte [edi]
inc edi
mov dword [esi + 4], edi
test ebx, ebx
je 0x428aad
cmp edx, 0xc0
jb 0x428aad
movzx eax, byte [edi]
and eax, 0x3f
test dl, 0x20
jne 0x4289e7
and edx, 0x1f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x428aaa
test dl, 0x10
jne 0x428a09
and edx, 0xf
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
add dword [esi + 4], 2
jmp 0x428aad
mov ecx, dword [esi + 4]
test dl, 8
jne 0x428a39
and edx, 7
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 3]
jmp 0x428aaa
test dl, 4
jne 0x428a6f
and edx, 3
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 4]
jmp 0x428aaa
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [esi + 4], eax
mov eax, edx
and edx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4879d0]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x489bd0]
movzx eax, byte [eax*8 + 0x4868f1]
cmp eax, 9
je 0x428ae4
cmp eax, 5
je 0x428ae4
cmp eax, 8
je 0x428ae4
xor eax, eax
jmp 0x428ae9
mov eax, 1
cmp eax, dword [esi + 0x60]
jne 0x428b17
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x428b08
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
inc dword [esi + 0x7c]
push 0x12c
call dword [0x3580d38]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x427828
mov dword [esi + 0x128], 0x25
jmp 0x426fb9
test edi, edi
jne case.0x425bdf.49
mov eax, dword [esi + 0x7c]
cmp eax, dword [esi + 0x84]
jl 0x428b7d
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x428b6e
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
mov edi, dword [esi + 4]
cmp edi, dword [ebp + 0x78]
jb 0x428bd3
cmp dword [ebp + 0x88], 0
je 0x428baa
cmp edi, dword [ebp + 0x84]
jbe 0x428baa
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x428bc4
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
movzx edx, byte [edi]
inc edi
mov dword [esi + 4], edi
test ebx, ebx
je 0x428ccf
cmp edx, 0xc0
jb 0x428ccf
movzx eax, byte [edi]
and eax, 0x3f
test dl, 0x20
jne 0x428c09
and edx, 0x1f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x428ccc
test dl, 0x10
jne 0x428c2b
and edx, 0xf
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
add dword [esi + 4], 2
jmp 0x428ccf
mov ecx, dword [esi + 4]
test dl, 8
jne 0x428c5b
and edx, 7
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 3]
jmp 0x428ccc
test dl, 4
jne 0x428c91
and edx, 3
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 4]
jmp 0x428ccc
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [esi + 4], eax
mov eax, edx
xor ecx, ecx
shr eax, 7
and edx, 0x7f
movzx eax, byte [eax + 0x4879d0]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x489bd0]
movzx eax, byte [eax*8 + 0x4868f1]
mov eax, dword [eax*4 + 0x486878]
cmp eax, dword [esi + 0x5c]
sete cl
cmp ecx, dword [esi + 0x60]
jne 0x428d30
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x428d21
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
inc dword [esi + 0x7c]
push 0x12c
call dword [0x3580d38]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x427828
mov dword [esi + 0x128], 0x26
jmp 0x426fb9
test edi, edi
jne case.0x425bdf.49
mov eax, dword [esi + 0x7c]
cmp eax, dword [esi + 0x84]
jl 0x428d96
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x428d87
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
mov edi, dword [esi + 4]
cmp edi, dword [ebp + 0x78]
jb 0x428dec
cmp dword [ebp + 0x88], 0
je 0x428dc3
cmp edi, dword [ebp + 0x84]
jbe 0x428dc3
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x428ddd
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
movzx edx, byte [edi]
inc edi
mov dword [esi + 4], edi
test ebx, ebx
je 0x428ee8
cmp edx, 0xc0
jb 0x428ee8
movzx eax, byte [edi]
and eax, 0x3f
test dl, 0x20
jne 0x428e22
and edx, 0x1f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x428ee5
test dl, 0x10
jne 0x428e44
and edx, 0xf
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
add dword [esi + 4], 2
jmp 0x428ee8
mov ecx, dword [esi + 4]
test dl, 8
jne 0x428e74
and edx, 7
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 3]
jmp 0x428ee5
test dl, 4
jne 0x428eaa
and edx, 3
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 4]
jmp 0x428ee5
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [esi + 4], eax
mov eax, edx
xor ecx, ecx
shr eax, 7
and edx, 0x7f
movzx eax, byte [eax + 0x4879d0]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x489bd0]
movzx eax, byte [eax*8 + 0x4868f1]
cmp eax, dword [esi + 0x5c]
sete cl
cmp ecx, dword [esi + 0x60]
jne 0x428f42
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x428f33
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
inc dword [esi + 0x7c]
push 0x12c
call dword [0x3580d38]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x427828
mov dword [esi + 0x128], 0x27
jmp 0x426fb9
test edi, edi
jne case.0x425bdf.49
mov eax, dword [esi + 0x7c]
cmp eax, dword [esi + 0x84]
jl 0x428fa8
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x428f99
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
mov edi, dword [esi + 4]
cmp edi, dword [ebp + 0x78]
jb 0x428ffe
cmp dword [ebp + 0x88], 0
je 0x428fd5
cmp edi, dword [ebp + 0x84]
jbe 0x428fd5
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x428fef
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
movzx edx, byte [edi]
inc edi
mov dword [esi + 4], edi
test ebx, ebx
je 0x4290fa
cmp edx, 0xc0
jb 0x4290fa
movzx eax, byte [edi]
and eax, 0x3f
test dl, 0x20
jne 0x429034
and edx, 0x1f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4290f7
test dl, 0x10
jne 0x429056
and edx, 0xf
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
add dword [esi + 4], 2
jmp 0x4290fa
mov ecx, dword [esi + 4]
test dl, 8
jne 0x429086
and edx, 7
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 3]
jmp 0x4290f7
test dl, 4
jne 0x4290bc
and edx, 3
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 4]
jmp 0x4290f7
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [esi + 4], eax
mov eax, edx
xor ecx, ecx
shr eax, 7
and edx, 0x7f
movzx eax, byte [eax + 0x4879d0]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x489bd0]
movzx eax, byte [eax*8 + 0x4868f0]
cmp eax, dword [esi + 0x5c]
sete cl
cmp ecx, dword [esi + 0x60]
jne 0x429154
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x429145
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
inc dword [esi + 0x7c]
push 0x12c
call dword [0x3580d38]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x427828
mov dword [esi + 0x128], 0x28
jmp 0x426fb9
test edi, edi
jne case.0x425bdf.49
mov eax, dword [esi + 0x7c]
cmp eax, dword [esi + 0x84]
jl 0x4291ba
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x4291ab
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
mov edi, dword [esi + 4]
cmp edi, dword [ebp + 0x78]
jb 0x429210
cmp dword [ebp + 0x88], 0
je 0x4291e7
cmp edi, dword [ebp + 0x84]
jbe 0x4291e7
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x429201
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
movzx edx, byte [edi]
inc edi
mov dword [esi + 4], edi
test ebx, ebx
je 0x42930c
cmp edx, 0xc0
jb 0x42930c
movzx eax, byte [edi]
and eax, 0x3f
test dl, 0x20
jne 0x429246
and edx, 0x1f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x429309
test dl, 0x10
jne 0x429268
and edx, 0xf
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
add dword [esi + 4], 2
jmp 0x42930c
mov ecx, dword [esi + 4]
test dl, 8
jne 0x429298
and edx, 7
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 3]
jmp 0x429309
test dl, 4
jne 0x4292ce
and edx, 3
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 4]
jmp 0x429309
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [esi + 4], eax
mov eax, edx
and edx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4879d0]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x489bd0]
movzx eax, byte [eax*8 + 0x4868f1]
cmp dword [eax*4 + 0x486878], 2
jne 0x429363
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x429354
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x78]
jae 0x4294b1
nop
mov eax, dword [esi + 4]
mov ecx, 1
movzx edx, byte [eax]
test ebx, ebx
je 0x429474
cmp edx, 0xc0
jb 0x429474
test dl, 0x20
jne 0x4293a5
movzx eax, byte [eax + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x42946c
test dl, 0x10
jne 0x4293ca
movzx ecx, byte [eax + 1]
and edx, 0xf
mov eax, dword [esi + 4]
and ecx, 0x3f
shl edx, 6
or edx, ecx
mov ecx, 3
movzx eax, byte [eax + 2]
jmp 0x42946c
test dl, 8
jne 0x4293fb
movzx ecx, byte [eax + 1]
and edx, 7
mov eax, dword [esi + 4]
and ecx, 0x3f
shl edx, 6
or ecx, edx
shl ecx, 6
movzx edx, byte [eax + 2]
movzx eax, byte [eax + 3]
and edx, 0x3f
or edx, ecx
mov ecx, 4
jmp 0x42946c
movzx eax, byte [eax + 1]
and eax, 0x3f
test dl, 4
jne 0x429435
mov ecx, dword [esi + 4]
and edx, 3
shl edx, 6
or eax, edx
shl eax, 6
movzx edx, byte [ecx + 2]
and edx, 0x3f
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
mov ecx, 5
jmp 0x42946c
and edx, ecx
mov ecx, dword [esi + 4]
shl edx, 6
or eax, edx
shl eax, 6
movzx edx, byte [ecx + 2]
and edx, 0x3f
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 5]
mov ecx, 6
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edx
and edx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4879d0]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x489bd0]
movzx eax, byte [eax*8 + 0x4868f1]
cmp dword [eax*4 + 0x486878], 2
jne 0x4294b1
add dword [esi + 4], ecx
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x78]
jb 0x429370
inc dword [esi + 0x7c]
push 0x12c
call dword [0x3580d38]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x427828
mov dword [esi + 0x128], 0x29
jmp 0x426fb9
test edi, edi
jne case.0x425bdf.49
mov ecx, dword [esi + 4]
lea edx, [ecx - 1]
mov dword [esi + 4], edx
cmp ecx, dword [esi + 0x2c]
je 0x42952c
test ebx, ebx
je 0x424647
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x424647
dec edx
mov dword [esi + 4], edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
je 0x429505
jmp 0x424647
test edi, edi
jne case.0x425bdf.49
mov edx, dword [esi + 4]
lea eax, [edx - 1]
mov dword [esi + 4], eax
cmp edx, dword [esi + 0x2c]
jne 0x429555
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x429546
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
test ebx, ebx
jne 0x429564
mov eax, dword [esi + 4]
movzx edx, byte [eax]
jmp 0x429658
mov ecx, dword [esi + 4]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x42957c
nop
dec ecx
mov dword [esi + 4], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x429570
mov eax, dword [esi + 4]
movzx edx, byte [eax]
cmp edx, 0xc0
jb 0x429658
test dl, 0x20
jne 0x42959f
movzx eax, byte [eax + 1]
and edx, 0x1f
jmp 0x429650
test dl, 0x10
jne 0x4295bf
movzx ecx, byte [eax + 1]
and edx, 0xf
mov eax, dword [esi + 4]
and ecx, 0x3f
shl edx, 6
or edx, ecx
movzx eax, byte [eax + 2]
jmp 0x429650
test dl, 8
jne 0x4295eb
movzx ecx, byte [eax + 1]
and edx, 7
mov eax, dword [esi + 4]
and ecx, 0x3f
shl edx, 6
or ecx, edx
shl ecx, 6
movzx edx, byte [eax + 2]
movzx eax, byte [eax + 3]
and edx, 0x3f
or edx, ecx
jmp 0x429650
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 4]
and eax, 0x3f
test dl, 4
jne 0x429620
and edx, 3
shl edx, 6
or eax, edx
movzx edx, byte [ecx + 2]
shl eax, 6
and edx, 0x3f
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
jmp 0x429650
and edx, 1
shl edx, 6
or eax, edx
movzx edx, byte [ecx + 2]
shl eax, 6
and edx, 0x3f
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edx
and edx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4879d0]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x489bd0]
movzx eax, byte [eax*8 + 0x4868f1]
cmp dword [eax*4 + 0x486878], 2
jne 0x42494d
dec dword [esi + 4]
jmp 0x429555
test edi, edi
jne case.0x425bdf.49
mov eax, dword [esi + 0x7c]
cmp eax, dword [esi + 0x84]
jl 0x4296ce
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x4296bf
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
mov edi, dword [esi + 4]
cmp edi, dword [ebp + 0x78]
jb 0x429728
cmp dword [ebp + 0x88], 0
je 0x4296ff
cmp edi, dword [ebp + 0x84]
jbe 0x4296ff
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x429719
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
movzx edx, byte [edi]
inc edi
mov dword [esi + 4], edi
test ebx, ebx
je 0x429824
cmp edx, 0xc0
jb 0x429824
movzx eax, byte [edi]
and eax, 0x3f
test dl, 0x20
jne 0x42975e
and edx, 0x1f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x429821
test dl, 0x10
jne 0x429780
and edx, 0xf
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
add dword [esi + 4], 2
jmp 0x429824
mov ecx, dword [esi + 4]
test dl, 8
jne 0x4297b0
and edx, 7
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 3]
jmp 0x429821
test dl, 4
jne 0x4297e6
and edx, 3
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 4]
jmp 0x429821
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [esi + 4], eax
mov eax, edx
and edx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4879d0]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x489bd0]
movzx eax, byte [eax*8 + 0x4868f1]
mov eax, dword [eax*4 + 0x486878]
cmp eax, 1
je 0x42985d
cmp eax, 3
je 0x42985d
xor eax, eax
jmp 0x429862
mov eax, 1
cmp eax, dword [esi + 0x60]
jne 0x429890
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x429881
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
inc dword [esi + 0x7c]
push 0x12c
call dword [0x3580d38]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x427828
mov dword [esi + 0x128], 0x3b
jmp 0x426fb9
test edi, edi
jne case.0x425bdf.49
mov eax, dword [esi + 0x7c]
cmp eax, dword [esi + 0x84]
jl 0x4298f6
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x4298e7
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
mov edi, dword [esi + 4]
cmp edi, dword [ebp + 0x78]
jb 0x429950
cmp dword [ebp + 0x88], 0
je 0x429927
cmp edi, dword [ebp + 0x84]
jbe 0x429927
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x429941
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
movzx edx, byte [edi]
inc edi
mov dword [esi + 4], edi
test ebx, ebx
je 0x429a4c
cmp edx, 0xc0
jb 0x429a4c
movzx eax, byte [edi]
and eax, 0x3f
test dl, 0x20
jne 0x429986
and edx, 0x1f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x429a49
test dl, 0x10
jne 0x4299a8
and edx, 0xf
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
add dword [esi + 4], 2
jmp 0x429a4c
mov ecx, dword [esi + 4]
test dl, 8
jne 0x4299d8
and edx, 7
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 3]
jmp 0x429a49
test dl, 4
jne 0x429a0e
and edx, 3
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 4]
jmp 0x429a49
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [esi + 4], eax
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4879d0]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x489bd0]
movzx eax, byte [eax*8 + 0x4868f1]
cmp dword [eax*4 + 0x486878], 6
je 0x429a94
cmp edx, 9
je 0x429a94
cmp edx, 0xa
je 0x429a94
cmp edx, 0xc
je 0x429a94
cmp edx, 0xd
je 0x429a94
xor eax, eax
jmp 0x429a99
mov eax, 1
cmp eax, dword [esi + 0x60]
jne 0x429ac7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x429ab8
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
inc dword [esi + 0x7c]
push 0x12c
call dword [0x3580d38]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x427828
mov dword [esi + 0x128], 0x3c
jmp 0x426fb9
test edi, edi
jne case.0x425bdf.49
mov eax, dword [esi + 0x7c]
cmp eax, dword [esi + 0x84]
jl 0x429b2d
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x429b1e
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
mov edi, dword [esi + 4]
cmp edi, dword [ebp + 0x78]
jb 0x429b87
cmp dword [ebp + 0x88], 0
je 0x429b5e
cmp edi, dword [ebp + 0x84]
jbe 0x429b5e
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x429b78
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
movzx edx, byte [edi]
inc edi
mov dword [esi + 4], edi
test ebx, ebx
je 0x429c83
cmp edx, 0xc0
jb 0x429c83
movzx eax, byte [edi]
and eax, 0x3f
test dl, 0x20
jne 0x429bbd
and edx, 0x1f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x429c80
test dl, 0x10
jne 0x429bdf
and edx, 0xf
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
add dword [esi + 4], 2
jmp 0x429c83
mov ecx, dword [esi + 4]
test dl, 8
jne 0x429c0f
and edx, 7
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 3]
jmp 0x429c80
test dl, 4
jne 0x429c45
and edx, 3
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 4]
jmp 0x429c80
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [esi + 4], eax
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4879d0]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x489bd0]
movzx eax, byte [eax*8 + 0x4868f1]
cmp dword [eax*4 + 0x486878], 6
je 0x429cd0
cmp edx, 9
je 0x429cd0
cmp edx, 0xa
je 0x429cd0
cmp edx, 0xb
je 0x429cd0
cmp edx, 0xc
je 0x429cd0
cmp edx, 0xd
je 0x429cd0
xor eax, eax
jmp 0x429cd5
mov eax, 1
cmp eax, dword [esi + 0x60]
jne 0x429d03
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x429cf4
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
inc dword [esi + 0x7c]
push 0x12c
call dword [0x3580d38]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x427828
mov dword [esi + 0x128], 0x3d
jmp 0x426fb9
test edi, edi
jne case.0x425bdf.49
mov eax, dword [esi + 0x7c]
cmp eax, dword [esi + 0x84]
jl 0x429d69
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x429d5a
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
mov edi, dword [esi + 4]
cmp edi, dword [ebp + 0x78]
jb 0x429dc3
cmp dword [ebp + 0x88], 0
je 0x429d9a
cmp edi, dword [ebp + 0x84]
jbe 0x429d9a
mov dword [ebp + 0x60], 1
cmp dword [ebp + 0x88], 1
jg 0x41c4a7
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x429db4
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
movzx edx, byte [edi]
inc edi
mov dword [esi + 4], edi
test ebx, ebx
je 0x429ebf
cmp edx, 0xc0
jb 0x429ebf
movzx eax, byte [edi]
and eax, 0x3f
test dl, 0x20
jne 0x429df9
and edx, 0x1f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x429ebc
test dl, 0x10
jne 0x429e1b
and edx, 0xf
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
add dword [esi + 4], 2
jmp 0x429ebf
mov ecx, dword [esi + 4]
test dl, 8
jne 0x429e4b
and edx, 7
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 3]
jmp 0x429ebc
test dl, 4
jne 0x429e81
and edx, 3
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 4]
jmp 0x429ebc
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [esi + 4], eax
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4879d0]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x489bd0]
movzx eax, byte [eax*8 + 0x4868f1]
mov eax, dword [eax*4 + 0x486878]
cmp eax, 1
je 0x429eff
cmp eax, 3
je 0x429eff
cmp edx, 0x5f
je 0x429eff
xor eax, eax
jmp 0x429f04
mov eax, 1
cmp eax, dword [esi + 0x60]
jne 0x429f32
mov eax, esi
lea ecx, [esp + 0x28]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
cmp eax, ecx
je 0x429f23
push eax
call dword [0x3580d3c]
add esp, 4
test esi, esi
je 0x42a0ff
xor edi, edi
jmp 0x425bcf
inc dword [esi + 0x7c]
push 0x12c
call dword [0x3580d38]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x427828
mov dword [esi + 0x128], 0x3e
jmp 0x426fb9
mov ecx, dword [esi + 0x40]
lea eax, [esi + 0xa8]
cmp ecx, eax
je 0x429f73
push ecx
call dword [0x3580d34]
add esp, 4
mov eax, dword [ebp + 0x80]
mov dword [esi + 4], eax
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0xc], eax
jmp 0x41aeef
add eax, 3
mov dword [esi + 8], eax
jmp 0x41aeef
mov eax, dword [esi + 0x88]
mov dword [esi + 0x7c], eax
jmp 0x427810
mov eax, dword [esi + 0x88]
mov ebx, dword [esp + 0x14]
mov dword [esi + 0x7c], eax
jmp 0x427a9e
mov eax, dword [esi + 0x88]
mov dword [esi + 0x7c], eax
jmp 0x427be3
mov eax, dword [esi + 0x88]
mov dword [esi + 0x7c], eax
jmp 0x427e60
mov eax, dword [esi + 0x88]
mov dword [esi + 0x7c], eax
jmp 0x4280e1
mov eax, dword [esi + 0x88]
mov dword [esi + 0x7c], eax
jmp 0x4288f8
mov eax, dword [esi + 0x88]
mov dword [esi + 0x7c], eax
jmp 0x428b1a
mov eax, dword [esi + 0x88]
mov dword [esi + 0x7c], eax
jmp 0x428d33
mov eax, dword [esi + 0x88]
mov dword [esi + 0x7c], eax
jmp 0x428f45
mov eax, dword [esi + 0x88]
mov dword [esi + 0x7c], eax
jmp 0x429157
mov eax, dword [esi + 0x88]
mov dword [esi + 0x7c], eax
jmp 0x429893
mov eax, dword [esi + 0x88]
mov dword [esi + 0x7c], eax
jmp 0x429aca
mov eax, dword [esi + 0x88]
mov dword [esi + 0x7c], eax
jmp 0x429d06
mov eax, dword [esi + 0x88]
mov dword [esi + 0x7c], eax
jmp 0x429f35
mov eax, dword [esi + 0x88]
mov dword [esi + 0x7c], eax
jmp 0x42844c
mov eax, dword [esi + 0x88]
mov dword [esi + 0x7c], eax
jmp 0x4294b4
mov dword [esi + 0x128], 0x37
mov eax, dword [esi + 4]
mov dword [edi + 4], eax
mov ecx, dword [esi + 8]
movzx eax, byte [ecx]
movzx edx, byte [eax + 0x4867d8]
movzx eax, byte [ecx + 1]
add edx, eax
add edx, ecx
mov dword [edi + 8], edx
mov eax, dword [esi + 0xc]
mov dword [edi + 0xc], eax
mov eax, dword [esi + 0x10]
mov dword [edi + 0x10], eax
mov eax, dword [esi + 0x14]
mov dword [edi + 0x14], eax
mov eax, dword [esi + 0x18]
inc eax
mov dword [edi + 0x18], eax
mov dword [edi], esi
mov esi, edi
jmp 0x41ae2f
mov dword [esi + 0x128], 0x10
jmp 0x426fb9
pop edi
pop esi
pop ebp
mov eax, 0xfffffff8
pop ebx
add esp, 0x1b0
ret
pop edi
pop esi
pop ebp
mov eax, 0xffffffeb
pop ebx
add esp, 0x1b0
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffffa
pop ebx
add esp, 0x1b0
ret
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x1b0
ret
pop edi
pop esi
pop ebp
mov eax, 0xffffffe6
pop ebx
add esp, 0x1b0
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1b
pop ebx
add esp, 0x1b0
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffff4
pop ebx
add esp, 0x1b0
ret
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x1b0
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1c
pop ebx
add esp, 0x1b0
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1d
pop ebx
add esp, 0x1b0
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1a
pop ebx
add esp, 0x1b0
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc20
pop ebx
add esp, 0x1b0
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1e
pop ebx
add esp, 0x1b0
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1f
pop ebx
add esp, 0x1b0
ret
push dword [esi + 0x128]
push str.jump_error_in_pcre_match:_label__d_non_existent_n
call fcn.00410d51
add esp, 8
pop edi
pop esi
pop ebp
mov eax, 0xfffffff2
pop ebx
add esp, 0x1b0
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffffb
pop ebx
add esp, 0x1b0
ret