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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x42c
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
mov esi, dword [edi + 4]
mov eax, dword [esi]
lea ecx, [esp + 0x70]
push ecx
mov dword [esp + 0x28], esi
mov dword [esp + 0x70], eax
call fcn.0051ec40
mov edx, dword [edi + 0x2c]
mov eax, dword [edi + 0x20]
mov esi, dword [esi + 0xac]
mov ecx, dword [edi + 0x28]
mov dword [esp + 0x180], edx
mov edx, dword [edi + 0x30]
push eax
mov dword [esp + 0x14], esi
mov dword [esp + 0x30], eax
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x188], edx
call fcn.00401320
xor edi, edi
xor ebx, ebx
test esi, esi
mov dword [esp + 0x28], edi
mov dword [esp + 0x20], ebx
je 0x469cdd
cmp dword [esi], ebx
jne 0x46275f
cmp dword [esp + 0x180], ebx
je 0x469cdd
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x24]
mov edx, dword [ecx]
mov eax, dword [esp + 0x68]
mov eax, dword [edx + eax*4]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
lea esi, [ecx + eax]
lea edx, [ecx + edx*4]
add edx, eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xc]
cmp eax, 0x183
mov dword [esp + 0x1c], esi
mov dword [esp + 0x30], edx
ja case.0x45563b.1
jmp dword [eax*4 + 0x469d08]
cmp esi, edx
je case.0x45563b.1
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x469cdd
mov ecx, dword [eax]
mov al, byte [ecx + 4]
cmp al, 0xff
jne 0x45566e
mov ebx, dword [ecx - 4]
jmp 0x455671
movzx ebx, al
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x14]
add eax, 0x18
add ecx, 5
cmp edi, ebx
jg 0x4559a5
lea esi, [ecx + ebx]
lea edx, [eax + edi]
mov dword [esp + 0x44], edx
sub ecx, eax
mov edx, ecx
sub edx, edi
add edx, ebx
mov dword [esp + 0x60], edx
lea edx, [eax + 3]
mov dword [esp + 0x58], edx
lea edx, [eax + 2]
mov dword [esp + 0x64], edx
lea edx, [eax + 4]
mov dword [esp + 0x5c], edx
mov edx, dword [esp + 0x44]
sub edx, eax
mov ebx, esi
sub ebx, eax
mov dword [esp + 0x34], ecx
mov dword [esp + 0x4c], edx
mov dword [esp + 0x54], ebx
jmp 0x4556d0
mov eax, dword [esp + 0x58]
mov esi, dword [esp + 0x10]
mov edi, ecx
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x5c]
add esi, 0x18
mov dword [esp + 0x18], ecx
mov dword [esp + 0x38], eax
mov dword [esp + 0x40], edx
mov dword [esp + 0x14], ebx
lea esp, [esp]
cmp esi, dword [esp + 0x44]
jae 0x455971
mov cl, byte [esi + edi]
mov bl, byte [esi]
mov edx, dword [0x58b5d0]
movzx eax, cl
cmp byte [eax + edx], bl
jne 0x45573a
mov eax, 1
add dword [esp + 0x38], eax
add dword [esp + 0x18], eax
add dword [esp + 0x3c], eax
sub dword [esp + 0x14], eax
add esi, eax
sub dword [esp + 0x40], eax
jmp 0x455700
test cl, cl
jns 0x455951
mov edx, dword [esp + 0x14]
sub edx, edi
cmp edx, 2
mov dword [esp + 0x48], edx
jl 0x455781
mov dl, cl
and dl, 0xe0
cmp dl, 0xc0
jne 0x45577d
movzx ecx, byte [esi + edi + 1]
and eax, 0x1f
and ecx, 0x3f
shl eax, 6
or ecx, eax
push ecx
call fcn.00409960
mov dword [esp + 0x48], eax
add edi, 1
jmp 0x45580e
mov edx, dword [esp + 0x48]
cmp edx, 3
jl 0x4557c0
mov dl, cl
and dl, 0xf0
cmp dl, 0xe0
jne 0x4557bc
movzx ecx, byte [esi + edi + 1]
movzx edx, byte [esi + edi + 2]
and ecx, 0x3f
and eax, 0xf
shl eax, 6
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
push ecx
call fcn.00409960
mov dword [esp + 0x48], eax
add edi, 2
jmp 0x45580e
mov edx, dword [esp + 0x48]
cmp edx, 4
jl 0x455806
and cl, 0xf8
cmp cl, 0xf0
jne 0x455806
movzx ecx, byte [esi + edi + 1]
movzx edx, byte [esi + edi + 2]
and ecx, 0x3f
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [esi + edi + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
push ecx
call fcn.00409960
mov dword [esp + 0x48], eax
add edi, 3
jmp 0x45580e
mov dword [esp + 0x48], 0
test bl, bl
jns 0x45591b
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x44]
cmp ecx, eax
ja 0x455860
mov dl, bl
and dl, 0xe0
cmp dl, 0xc0
jne 0x455860
movzx eax, byte [esi + 1]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, 2
add dword [esp + 0x38], eax
add dword [esp + 0x3c], eax
sub dword [esp + 0x14], eax
sub dword [esp + 0x40], eax
add ecx, eax
add esi, eax
mov dword [esp + 0x18], ecx
sub edi, 1
jmp 0x455939
cmp dword [esp + 0x3c], eax
ja 0x4558af
mov dl, bl
and dl, 0xf0
cmp dl, 0xe0
jne 0x4558af
movzx eax, byte [esi + 1]
movzx edx, byte [ecx]
and ebx, 0xf
shl ebx, 6
and eax, 0x3f
or ebx, eax
mov eax, 3
add dword [esp + 0x38], eax
add dword [esp + 0x3c], eax
sub dword [esp + 0x14], eax
sub dword [esp + 0x40], eax
shl ebx, 6
and edx, 0x3f
add ecx, eax
or ebx, edx
add esi, eax
mov dword [esp + 0x18], ecx
sub edi, 2
jmp 0x455939
cmp dword [esp + 0x38], eax
ja 0x45590c
mov al, bl
and al, 0xf8
cmp al, 0xf0
jne 0x45590c
movzx edx, byte [esi + 1]
movzx eax, byte [ecx]
add dword [esp + 0x38], 4
and ebx, 7
shl ebx, 6
and edx, 0x3f
or ebx, edx
shl ebx, 6
and eax, 0x3f
or ebx, eax
mov eax, dword [esp + 0x3c]
movzx edx, byte [eax]
and edx, 0x3f
shl ebx, 6
or ebx, edx
mov edx, 4
sub dword [esp + 0x14], edx
sub dword [esp + 0x40], edx
add ecx, edx
add eax, edx
add esi, 4
mov dword [esp + 0x18], ecx
mov dword [esp + 0x3c], eax
sub edi, 3
jmp 0x455939
mov eax, 1
xor ebx, ebx
add ecx, eax
mov dword [esp + 0x18], ecx
jmp 0x455927
mov eax, 1
add dword [esp + 0x18], eax
movzx ebx, bl
add dword [esp + 0x38], eax
add dword [esp + 0x3c], eax
sub dword [esp + 0x14], eax
add esi, eax
sub dword [esp + 0x40], eax
cmp dword [esp + 0x48], ebx
jne 0x455951
mov eax, dword [esp + 0x14]
sub eax, edi
cmp eax, dword [esp + 0x40]
jge 0x455700
jmp 0x4559a5
mov ecx, dword [esp + 0x60]
cmp dword [esp + 0x34], ecx
je 0x4559a5
add dword [esp + 0x34], 1
mov ecx, dword [esp + 0x34]
mov ebx, dword [esp + 0x54]
mov edx, dword [esp + 0x4c]
jmp 0x4556d0
mov edx, dword [esp + 0x28]
cmp edx, dword [esp + 0x20]
jne 0x455992
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov dword [esp + 0x28], eax
add eax, 0xff0
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x28]
mov edx, dword [ecx]
mov dword [eax], edx
add eax, 4
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x1c]
add eax, 4
cmp eax, dword [esp + 0x30]
mov dword [esp + 0x1c], eax
jne 0x45564e
mov edi, dword [esp + 0x28]
mov ebx, dword [esp + 0x20]
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x469cdd
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x4559f0
mov edx, dword [eax - 4]
jmp 0x4559f3
movzx edx, cl
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx + 0x14]
test ecx, ecx
mov dword [esp + 0x4c], ecx
je 0x455ccf
add eax, 5
mov dword [esp + 0x48], eax
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x34]
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x14], edx
mov dword [esp + 0x1c], eax
add edi, 0x18
mov dword [esp + 0x18], ecx
cmp dword [esp + 0x1c], 0
je 0x455cff
mov edx, dword [esp + 0x14]
mov cl, byte [edx]
mov bl, byte [edi]
mov edx, dword [0x58b5d0]
movzx eax, cl
cmp byte [eax + edx], bl
jne 0x455a6f
mov ecx, dword [esp + 0x18]
mov eax, 1
add dword [esp + 0x14], eax
sub dword [esp + 0x1c], eax
add edi, eax
sub ecx, eax
mov dword [esp + 0x18], ecx
jmp 0x455bf5
test cl, cl
jns 0x455c55
cmp dword [esp + 0x1c], 2
jl 0x455aab
mov dl, cl
and dl, 0xe0
cmp dl, 0xc0
jne 0x455aab
mov ecx, dword [esp + 0x14]
movzx edx, byte [ecx + 1]
and eax, 0x1f
and edx, 0x3f
shl eax, 6
or edx, eax
push edx
call fcn.00409960
mov ecx, 2
jmp 0x455b36
cmp dword [esp + 0x1c], 3
jl 0x455ae8
mov dl, cl
and dl, 0xf0
cmp dl, 0xe0
jne 0x455ae8
mov ecx, dword [esp + 0x14]
movzx edx, byte [ecx + 1]
and eax, 0xf
and edx, 0x3f
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
push edx
call fcn.00409960
mov ecx, 3
jmp 0x455b36
cmp dword [esp + 0x1c], 4
jl 0x455b2f
and cl, 0xf8
cmp cl, 0xf0
jne 0x455b2f
mov ecx, dword [esp + 0x14]
movzx edx, byte [ecx + 1]
and edx, 0x3f
and eax, 7
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
movzx ecx, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
shl edx, 6
and ecx, 0x3f
or edx, ecx
push edx
call fcn.00409960
mov ecx, 4
jmp 0x455b36
xor eax, eax
mov ecx, 1
add dword [esp + 0x14], ecx
sub dword [esp + 0x1c], ecx
test bl, bl
mov ecx, dword [esp + 0x18]
jns 0x455be4
cmp ecx, 2
jl 0x455b70
mov dl, bl
and dl, 0xe0
cmp dl, 0xc0
jne 0x455b70
movzx edx, byte [edi + 1]
and ebx, 0x1f
and edx, 0x3f
shl ebx, 6
or edx, ebx
add edi, 2
sub ecx, 2
jmp 0x455bed
cmp ecx, 3
jl 0x455ba2
mov dl, bl
and dl, 0xf0
cmp dl, 0xe0
jne 0x455ba2
movzx edx, byte [edi + 1]
and ebx, 0xf
and edx, 0x3f
shl ebx, 6
or edx, ebx
movzx ebx, byte [edi + 2]
shl edx, 6
and ebx, 0x3f
or edx, ebx
add edi, 3
sub ecx, 3
jmp 0x455bed
cmp ecx, 4
jl 0x455be0
mov dl, bl
and dl, 0xf8
cmp dl, 0xf0
jne 0x455be0
movzx edx, byte [edi + 1]
and ebx, 7
and edx, 0x3f
shl ebx, 6
or edx, ebx
movzx ebx, byte [edi + 2]
shl edx, 6
and ebx, 0x3f
or edx, ebx
movzx ebx, byte [edi + 3]
shl edx, 6
and ebx, 0x3f
or edx, ebx
add edi, 4
sub ecx, 4
jmp 0x455bed
xor edx, edx
jmp 0x455be7
movzx edx, bl
add edi, 1
sub ecx, 1
cmp eax, edx
mov dword [esp + 0x18], ecx
jne 0x455c55
test ecx, ecx
jne 0x455a30
mov al, byte [edi - 1]
cmp al, 0x61
jb 0x455c08
cmp al, 0x7a
jbe 0x455c24
cmp al, 0x41
jb 0x455c10
cmp al, 0x5a
jbe 0x455c24
cmp al, 0x30
jb 0x455c18
cmp al, 0x39
jbe 0x455c24
cmp al, 0x5f
je 0x455c24
test al, al
jns 0x455ccf
cmp dword [esp + 0x1c], 0
je 0x455ccf
mov eax, dword [esp + 0x14]
mov al, byte [eax]
cmp al, 0x61
jb 0x455c3d
cmp al, 0x7a
jbe 0x455c55
cmp al, 0x41
jb 0x455c45
cmp al, 0x5a
jbe 0x455c55
cmp al, 0x30
jb 0x455c4d
cmp al, 0x39
jbe 0x455c55
cmp al, 0x5f
je 0x455c55
test al, al
jns 0x455ccf
mov eax, dword [esp + 0x10]
mov cl, byte [eax + 0x18]
add eax, 0x18
mov eax, 1
add dword [esp + 0x48], eax
sub dword [esp + 0x34], eax
cmp cl, 0x61
jb 0x455c76
cmp cl, 0x7a
jbe 0x455c97
cmp cl, 0x41
jb 0x455c80
cmp cl, 0x5a
jbe 0x455c97
cmp cl, 0x30
jb 0x455c8a
cmp cl, 0x39
jbe 0x455c97
cmp cl, 0x5f
je 0x455c97
test cl, cl
jns 0x455a11
cmp dword [esp + 0x34], 0
je 0x455a11
mov edx, dword [esp + 0x48]
mov al, byte [edx - 1]
cmp al, 0x61
jb 0x455cb1
cmp al, 0x7a
jbe 0x455c5f
cmp al, 0x41
jb 0x455cb9
cmp al, 0x5a
jbe 0x455c5f
cmp al, 0x30
jb 0x455cc1
cmp al, 0x39
jbe 0x455c5f
cmp al, 0x5f
je 0x455c5f
test al, al
jns 0x455a11
jmp 0x455c5f
mov eax, dword [esp + 0x28]
cmp eax, dword [esp + 0x20]
jne 0x455cf0
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov dword [esp + 0x28], eax
add eax, 0xff0
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x28]
mov edx, dword [esi]
mov dword [eax], edx
add eax, 4
mov dword [esp + 0x28], eax
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x4559cf
mov edi, dword [esp + 0x28]
mov ebx, dword [esp + 0x20]
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
mov eax, dword [esp + 0x1c]
jmp 0x455d30
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x2e4]
test edx, edx
mov edi, dword [esp + 0x10]
jne 0x469cdd
mov ecx, dword [eax]
mov al, byte [ecx + 4]
cmp al, 0xff
jne 0x455d54
mov esi, dword [ecx - 4]
jmp 0x455d57
movzx esi, al
mov edx, dword [edi + 0x14]
add ecx, 5
cmp edx, esi
lea eax, [edi + 0x18]
jg 0x456057
lea edi, [ecx + esi]
sub ecx, eax
mov dword [esp + 0x34], ecx
sub ecx, edx
add ecx, esi
lea ebx, [eax + edx]
mov dword [esp + 0x58], ecx
lea ecx, [eax + 3]
mov dword [esp + 0x48], ebx
sub ebx, eax
mov dword [esp + 0x4c], ecx
lea edx, [eax + 2]
lea ecx, [eax + 4]
sub edi, eax
mov dword [esp + 0x54], edx
mov dword [esp + 0x60], ecx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x64], edi
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x54]
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x60]
mov edi, dword [esp + 0x34]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x64]
add esi, 0x18
mov dword [esp + 0x40], ecx
mov dword [esp + 0x18], edx
mov dword [esp + 0x38], eax
cmp esi, dword [esp + 0x48]
jae 0x456023
mov cl, byte [esi + edi]
mov bl, byte [esi]
mov edx, dword [0x58b5d4]
movzx eax, cl
cmp byte [eax + edx], bl
jne 0x455e0e
mov eax, 1
add dword [esp + 0x40], eax
add dword [esp + 0x3c], eax
add dword [esp + 0x14], eax
sub dword [esp + 0x38], eax
add esi, eax
sub dword [esp + 0x18], eax
jmp 0x455dd4
test cl, cl
jns 0x45600f
mov edx, dword [esp + 0x38]
sub edx, edi
cmp edx, 2
mov dword [esp + 0x44], edx
jl 0x455e51
mov dl, cl
and dl, 0xe0
cmp dl, 0xc0
jne 0x455e4d
movzx ecx, byte [esi + edi + 1]
and eax, 0x1f
and ecx, 0x3f
shl eax, 6
or ecx, eax
push ecx
call fcn.00421a20
add edi, 1
jmp 0x455ed0
mov edx, dword [esp + 0x44]
cmp edx, 3
jl 0x455e8c
mov dl, cl
and dl, 0xf0
cmp dl, 0xe0
jne 0x455e88
movzx ecx, byte [esi + edi + 1]
movzx edx, byte [esi + edi + 2]
and ecx, 0x3f
and eax, 0xf
shl eax, 6
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
push ecx
call fcn.00421a20
add edi, 2
jmp 0x455ed0
mov edx, dword [esp + 0x44]
cmp edx, 4
jl 0x455ece
and cl, 0xf8
cmp cl, 0xf0
jne 0x455ece
movzx ecx, byte [esi + edi + 1]
movzx edx, byte [esi + edi + 2]
and ecx, 0x3f
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [esi + edi + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
push ecx
call fcn.00421a20
add edi, 3
jmp 0x455ed0
xor eax, eax
test bl, bl
mov edx, 1
jns 0x455fe0
mov ecx, dword [esp + 0x48]
cmp dword [esp + 0x3c], ecx
ja 0x455f23
mov dl, bl
and dl, 0xe0
cmp dl, 0xc0
jne 0x455f23
movzx ecx, byte [esi + 1]
mov edx, 2
add dword [esp + 0x40], edx
add dword [esp + 0x3c], edx
add dword [esp + 0x14], edx
sub dword [esp + 0x38], edx
sub dword [esp + 0x18], edx
and ebx, 0x1f
and ecx, 0x3f
shl ebx, 6
or ecx, ebx
add esi, edx
sub edi, 1
jmp 0x455ff9
cmp dword [esp + 0x14], ecx
ja 0x455f78
mov dl, bl
and dl, 0xf0
cmp dl, 0xe0
jne 0x455f78
movzx ecx, byte [esi + 1]
mov edx, dword [esp + 0x3c]
add dword [esp + 0x40], 3
and ebx, 0xf
shl ebx, 6
and ecx, 0x3f
or ecx, ebx
movzx ebx, byte [edx]
and ebx, 0x3f
shl ecx, 6
or ecx, ebx
mov ebx, 3
add dword [esp + 0x14], ebx
sub dword [esp + 0x38], ebx
sub dword [esp + 0x18], ebx
add edx, ebx
add esi, 3
mov dword [esp + 0x3c], edx
sub edi, 2
jmp 0x455ff9
cmp dword [esp + 0x40], ecx
ja 0x455fd9
mov cl, bl
and cl, 0xf8
cmp cl, 0xf0
jne 0x455fd9
movzx ecx, byte [esi + 1]
mov edx, dword [esp + 0x3c]
add dword [esp + 0x40], 4
and ebx, 7
shl ebx, 6
and ecx, 0x3f
or ecx, ebx
movzx ebx, byte [edx]
and ebx, 0x3f
shl ecx, 6
or ecx, ebx
mov ebx, dword [esp + 0x14]
movzx ebx, byte [ebx]
and ebx, 0x3f
shl ecx, 6
or ecx, ebx
mov ebx, 4
add dword [esp + 0x14], ebx
sub dword [esp + 0x38], ebx
sub dword [esp + 0x18], ebx
add edx, ebx
add esi, 4
mov dword [esp + 0x3c], edx
sub edi, 3
jmp 0x455ff9
xor ecx, ecx
lea edx, [ecx + 1]
jmp 0x455fe3
movzx ecx, bl
add dword [esp + 0x40], edx
add dword [esp + 0x3c], edx
add dword [esp + 0x14], edx
sub dword [esp + 0x38], edx
add esi, edx
sub dword [esp + 0x18], edx
cmp eax, ecx
jne 0x45600f
mov edx, dword [esp + 0x38]
sub edx, edi
cmp edx, dword [esp + 0x18]
jge 0x455dd4
jmp 0x456057
mov eax, dword [esp + 0x34]
cmp eax, dword [esp + 0x58]
je 0x456057
add dword [esp + 0x34], 1
jmp 0x455da1
mov ecx, dword [esp + 0x28]
cmp ecx, dword [esp + 0x20]
jne 0x456044
mov edx, dword [esp + 0x2c]
push edx
call fcn.004021c0
mov dword [esp + 0x28], eax
add eax, 0xff0
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
mov eax, dword [esp + 0x28]
mov dword [eax], ecx
add eax, 4
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x1c]
add eax, 4
cmp eax, dword [esp + 0x30]
mov dword [esp + 0x1c], eax
jne 0x455d30
mov edi, dword [esp + 0x28]
mov ebx, dword [esp + 0x20]
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
mov eax, dword [esp + 0x1c]
jmp 0x456090
mov edx, dword [esp + 0x24]
mov ecx, dword [edx + 0x2e4]
test ecx, ecx
mov esi, dword [esp + 0x10]
jne 0x469cdd
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x4560b5
mov ecx, dword [eax - 4]
jmp 0x4560b8
movzx ecx, cl
mov edx, dword [esi + 0x14]
add esi, 0x18
test edx, edx
mov dword [esp + 0x4c], edx
mov dword [esp + 0x44], esi
je 0x456393
add eax, 5
mov dword [esp + 0x48], eax
mov dword [esp + 0x34], ecx
lea esp, [esp]
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x4c]
mov edi, dword [esp + 0x48]
mov esi, dword [esp + 0x44]
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], ecx
cmp dword [esp + 0x14], 0
je 0x4563c0
mov al, byte [edi]
mov bl, byte [esi]
mov edx, dword [0x58b5d4]
mov byte [esp + 0x53], al
movzx eax, al
cmp byte [eax + edx], bl
jne 0x456130
sub dword [esp + 0x14], 1
add edi, 1
add esi, 1
sub ecx, 1
mov dword [esp + 0x18], ecx
jmp 0x4562c1
test byte [esp + 0x53], 0x80
je 0x45631d
cmp dword [esp + 0x14], 2
jl 0x456174
mov dl, byte [esp + 0x53]
and dl, 0xe0
cmp dl, 0xc0
jne 0x456174
movzx ecx, byte [edi + 1]
and eax, 0x1f
and ecx, 0x3f
shl eax, 6
or ecx, eax
push ecx
call fcn.00421a20
mov ecx, dword [esp + 0x18]
add edi, 2
sub dword [esp + 0x14], 2
jmp 0x45620e
cmp dword [esp + 0x14], 3
jl 0x4561b6
mov dl, byte [esp + 0x53]
and dl, 0xf0
cmp dl, 0xe0
jne 0x4561b6
movzx ecx, byte [edi + 1]
movzx edx, byte [edi + 2]
and ecx, 0x3f
and eax, 0xf
shl eax, 6
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
push ecx
call fcn.00421a20
mov ecx, dword [esp + 0x18]
add edi, 3
sub dword [esp + 0x14], 3
jmp 0x45620e
cmp dword [esp + 0x14], 4
jl 0x456204
mov dl, byte [esp + 0x53]
and dl, 0xf8
cmp dl, 0xf0
jne 0x456204
movzx ecx, byte [edi + 1]
movzx edx, byte [edi + 2]
and ecx, 0x3f
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [edi + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
push ecx
call fcn.00421a20
mov ecx, dword [esp + 0x18]
add edi, 4
sub dword [esp + 0x14], 4
jmp 0x45620e
xor eax, eax
add edi, 1
sub dword [esp + 0x14], 1
test bl, bl
jns 0x4562b0
cmp ecx, 2
jl 0x45623c
mov dl, bl
and dl, 0xe0
cmp dl, 0xc0
jne 0x45623c
movzx edx, byte [esi + 1]
and ebx, 0x1f
shl ebx, 6
and edx, 0x3f
or ebx, edx
add esi, 2
sub ecx, 2
jmp 0x4562b9
cmp ecx, 3
jl 0x45626e
mov dl, bl
and dl, 0xf0
cmp dl, 0xe0
jne 0x45626e
movzx edx, byte [esi + 1]
and ebx, 0xf
shl ebx, 6
and edx, 0x3f
or ebx, edx
movzx edx, byte [esi + 2]
shl ebx, 6
and edx, 0x3f
or ebx, edx
add esi, 3
sub ecx, 3
jmp 0x4562b9
cmp ecx, 4
jl 0x4562ac
mov dl, bl
and dl, 0xf8
cmp dl, 0xf0
jne 0x4562ac
movzx edx, byte [esi + 1]
and ebx, 7
shl ebx, 6
and edx, 0x3f
or ebx, edx
movzx edx, byte [esi + 2]
shl ebx, 6
and edx, 0x3f
or ebx, edx
movzx edx, byte [esi + 3]
shl ebx, 6
and edx, 0x3f
or ebx, edx
add esi, 4
sub ecx, 4
jmp 0x4562b9
xor ebx, ebx
jmp 0x4562b3
movzx ebx, bl
add esi, 1
sub ecx, 1
cmp eax, ebx
mov dword [esp + 0x18], ecx
jne 0x45631d
test ecx, ecx
jne 0x4560f8
mov al, byte [esi - 1]
cmp al, 0x61
jb 0x4562d4
cmp al, 0x7a
jbe 0x4562f0
cmp al, 0x41
jb 0x4562dc
cmp al, 0x5a
jbe 0x4562f0
cmp al, 0x30
jb 0x4562e4
cmp al, 0x39
jbe 0x4562f0
cmp al, 0x5f
je 0x4562f0
test al, al
jns 0x456393
cmp dword [esp + 0x14], 0
je 0x456393
mov al, byte [edi]
cmp al, 0x61
jb 0x456305
cmp al, 0x7a
jbe 0x45631d
cmp al, 0x41
jb 0x45630d
cmp al, 0x5a
jbe 0x45631d
cmp al, 0x30
jb 0x456315
cmp al, 0x39
jbe 0x45631d
cmp al, 0x5f
je 0x45631d
test al, al
jns 0x456393
mov eax, dword [esp + 0x44]
mov cl, byte [eax]
mov eax, 1
add dword [esp + 0x48], eax
sub dword [esp + 0x34], eax
cmp cl, 0x61
jb 0x45633a
cmp cl, 0x7a
jbe 0x45635b
cmp cl, 0x41
jb 0x456344
cmp cl, 0x5a
jbe 0x45635b
cmp cl, 0x30
jb 0x45634e
cmp cl, 0x39
jbe 0x45635b
cmp cl, 0x5f
je 0x45635b
test cl, cl
jns 0x4560e0
cmp dword [esp + 0x34], 0
je 0x4560e0
mov edx, dword [esp + 0x48]
mov al, byte [edx - 1]
cmp al, 0x61
jb 0x456375
cmp al, 0x7a
jbe 0x456323
cmp al, 0x41
jb 0x45637d
cmp al, 0x5a
jbe 0x456323
cmp al, 0x30
jb 0x456385
cmp al, 0x39
jbe 0x456323
cmp al, 0x5f
je 0x456323
test al, al
jns 0x4560e0
jmp 0x456323
mov eax, dword [esp + 0x28]
cmp eax, dword [esp + 0x20]
jne 0x4563b1
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
lea ecx, [eax + 0xff0]
mov dword [esp + 0x20], ecx
mov edx, dword [esp + 0x1c]
mov ecx, dword [edx]
mov dword [eax], ecx
add eax, 4
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x1c]
add eax, 4
cmp eax, dword [esp + 0x30]
mov dword [esp + 0x1c], eax
jne 0x456090
mov edi, dword [esp + 0x28]
mov ebx, dword [esp + 0x20]
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
mov eax, dword [esp + 0x1c]
mov edi, edi
mov edx, dword [esp + 0x24]
mov ecx, dword [edx + 0x2e4]
test ecx, ecx
mov esi, dword [esp + 0x10]
jne 0x469cdd
mov edx, dword [eax]
push edx
lea eax, [esp + 0x74]
push eax
call fcn.00424170
mov edx, dword [esi + 0x14]
lea eax, [esi + 0x18]
mov esi, dword [esp + 0x70]
cmp edx, esi
jg 0x456718
mov ecx, dword [esp + 0x78]
lea edi, [ecx + esi]
sub ecx, eax
mov dword [esp + 0x34], ecx
sub ecx, edx
add ecx, esi
lea ebx, [eax + edx]
mov dword [esp + 0x58], ecx
lea ecx, [eax + 3]
mov dword [esp + 0x48], ebx
sub ebx, eax
mov dword [esp + 0x4c], ecx
lea edx, [eax + 2]
lea ecx, [eax + 4]
sub edi, eax
mov dword [esp + 0x54], edx
mov dword [esp + 0x60], ecx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x64], edi
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x54]
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x60]
mov edi, dword [esp + 0x34]
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x64]
add esi, 0x18
mov dword [esp + 0x18], ecx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x14], eax
cmp esi, dword [esp + 0x48]
jae 0x4566e4
mov cl, byte [esi + edi]
mov bl, byte [esi]
mov edx, dword [0x58b5d0]
movzx eax, cl
cmp byte [eax + edx], bl
jne 0x4564cf
mov eax, 1
add dword [esp + 0x18], eax
add dword [esp + 0x40], eax
add dword [esp + 0x38], eax
sub dword [esp + 0x14], eax
add esi, eax
sub dword [esp + 0x3c], eax
jmp 0x456495
test cl, cl
jns 0x4566d0
mov edx, dword [esp + 0x14]
sub edx, edi
cmp edx, 2
mov dword [esp + 0x44], edx
jl 0x456512
mov dl, cl
and dl, 0xe0
cmp dl, 0xc0
jne 0x45650e
movzx ecx, byte [esi + edi + 1]
and eax, 0x1f
and ecx, 0x3f
shl eax, 6
or ecx, eax
push ecx
call fcn.00409960
add edi, 1
jmp 0x456591
mov edx, dword [esp + 0x44]
cmp edx, 3
jl 0x45654d
mov dl, cl
and dl, 0xf0
cmp dl, 0xe0
jne 0x456549
movzx ecx, byte [esi + edi + 1]
movzx edx, byte [esi + edi + 2]
and ecx, 0x3f
and eax, 0xf
shl eax, 6
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
push ecx
call fcn.00409960
add edi, 2
jmp 0x456591
mov edx, dword [esp + 0x44]
cmp edx, 4
jl 0x45658f
and cl, 0xf8
cmp cl, 0xf0
jne 0x45658f
movzx ecx, byte [esi + edi + 1]
movzx edx, byte [esi + edi + 2]
and ecx, 0x3f
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [esi + edi + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
push ecx
call fcn.00409960
add edi, 3
jmp 0x456591
xor eax, eax
test bl, bl
mov ecx, 1
jns 0x4566a1
mov ecx, dword [esp + 0x48]
cmp dword [esp + 0x40], ecx
ja 0x4565e4
mov dl, bl
and dl, 0xe0
cmp dl, 0xc0
jne 0x4565e4
movzx ecx, byte [esi + 1]
and ebx, 0x1f
and ecx, 0x3f
shl ebx, 6
or ebx, ecx
mov ecx, 2
add dword [esp + 0x18], ecx
add dword [esp + 0x40], ecx
add dword [esp + 0x38], ecx
sub dword [esp + 0x14], ecx
sub dword [esp + 0x3c], ecx
add esi, ecx
sub edi, 1
jmp 0x4566ba
cmp dword [esp + 0x38], ecx
ja 0x456639
mov dl, bl
and dl, 0xf0
cmp dl, 0xe0
jne 0x456639
movzx ecx, byte [esi + 1]
add dword [esp + 0x18], 3
and ebx, 0xf
shl ebx, 6
and ecx, 0x3f
or ebx, ecx
mov ecx, dword [esp + 0x40]
movzx edx, byte [ecx]
and edx, 0x3f
shl ebx, 6
or ebx, edx
mov edx, 3
add dword [esp + 0x38], edx
sub dword [esp + 0x14], edx
sub dword [esp + 0x3c], edx
add ecx, edx
add esi, 3
mov dword [esp + 0x40], ecx
sub edi, 2
jmp 0x4566ba
cmp dword [esp + 0x18], ecx
ja 0x45669a
mov cl, bl
and cl, 0xf8
cmp cl, 0xf0
jne 0x45669a
movzx edx, byte [esi + 1]
mov ecx, dword [esp + 0x40]
add dword [esp + 0x18], 4
and ebx, 7
and edx, 0x3f
shl ebx, 6
or ebx, edx
movzx edx, byte [ecx]
and edx, 0x3f
shl ebx, 6
or ebx, edx
mov edx, dword [esp + 0x38]
movzx edx, byte [edx]
and edx, 0x3f
shl ebx, 6
or ebx, edx
mov edx, 4
add dword [esp + 0x38], edx
sub dword [esp + 0x14], edx
sub dword [esp + 0x3c], edx
add ecx, edx
add esi, 4
mov dword [esp + 0x40], ecx
sub edi, 3
jmp 0x4566ba
xor ebx, ebx
lea ecx, [ebx + 1]
jmp 0x4566a4
movzx ebx, bl
add dword [esp + 0x18], ecx
add dword [esp + 0x40], ecx
add dword [esp + 0x38], ecx
sub dword [esp + 0x14], ecx
add esi, ecx
sub dword [esp + 0x3c], ecx
cmp eax, ebx
jne 0x4566d0
mov eax, dword [esp + 0x14]
sub eax, edi
cmp eax, dword [esp + 0x3c]
jge 0x456495
jmp 0x456718
mov ecx, dword [esp + 0x34]
cmp ecx, dword [esp + 0x58]
je 0x456718
add dword [esp + 0x34], 1
jmp 0x456462
mov edx, dword [esp + 0x28]
cmp edx, dword [esp + 0x20]
jne 0x456705
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov dword [esp + 0x28], eax
add eax, 0xff0
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x28]
mov edx, dword [ecx]
mov dword [eax], edx
add eax, 4
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x1c]
add eax, 4
cmp eax, dword [esp + 0x30]
mov dword [esp + 0x1c], eax
jne 0x4563f0
mov edi, dword [esp + 0x28]
mov ebx, dword [esp + 0x20]
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
mov eax, dword [esp + 0x1c]
jmp 0x456750
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x2e4]
test edx, edx
mov esi, dword [esp + 0x10]
jne 0x469cdd
mov eax, dword [eax]
push eax
lea ecx, [esp + 0x74]
push ecx
call fcn.00424170
mov eax, dword [esi + 0x14]
add esi, 0x18
test eax, eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x44], esi
je 0x456a48
mov edx, dword [esp + 0x78]
mov eax, dword [esp + 0x70]
mov dword [esp + 0x48], edx
mov dword [esp + 0x34], eax
lea esp, [esp]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x4c]
mov edi, dword [esp + 0x48]
mov esi, dword [esp + 0x44]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], edx
jmp 0x4567c0
cmp dword [esp + 0x14], 0
je 0x456a75
mov cl, byte [edi]
mov bl, byte [esi]
mov edx, dword [0x58b5d0]
movzx eax, cl
cmp byte [eax + edx], bl
jne 0x4567f8
mov ecx, dword [esp + 0x18]
sub dword [esp + 0x14], 1
add edi, 1
add esi, 1
sub ecx, 1
mov dword [esp + 0x18], ecx
jmp 0x456976
test cl, cl
jns 0x4569d2
cmp dword [esp + 0x14], 2
jl 0x456833
mov dl, cl
and dl, 0xe0
cmp dl, 0xc0
jne 0x456833
movzx ecx, byte [edi + 1]
and eax, 0x1f
and ecx, 0x3f
shl eax, 6
or ecx, eax
push ecx
call fcn.00409960
add edi, 2
sub dword [esp + 0x14], 2
jmp 0x4568bf
cmp dword [esp + 0x14], 3
jl 0x45686f
mov dl, cl
and dl, 0xf0
cmp dl, 0xe0
jne 0x45686f
movzx ecx, byte [edi + 1]
movzx edx, byte [edi + 2]
and ecx, 0x3f
and eax, 0xf
shl eax, 6
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
push ecx
call fcn.00409960
add edi, 3
sub dword [esp + 0x14], 3
jmp 0x4568bf
cmp dword [esp + 0x14], 4
jl 0x4568b5
and cl, 0xf8
cmp cl, 0xf0
jne 0x4568b5
movzx ecx, byte [edi + 1]
movzx edx, byte [edi + 2]
and ecx, 0x3f
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [edi + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
push ecx
call fcn.00409960
add edi, 4
sub dword [esp + 0x14], 4
jmp 0x4568bf
xor eax, eax
add edi, 1
sub dword [esp + 0x14], 1
test bl, bl
mov ecx, dword [esp + 0x18]
jns 0x456965
cmp ecx, 2
jl 0x4568f1
mov dl, bl
and dl, 0xe0
cmp dl, 0xc0
jne 0x4568f1
movzx edx, byte [esi + 1]
and ebx, 0x1f
shl ebx, 6
and edx, 0x3f
or ebx, edx
add esi, 2
sub ecx, 2
jmp 0x45696e
cmp ecx, 3
jl 0x456923
mov dl, bl
and dl, 0xf0
cmp dl, 0xe0
jne 0x456923
movzx edx, byte [esi + 1]
and ebx, 0xf
shl ebx, 6
and edx, 0x3f
or ebx, edx
movzx edx, byte [esi + 2]
shl ebx, 6
and edx, 0x3f
or ebx, edx
add esi, 3
sub ecx, 3
jmp 0x45696e
cmp ecx, 4
jl 0x456961
mov dl, bl
and dl, 0xf8
cmp dl, 0xf0
jne 0x456961
movzx edx, byte [esi + 1]
and ebx, 7
shl ebx, 6
and edx, 0x3f
or ebx, edx
movzx edx, byte [esi + 2]
shl ebx, 6
and edx, 0x3f
or ebx, edx
movzx edx, byte [esi + 3]
shl ebx, 6
and edx, 0x3f
or ebx, edx
add esi, 4
sub ecx, 4
jmp 0x45696e
xor ebx, ebx
jmp 0x456968
movzx ebx, bl
add esi, 1
sub ecx, 1
cmp eax, ebx
mov dword [esp + 0x18], ecx
jne 0x4569d2
test ecx, ecx
jne 0x4567c0
mov al, byte [esi - 1]
cmp al, 0x61
jb 0x456989
cmp al, 0x7a
jbe 0x4569a5
cmp al, 0x41
jb 0x456991
cmp al, 0x5a
jbe 0x4569a5
cmp al, 0x30
jb 0x456999
cmp al, 0x39
jbe 0x4569a5
cmp al, 0x5f
je 0x4569a5
test al, al
jns 0x456a48
cmp dword [esp + 0x14], 0
je 0x456a48
mov al, byte [edi]
cmp al, 0x61
jb 0x4569ba
cmp al, 0x7a
jbe 0x4569d2
cmp al, 0x41
jb 0x4569c2
cmp al, 0x5a
jbe 0x4569d2
cmp al, 0x30
jb 0x4569ca
cmp al, 0x39
jbe 0x4569d2
cmp al, 0x5f
je 0x4569d2
test al, al
jns 0x456a48
mov eax, dword [esp + 0x44]
mov cl, byte [eax]
mov eax, 1
add dword [esp + 0x48], eax
sub dword [esp + 0x34], eax
cmp cl, 0x61
jb 0x4569ef
cmp cl, 0x7a
jbe 0x456a10
cmp cl, 0x41
jb 0x4569f9
cmp cl, 0x5a
jbe 0x456a10
cmp cl, 0x30
jb 0x456a03
cmp cl, 0x39
jbe 0x456a10
cmp cl, 0x5f
je 0x456a10
test cl, cl
jns 0x4567a0
cmp dword [esp + 0x34], 0
je 0x4567a0
mov edx, dword [esp + 0x48]
mov al, byte [edx - 1]
cmp al, 0x61
jb 0x456a2a
cmp al, 0x7a
jbe 0x4569d8
cmp al, 0x41
jb 0x456a32
cmp al, 0x5a
jbe 0x4569d8
cmp al, 0x30
jb 0x456a3a
cmp al, 0x39
jbe 0x4569d8
cmp al, 0x5f
je 0x4569d8
test al, al
jns 0x4567a0
jmp 0x4569d8
mov eax, dword [esp + 0x28]
cmp eax, dword [esp + 0x20]
jne 0x456a66
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
lea ecx, [eax + 0xff0]
mov dword [esp + 0x20], ecx
mov edx, dword [esp + 0x1c]
mov ecx, dword [edx]
mov dword [eax], ecx
add eax, 4
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x1c]
add eax, 4
cmp eax, dword [esp + 0x30]
mov dword [esp + 0x1c], eax
jne 0x456750
mov edi, dword [esp + 0x28]
mov ebx, dword [esp + 0x20]
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x24]
mov ecx, dword [edx + 0x2e4]
test ecx, ecx
mov esi, dword [esp + 0x10]
jne 0x469cdd
mov edx, dword [eax]
push edx
lea eax, [esp + 0x74]
push eax
call fcn.00424170
mov edx, dword [esi + 0x14]
lea eax, [esi + 0x18]
mov esi, dword [esp + 0x70]
cmp edx, esi
jg 0x456dd6
mov ecx, dword [esp + 0x78]
lea edi, [ecx + esi]
sub ecx, eax
mov dword [esp + 0x34], ecx
sub ecx, edx
add ecx, esi
lea ebx, [eax + edx]
mov dword [esp + 0x58], ecx
lea ecx, [eax + 3]
mov dword [esp + 0x48], ebx
sub ebx, eax
mov dword [esp + 0x4c], ecx
lea edx, [eax + 2]
lea ecx, [eax + 4]
sub edi, eax
mov dword [esp + 0x54], edx
mov dword [esp + 0x60], ecx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x64], edi
jmp 0x456b20
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x54]
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x60]
mov edi, dword [esp + 0x34]
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x64]
add esi, 0x18
mov dword [esp + 0x18], ecx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x14], eax
cmp esi, dword [esp + 0x48]
jae 0x456da2
mov cl, byte [esi + edi]
mov bl, byte [esi]
mov edx, dword [0x58b5d4]
movzx eax, cl
cmp byte [eax + edx], bl
jne 0x456b8d
mov eax, 1
add dword [esp + 0x18], eax
add dword [esp + 0x40], eax
add dword [esp + 0x38], eax
sub dword [esp + 0x14], eax
add esi, eax
sub dword [esp + 0x3c], eax
jmp 0x456b53
test cl, cl
jns 0x456d8e
mov edx, dword [esp + 0x14]
sub edx, edi
cmp edx, 2
mov dword [esp + 0x44], edx
jl 0x456bd0
mov dl, cl
and dl, 0xe0
cmp dl, 0xc0
jne 0x456bcc
movzx ecx, byte [esi + edi + 1]
and eax, 0x1f
and ecx, 0x3f
shl eax, 6
or ecx, eax
push ecx
call fcn.00421a20
add edi, 1
jmp 0x456c4f
mov edx, dword [esp + 0x44]
cmp edx, 3
jl 0x456c0b
mov dl, cl
and dl, 0xf0
cmp dl, 0xe0
jne 0x456c07
movzx ecx, byte [esi + edi + 1]
movzx edx, byte [esi + edi + 2]
and ecx, 0x3f
and eax, 0xf
shl eax, 6
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
push ecx
call fcn.00421a20
add edi, 2
jmp 0x456c4f
mov edx, dword [esp + 0x44]
cmp edx, 4
jl 0x456c4d
and cl, 0xf8
cmp cl, 0xf0
jne 0x456c4d
movzx ecx, byte [esi + edi + 1]
movzx edx, byte [esi + edi + 2]
and ecx, 0x3f
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [esi + edi + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
push ecx
call fcn.00421a20
add edi, 3
jmp 0x456c4f
xor eax, eax
test bl, bl
mov ecx, 1
jns 0x456d5f
mov ecx, dword [esp + 0x48]
cmp dword [esp + 0x40], ecx
ja 0x456ca2
mov dl, bl
and dl, 0xe0
cmp dl, 0xc0
jne 0x456ca2
movzx ecx, byte [esi + 1]
and ebx, 0x1f
and ecx, 0x3f
shl ebx, 6
or ebx, ecx
mov ecx, 2
add dword [esp + 0x18], ecx
add dword [esp + 0x40], ecx
add dword [esp + 0x38], ecx
sub dword [esp + 0x14], ecx
sub dword [esp + 0x3c], ecx
add esi, ecx
sub edi, 1
jmp 0x456d78
cmp dword [esp + 0x38], ecx
ja 0x456cf7
mov dl, bl
and dl, 0xf0
cmp dl, 0xe0
jne 0x456cf7
movzx ecx, byte [esi + 1]
add dword [esp + 0x18], 3
and ebx, 0xf
shl ebx, 6
and ecx, 0x3f
or ebx, ecx
mov ecx, dword [esp + 0x40]
movzx edx, byte [ecx]
and edx, 0x3f
shl ebx, 6
or ebx, edx
mov edx, 3
add dword [esp + 0x38], edx
sub dword [esp + 0x14], edx
sub dword [esp + 0x3c], edx
add ecx, edx
add esi, 3
mov dword [esp + 0x40], ecx
sub edi, 2
jmp 0x456d78
cmp dword [esp + 0x18], ecx
ja 0x456d58
mov cl, bl
and cl, 0xf8
cmp cl, 0xf0
jne 0x456d58
movzx edx, byte [esi + 1]
mov ecx, dword [esp + 0x40]
add dword [esp + 0x18], 4
and ebx, 7
and edx, 0x3f
shl ebx, 6
or ebx, edx
movzx edx, byte [ecx]
and edx, 0x3f
shl ebx, 6
or ebx, edx
mov edx, dword [esp + 0x38]
movzx edx, byte [edx]
and edx, 0x3f
shl ebx, 6
or ebx, edx
mov edx, 4
add dword [esp + 0x38], edx
sub dword [esp + 0x14], edx
sub dword [esp + 0x3c], edx
add ecx, edx
add esi, 4
mov dword [esp + 0x40], ecx
sub edi, 3
jmp 0x456d78
xor ebx, ebx
lea ecx, [ebx + 1]
jmp 0x456d62
movzx ebx, bl
add dword [esp + 0x18], ecx
add dword [esp + 0x40], ecx
add dword [esp + 0x38], ecx
sub dword [esp + 0x14], ecx
add esi, ecx
sub dword [esp + 0x3c], ecx
cmp eax, ebx
jne 0x456d8e
mov eax, dword [esp + 0x14]
sub eax, edi
cmp eax, dword [esp + 0x3c]
jge 0x456b53
jmp 0x456dd6
mov ecx, dword [esp + 0x34]
cmp ecx, dword [esp + 0x58]
je 0x456dd6
add dword [esp + 0x34], 1
jmp 0x456b20
mov edx, dword [esp + 0x28]
cmp edx, dword [esp + 0x20]
jne 0x456dc3
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov dword [esp + 0x28], eax
add eax, 0xff0
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x28]
mov edx, dword [ecx]
mov dword [eax], edx
add eax, 4
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x1c]
add eax, 4
cmp eax, dword [esp + 0x30]
mov dword [esp + 0x1c], eax
jne 0x456aa3
mov edi, dword [esp + 0x28]
mov ebx, dword [esp + 0x20]
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x2e4]
test edx, edx
mov esi, dword [esp + 0x10]
jne 0x469cdd
mov eax, dword [eax]
push eax
lea ecx, [esp + 0x74]
push ecx
call fcn.00424170
mov eax, dword [esi + 0x14]
add esi, 0x18
test eax, eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x44], esi
je 0x4570fb
mov edx, dword [esp + 0x78]
mov eax, dword [esp + 0x70]
mov dword [esp + 0x48], edx
mov dword [esp + 0x34], eax
lea ecx, [ecx]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x4c]
mov edi, dword [esp + 0x48]
mov esi, dword [esp + 0x44]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], edx
jmp 0x456e70
cmp dword [esp + 0x14], 0
je 0x457128
mov cl, byte [edi]
mov bl, byte [esi]
mov edx, dword [0x58b5d4]
movzx eax, cl
cmp byte [eax + edx], bl
jne 0x456ea8
mov ecx, dword [esp + 0x18]
sub dword [esp + 0x14], 1
add edi, 1
add esi, 1
sub ecx, 1
mov dword [esp + 0x18], ecx
jmp 0x457029
test cl, cl
jns 0x457085
cmp dword [esp + 0x14], 2
jl 0x456ee3
mov dl, cl
and dl, 0xe0
cmp dl, 0xc0
jne 0x456ee3
movzx ecx, byte [edi + 1]
and eax, 0x1f
and ecx, 0x3f
shl eax, 6
or ecx, eax
push ecx
call fcn.00421a20
add edi, 2
sub dword [esp + 0x14], 2
jmp 0x456f6f
cmp dword [esp + 0x14], 3
jl 0x456f1f
mov dl, cl
and dl, 0xf0
cmp dl, 0xe0
jne 0x456f1f
movzx ecx, byte [edi + 1]
movzx edx, byte [edi + 2]
and ecx, 0x3f
and eax, 0xf
shl eax, 6
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
push ecx
call fcn.00421a20
add edi, 3
sub dword [esp + 0x14], 3
jmp 0x456f6f
cmp dword [esp + 0x14], 4
jl 0x456f65
and cl, 0xf8
cmp cl, 0xf0
jne 0x456f65
movzx ecx, byte [edi + 1]
movzx edx, byte [edi + 2]
and ecx, 0x3f
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [edi + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
push ecx
call fcn.00421a20
add edi, 4
sub dword [esp + 0x14], 4
jmp 0x456f6f
xor eax, eax
add edi, 1
sub dword [esp + 0x14], 1
test bl, bl
mov ecx, dword [esp + 0x18]
jns 0x457018
cmp ecx, 2
jl 0x456fa4
mov dl, bl
and dl, 0xe0
cmp dl, 0xc0
jne 0x456fa4
movzx edx, byte [esi + 1]
and ebx, 0x1f
shl ebx, 6
and edx, 0x3f
or ebx, edx
add esi, 2
sub ecx, 2
jmp 0x457021
cmp ecx, 3
jl 0x456fd6
mov dl, bl
and dl, 0xf0
cmp dl, 0xe0
jne 0x456fd6
movzx edx, byte [esi + 1]
and ebx, 0xf
shl ebx, 6
and edx, 0x3f
or ebx, edx
movzx edx, byte [esi + 2]
shl ebx, 6
and edx, 0x3f
or ebx, edx
add esi, 3
sub ecx, 3
jmp 0x457021
cmp ecx, 4
jl 0x457014
mov dl, bl
and dl, 0xf8
cmp dl, 0xf0
jne 0x457014
movzx edx, byte [esi + 1]
and ebx, 7
shl ebx, 6
and edx, 0x3f
or ebx, edx
movzx edx, byte [esi + 2]
shl ebx, 6
and edx, 0x3f
or ebx, edx
movzx edx, byte [esi + 3]
shl ebx, 6
and edx, 0x3f
or ebx, edx
add esi, 4
sub ecx, 4
jmp 0x457021
xor ebx, ebx
jmp 0x45701b
movzx ebx, bl
add esi, 1
sub ecx, 1
cmp eax, ebx
mov dword [esp + 0x18], ecx
jne 0x457085
test ecx, ecx
jne 0x456e70
mov al, byte [esi - 1]
cmp al, 0x61
jb 0x45703c
cmp al, 0x7a
jbe 0x457058
cmp al, 0x41
jb 0x457044
cmp al, 0x5a
jbe 0x457058
cmp al, 0x30
jb 0x45704c
cmp al, 0x39
jbe 0x457058
cmp al, 0x5f
je 0x457058
test al, al
jns 0x4570fb
cmp dword [esp + 0x14], 0
je 0x4570fb
mov al, byte [edi]
cmp al, 0x61
jb 0x45706d
cmp al, 0x7a
jbe 0x457085
cmp al, 0x41
jb 0x457075
cmp al, 0x5a
jbe 0x457085
cmp al, 0x30
jb 0x45707d
cmp al, 0x39
jbe 0x457085
cmp al, 0x5f
je 0x457085
test al, al
jns 0x4570fb
mov eax, dword [esp + 0x44]
mov cl, byte [eax]
mov eax, 1
add dword [esp + 0x48], eax
sub dword [esp + 0x34], eax
cmp cl, 0x61
jb 0x4570a2
cmp cl, 0x7a
jbe 0x4570c3
cmp cl, 0x41
jb 0x4570ac
cmp cl, 0x5a
jbe 0x4570c3
cmp cl, 0x30
jb 0x4570b6
cmp cl, 0x39
jbe 0x4570c3
cmp cl, 0x5f
je 0x4570c3
test cl, cl
jns 0x456e50
cmp dword [esp + 0x34], 0
je 0x456e50
mov edx, dword [esp + 0x48]
mov al, byte [edx - 1]
cmp al, 0x61
jb 0x4570dd
cmp al, 0x7a
jbe 0x45708b
cmp al, 0x41
jb 0x4570e5
cmp al, 0x5a
jbe 0x45708b
cmp al, 0x30
jb 0x4570ed
cmp al, 0x39
jbe 0x45708b
cmp al, 0x5f
je 0x45708b
test al, al
jns 0x456e50
jmp 0x45708b
mov eax, dword [esp + 0x28]
cmp eax, dword [esp + 0x20]
jne 0x457119
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
lea ecx, [eax + 0xff0]
mov dword [esp + 0x20], ecx
mov edx, dword [esp + 0x1c]
mov ecx, dword [edx]
mov dword [eax], ecx
add eax, 4
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x1c]
add eax, 4
cmp eax, dword [esp + 0x30]
mov dword [esp + 0x1c], eax
jne 0x456e04
mov edi, dword [esp + 0x28]
mov ebx, dword [esp + 0x20]
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov ecx, dword [esp + 0x1c]
mov ecx, dword [ecx]
mov al, byte [ecx + 4]
cmp al, 0xff
jne 0x457176
mov esi, dword [ecx - 4]
jmp 0x457179
movzx esi, al
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x14]
add eax, 0x18
add ecx, 5
cmp edx, esi
jg 0x45743c
lea edi, [ecx + esi]
sub ecx, eax
mov dword [esp + 0x34], ecx
sub ecx, edx
lea ebx, [eax + edx]
add ecx, esi
lea edx, [eax + 3]
mov dword [esp + 0x48], ebx
sub ebx, eax
mov dword [esp + 0x58], ecx
mov dword [esp + 0x4c], edx
lea ecx, [eax + 2]
lea edx, [eax + 4]
sub edi, eax
mov dword [esp + 0x54], ecx
mov dword [esp + 0x60], edx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x64], edi
jmp 0x4571d0
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x54]
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x60]
mov edi, dword [esp + 0x34]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x64]
add esi, 0x18
mov dword [esp + 0x18], edx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x14], ecx
cmp esi, dword [esp + 0x48]
jae 0x457469
mov cl, byte [esi + edi]
mov bl, byte [esi]
mov edx, dword [0x58b5d0]
movzx eax, cl
cmp byte [eax + edx], bl
jne 0x45723d
mov eax, 1
add dword [esp + 0x18], eax
add dword [esp + 0x40], eax
add dword [esp + 0x38], eax
sub dword [esp + 0x14], eax
add esi, eax
sub dword [esp + 0x3c], eax
jmp 0x457203
test cl, cl
jns 0x45748b
mov edx, dword [esp + 0x14]
sub edx, edi
cmp edx, 2
mov dword [esp + 0x44], edx
jl 0x457280
mov dl, cl
and dl, 0xe0
cmp dl, 0xc0
jne 0x45727c
movzx ecx, byte [esi + edi + 1]
and eax, 0x1f
and ecx, 0x3f
shl eax, 6
or ecx, eax
push ecx
call fcn.00409960
add edi, 1
jmp 0x4572ff
mov edx, dword [esp + 0x44]
cmp edx, 3
jl 0x4572bb
mov dl, cl
and dl, 0xf0
cmp dl, 0xe0
jne 0x4572b7
movzx ecx, byte [esi + edi + 1]
movzx edx, byte [esi + edi + 2]
and ecx, 0x3f
and eax, 0xf
shl eax, 6
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
push ecx
call fcn.00409960
add edi, 2
jmp 0x4572ff
mov edx, dword [esp + 0x44]
cmp edx, 4
jl 0x4572fd
and cl, 0xf8
cmp cl, 0xf0
jne 0x4572fd
movzx ecx, byte [esi + edi + 1]
movzx edx, byte [esi + edi + 2]
and ecx, 0x3f
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [esi + edi + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
push ecx
call fcn.00409960
add edi, 3
jmp 0x4572ff
xor eax, eax
test bl, bl
mov edx, 1
jns 0x45740f
mov ecx, dword [esp + 0x48]
cmp dword [esp + 0x40], ecx
ja 0x457352
mov dl, bl
and dl, 0xe0
cmp dl, 0xc0
jne 0x457352
movzx ecx, byte [esi + 1]
mov edx, 2
add dword [esp + 0x18], edx
add dword [esp + 0x40], edx
add dword [esp + 0x38], edx
sub dword [esp + 0x14], edx
sub dword [esp + 0x3c], edx
and ebx, 0x1f
and ecx, 0x3f
shl ebx, 6
or ecx, ebx
add esi, edx
sub edi, 1
jmp 0x457428
cmp dword [esp + 0x38], ecx
ja 0x4573a7
mov dl, bl
and dl, 0xf0
cmp dl, 0xe0
jne 0x4573a7
movzx ecx, byte [esi + 1]
mov edx, dword [esp + 0x40]
add dword [esp + 0x18], 3
and ebx, 0xf
shl ebx, 6
and ecx, 0x3f
or ecx, ebx
movzx ebx, byte [edx]
and ebx, 0x3f
shl ecx, 6
or ecx, ebx
mov ebx, 3
add dword [esp + 0x38], ebx
sub dword [esp + 0x14], ebx
sub dword [esp + 0x3c], ebx
add edx, ebx
add esi, 3
mov dword [esp + 0x40], edx
sub edi, 2
jmp 0x457428
cmp dword [esp + 0x18], ecx
ja 0x457408
mov cl, bl
and cl, 0xf8
cmp cl, 0xf0
jne 0x457408
movzx ecx, byte [esi + 1]
mov edx, dword [esp + 0x40]
add dword [esp + 0x18], 4
and ebx, 7
shl ebx, 6
and ecx, 0x3f
or ecx, ebx
movzx ebx, byte [edx]
and ebx, 0x3f
shl ecx, 6
or ecx, ebx
mov ebx, dword [esp + 0x38]
movzx ebx, byte [ebx]
and ebx, 0x3f
shl ecx, 6
or ecx, ebx
mov ebx, 4
add dword [esp + 0x38], ebx
sub dword [esp + 0x14], ebx
sub dword [esp + 0x3c], ebx
add edx, ebx
add esi, 4
mov dword [esp + 0x40], edx
sub edi, 3
jmp 0x457428
xor ecx, ecx
lea edx, [ecx + 1]
jmp 0x457412
movzx ecx, bl
add dword [esp + 0x18], edx
add dword [esp + 0x40], edx
add dword [esp + 0x38], edx
sub dword [esp + 0x14], edx
add esi, edx
sub dword [esp + 0x3c], edx
cmp eax, ecx
jne 0x45748b
mov edx, dword [esp + 0x14]
sub edx, edi
cmp edx, dword [esp + 0x3c]
jge 0x457203
mov eax, dword [esp + 0x28]
cmp eax, dword [esp + 0x20]
jne 0x45745a
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
lea edx, [eax + 0xff0]
mov dword [esp + 0x20], edx
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
mov dword [eax], edx
add eax, 4
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x1c]
add eax, 4
cmp eax, dword [esp + 0x30]
mov dword [esp + 0x1c], eax
jne 0x457152
mov edi, dword [esp + 0x28]
mov ebx, dword [esp + 0x20]
jmp case.0x45563b.1
mov eax, dword [esp + 0x34]
cmp eax, dword [esp + 0x58]
je 0x45743c
add dword [esp + 0x34], 1
jmp 0x4571d0
cmp esi, edx
je case.0x45563b.1
jmp 0x4574b0
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x469cdd
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x4574d1
mov edx, dword [eax - 4]
jmp 0x4574d4
movzx edx, cl
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx + 0x14]
test ecx, ecx
mov dword [esp + 0x4c], ecx
je 0x4577e0
add eax, 5
mov dword [esp + 0x48], eax
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x34]
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], eax
add edi, 0x18
mov dword [esp + 0x18], ecx
cmp dword [esp + 0x14], 0
je 0x4577b7
mov edx, dword [esp + 0x1c]
mov cl, byte [edx]
mov bl, byte [edi]
mov edx, dword [0x58b5d0]
movzx eax, cl
cmp byte [eax + edx], bl
jne 0x457550
mov ecx, dword [esp + 0x18]
mov eax, 1
add dword [esp + 0x1c], eax
sub dword [esp + 0x14], eax
add edi, eax
sub ecx, eax
mov dword [esp + 0x18], ecx
jmp 0x4576d9
test cl, cl
jns 0x45773d
cmp dword [esp + 0x14], 2
jl 0x45758c
mov dl, cl
and dl, 0xe0
cmp dl, 0xc0
jne 0x45758c
mov ecx, dword [esp + 0x1c]
movzx edx, byte [ecx + 1]
and eax, 0x1f
and edx, 0x3f
shl eax, 6
or edx, eax
push edx
call fcn.00409960
mov ecx, 2
jmp 0x457617
cmp dword [esp + 0x14], 3
jl 0x4575c9
mov dl, cl
and dl, 0xf0
cmp dl, 0xe0
jne 0x4575c9
mov ecx, dword [esp + 0x1c]
movzx edx, byte [ecx + 1]
and eax, 0xf
and edx, 0x3f
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
push edx
call fcn.00409960
mov ecx, 3
jmp 0x457617
cmp dword [esp + 0x14], 4
jl 0x457610
and cl, 0xf8
cmp cl, 0xf0
jne 0x457610
mov ecx, dword [esp + 0x1c]
movzx edx, byte [ecx + 1]
and edx, 0x3f
and eax, 7
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
movzx ecx, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
shl edx, 6
and ecx, 0x3f
or edx, ecx
push edx
call fcn.00409960
mov ecx, 4
jmp 0x457617
xor eax, eax
mov ecx, 1
add dword [esp + 0x1c], ecx
sub dword [esp + 0x14], ecx
test bl, bl
mov ecx, dword [esp + 0x18]
jns 0x4576c8
cmp ecx, 2
jl 0x457654
mov dl, bl
and dl, 0xe0
cmp dl, 0xc0
jne 0x457654
movzx edx, byte [edi + 1]
and ebx, 0x1f
and edx, 0x3f
shl ebx, 6
or edx, ebx
add edi, 2
sub ecx, 2
jmp 0x4576d1
cmp ecx, 3
jl 0x457686
mov dl, bl
and dl, 0xf0
cmp dl, 0xe0
jne 0x457686
movzx edx, byte [edi + 1]
and ebx, 0xf
and edx, 0x3f
shl ebx, 6
or edx, ebx
movzx ebx, byte [edi + 2]
shl edx, 6
and ebx, 0x3f
or edx, ebx
add edi, 3
sub ecx, 3
jmp 0x4576d1
cmp ecx, 4
jl 0x4576c4
mov dl, bl
and dl, 0xf8
cmp dl, 0xf0
jne 0x4576c4
movzx edx, byte [edi + 1]
and ebx, 7
and edx, 0x3f
shl ebx, 6
or edx, ebx
movzx ebx, byte [edi + 2]
shl edx, 6
and ebx, 0x3f
or edx, ebx
movzx ebx, byte [edi + 3]
shl edx, 6
and ebx, 0x3f
or edx, ebx
add edi, 4
sub ecx, 4
jmp 0x4576d1
xor edx, edx
jmp 0x4576cb
movzx edx, bl
add edi, 1
sub ecx, 1
cmp eax, edx
mov dword [esp + 0x18], ecx
jne 0x45773d
test ecx, ecx
jne 0x457511
mov al, byte [edi - 1]
cmp al, 0x61
jb 0x4576ec
cmp al, 0x7a
jbe 0x457708
cmp al, 0x41
jb 0x4576f4
cmp al, 0x5a
jbe 0x457708
cmp al, 0x30
jb 0x4576fc
cmp al, 0x39
jbe 0x457708
cmp al, 0x5f
je 0x457708
test al, al
jns 0x4577e0
cmp dword [esp + 0x14], 0
je 0x4577e0
mov eax, dword [esp + 0x1c]
mov al, byte [eax]
cmp al, 0x61
jb 0x457721
cmp al, 0x7a
jbe 0x45773d
cmp al, 0x41
jb 0x457729
cmp al, 0x5a
jbe 0x45773d
cmp al, 0x30
jb 0x457731
cmp al, 0x39
jbe 0x45773d
cmp al, 0x5f
je 0x45773d
test al, al
jns 0x4577e0
mov eax, dword [esp + 0x10]
mov cl, byte [eax + 0x18]
add eax, 0x18
mov eax, 1
add dword [esp + 0x48], eax
sub dword [esp + 0x34], eax
cmp cl, 0x61
jb 0x45775e
cmp cl, 0x7a
jbe 0x45777f
cmp cl, 0x41
jb 0x457768
cmp cl, 0x5a
jbe 0x45777f
cmp cl, 0x30
jb 0x457772
cmp cl, 0x39
jbe 0x45777f
cmp cl, 0x5f
je 0x45777f
test cl, cl
jns 0x4574f2
cmp dword [esp + 0x34], 0
je 0x4574f2
mov edx, dword [esp + 0x48]
mov al, byte [edx - 1]
cmp al, 0x61
jb 0x457799
cmp al, 0x7a
jbe 0x457747
cmp al, 0x41
jb 0x4577a1
cmp al, 0x5a
jbe 0x457747
cmp al, 0x30
jb 0x4577a9
cmp al, 0x39
jbe 0x457747
cmp al, 0x5f
je 0x457747
test al, al
jns 0x4574f2
jmp 0x457747
mov eax, dword [esp + 0x28]
cmp eax, dword [esp + 0x20]
jne 0x4577d5
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
lea ecx, [eax + 0xff0]
mov dword [esp + 0x20], ecx
mov edx, dword [esi]
mov dword [eax], edx
add eax, 4
mov dword [esp + 0x28], eax
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x4574b0
mov edi, dword [esp + 0x28]
mov ebx, dword [esp + 0x20]
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x469cdd
mov edx, dword [esp + 0x1c]
mov ecx, dword [edx]
mov al, byte [ecx + 4]
cmp al, 0xff
jne 0x457826
mov esi, dword [ecx - 4]
jmp 0x457829
movzx esi, al
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x14]
add eax, 0x18
add ecx, 5
cmp edx, esi
jg 0x457aec
lea edi, [ecx + esi]
sub ecx, eax
mov dword [esp + 0x34], ecx
sub ecx, edx
add ecx, esi
lea ebx, [eax + edx]
mov dword [esp + 0x58], ecx
lea ecx, [eax + 3]
mov dword [esp + 0x48], ebx
sub ebx, eax
mov dword [esp + 0x4c], ecx
lea edx, [eax + 2]
lea ecx, [eax + 4]
sub edi, eax
mov dword [esp + 0x54], edx
mov dword [esp + 0x60], ecx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x64], edi
jmp 0x457880
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x54]
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x60]
mov edi, dword [esp + 0x34]
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x64]
add esi, 0x18
mov dword [esp + 0x18], ecx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x14], eax
cmp esi, dword [esp + 0x48]
jae 0x457b19
mov cl, byte [esi + edi]
mov bl, byte [esi]
mov edx, dword [0x58b5d4]
movzx eax, cl
cmp byte [eax + edx], bl
jne 0x4578ed
mov eax, 1
add dword [esp + 0x18], eax
add dword [esp + 0x40], eax
add dword [esp + 0x38], eax
sub dword [esp + 0x14], eax
add esi, eax
sub dword [esp + 0x3c], eax
jmp 0x4578b3
test cl, cl
jns 0x457b3b
mov edx, dword [esp + 0x14]
sub edx, edi
cmp edx, 2
mov dword [esp + 0x44], edx
jl 0x457930
mov dl, cl
and dl, 0xe0
cmp dl, 0xc0
jne 0x45792c
movzx ecx, byte [esi + edi + 1]
and eax, 0x1f
and ecx, 0x3f
shl eax, 6
or ecx, eax
push ecx
call fcn.00421a20
add edi, 1
jmp 0x4579af
mov edx, dword [esp + 0x44]
cmp edx, 3
jl 0x45796b
mov dl, cl
and dl, 0xf0
cmp dl, 0xe0
jne 0x457967
movzx ecx, byte [esi + edi + 1]
movzx edx, byte [esi + edi + 2]
and ecx, 0x3f
and eax, 0xf
shl eax, 6
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
push ecx
call fcn.00421a20
add edi, 2
jmp 0x4579af
mov edx, dword [esp + 0x44]
cmp edx, 4
jl 0x4579ad
and cl, 0xf8
cmp cl, 0xf0
jne 0x4579ad
movzx ecx, byte [esi + edi + 1]
movzx edx, byte [esi + edi + 2]
and ecx, 0x3f
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [esi + edi + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
push ecx
call fcn.00421a20
add edi, 3
jmp 0x4579af
xor eax, eax
test bl, bl
mov edx, 1
jns 0x457abf
mov ecx, dword [esp + 0x48]
cmp dword [esp + 0x40], ecx
ja 0x457a02
mov dl, bl
and dl, 0xe0
cmp dl, 0xc0
jne 0x457a02
movzx ecx, byte [esi + 1]
mov edx, 2
add dword [esp + 0x18], edx
add dword [esp + 0x40], edx
add dword [esp + 0x38], edx
sub dword [esp + 0x14], edx
sub dword [esp + 0x3c], edx
and ebx, 0x1f
and ecx, 0x3f
shl ebx, 6
or ecx, ebx
add esi, edx
sub edi, 1
jmp 0x457ad8
cmp dword [esp + 0x38], ecx
ja 0x457a57
mov dl, bl
and dl, 0xf0
cmp dl, 0xe0
jne 0x457a57
movzx ecx, byte [esi + 1]
mov edx, dword [esp + 0x40]
add dword [esp + 0x18], 3
and ebx, 0xf
shl ebx, 6
and ecx, 0x3f
or ecx, ebx
movzx ebx, byte [edx]
and ebx, 0x3f
shl ecx, 6
or ecx, ebx
mov ebx, 3
add dword [esp + 0x38], ebx
sub dword [esp + 0x14], ebx
sub dword [esp + 0x3c], ebx
add edx, ebx
add esi, 3
mov dword [esp + 0x40], edx
sub edi, 2
jmp 0x457ad8
cmp dword [esp + 0x18], ecx
ja 0x457ab8
mov cl, bl
and cl, 0xf8
cmp cl, 0xf0
jne 0x457ab8
movzx ecx, byte [esi + 1]
mov edx, dword [esp + 0x40]
add dword [esp + 0x18], 4
and ebx, 7
shl ebx, 6
and ecx, 0x3f
or ecx, ebx
movzx ebx, byte [edx]
and ebx, 0x3f
shl ecx, 6
or ecx, ebx
mov ebx, dword [esp + 0x38]
movzx ebx, byte [ebx]
and ebx, 0x3f
shl ecx, 6
or ecx, ebx
mov ebx, 4
add dword [esp + 0x38], ebx
sub dword [esp + 0x14], ebx
sub dword [esp + 0x3c], ebx
add edx, ebx
add esi, 4
mov dword [esp + 0x40], edx
sub edi, 3
jmp 0x457ad8
xor ecx, ecx
lea edx, [ecx + 1]
jmp 0x457ac2
movzx ecx, bl
add dword [esp + 0x18], edx
add dword [esp + 0x40], edx
add dword [esp + 0x38], edx
sub dword [esp + 0x14], edx
add esi, edx
sub dword [esp + 0x3c], edx
cmp eax, ecx
jne 0x457b3b
mov edx, dword [esp + 0x14]
sub edx, edi
cmp edx, dword [esp + 0x3c]
jge 0x4578b3
mov eax, dword [esp + 0x28]
cmp eax, dword [esp + 0x20]
jne 0x457b0a
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
lea edx, [eax + 0xff0]
mov dword [esp + 0x20], edx
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
mov dword [eax], edx
add eax, 4
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x1c]
add eax, 4
cmp eax, dword [esp + 0x30]
mov dword [esp + 0x1c], eax
jne 0x457802
mov edi, dword [esp + 0x28]
mov ebx, dword [esp + 0x20]
jmp case.0x45563b.1
mov eax, dword [esp + 0x34]
cmp eax, dword [esp + 0x58]
je 0x457aec
add dword [esp + 0x34], 1
jmp 0x457880
cmp esi, edx
je case.0x45563b.1
jmp 0x457b60
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x469cdd
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x457b81
mov edx, dword [eax - 4]
jmp 0x457b84
movzx edx, cl
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx + 0x14]
test ecx, ecx
mov dword [esp + 0x4c], ecx
je 0x457e90
add eax, 5
mov dword [esp + 0x48], eax
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x34]
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], eax
add edi, 0x18
mov dword [esp + 0x18], ecx
cmp dword [esp + 0x14], 0
je 0x457e67
mov edx, dword [esp + 0x1c]
mov cl, byte [edx]
mov bl, byte [edi]
mov edx, dword [0x58b5d4]
movzx eax, cl
cmp byte [eax + edx], bl
jne 0x457c00
mov ecx, dword [esp + 0x18]
mov eax, 1
add dword [esp + 0x1c], eax
sub dword [esp + 0x14], eax
add edi, eax
sub ecx, eax
mov dword [esp + 0x18], ecx
jmp 0x457d89
test cl, cl
jns 0x457ded
cmp dword [esp + 0x14], 2
jl 0x457c3c
mov dl, cl
and dl, 0xe0
cmp dl, 0xc0
jne 0x457c3c
mov ecx, dword [esp + 0x1c]
movzx edx, byte [ecx + 1]
and eax, 0x1f
and edx, 0x3f
shl eax, 6
or edx, eax
push edx
call fcn.00421a20
mov ecx, 2
jmp 0x457cc7
cmp dword [esp + 0x14], 3
jl 0x457c79
mov dl, cl
and dl, 0xf0
cmp dl, 0xe0
jne 0x457c79
mov ecx, dword [esp + 0x1c]
movzx edx, byte [ecx + 1]
and eax, 0xf
and edx, 0x3f
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
push edx
call fcn.00421a20
mov ecx, 3
jmp 0x457cc7
cmp dword [esp + 0x14], 4
jl 0x457cc0
and cl, 0xf8
cmp cl, 0xf0
jne 0x457cc0
mov ecx, dword [esp + 0x1c]
movzx edx, byte [ecx + 1]
and edx, 0x3f
and eax, 7
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
movzx ecx, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
shl edx, 6
and ecx, 0x3f
or edx, ecx
push edx
call fcn.00421a20
mov ecx, 4
jmp 0x457cc7
xor eax, eax
mov ecx, 1
add dword [esp + 0x1c], ecx
sub dword [esp + 0x14], ecx
test bl, bl
mov ecx, dword [esp + 0x18]
jns 0x457d78
cmp ecx, 2
jl 0x457d04
mov dl, bl
and dl, 0xe0
cmp dl, 0xc0
jne 0x457d04
movzx edx, byte [edi + 1]
and ebx, 0x1f
and edx, 0x3f
shl ebx, 6
or edx, ebx
add edi, 2
sub ecx, 2
jmp 0x457d81
cmp ecx, 3
jl 0x457d36
mov dl, bl
and dl, 0xf0
cmp dl, 0xe0
jne 0x457d36
movzx edx, byte [edi + 1]
and ebx, 0xf
and edx, 0x3f
shl ebx, 6
or edx, ebx
movzx ebx, byte [edi + 2]
shl edx, 6
and ebx, 0x3f
or edx, ebx
add edi, 3
sub ecx, 3
jmp 0x457d81
cmp ecx, 4
jl 0x457d74
mov dl, bl
and dl, 0xf8
cmp dl, 0xf0
jne 0x457d74
movzx edx, byte [edi + 1]
and ebx, 7
and edx, 0x3f
shl ebx, 6
or edx, ebx
movzx ebx, byte [edi + 2]
shl edx, 6
and ebx, 0x3f
or edx, ebx
movzx ebx, byte [edi + 3]
shl edx, 6
and ebx, 0x3f
or edx, ebx
add edi, 4
sub ecx, 4
jmp 0x457d81
xor edx, edx
jmp 0x457d7b
movzx edx, bl
add edi, 1
sub ecx, 1
cmp eax, edx
mov dword [esp + 0x18], ecx
jne 0x457ded
test ecx, ecx
jne 0x457bc1
mov al, byte [edi - 1]
cmp al, 0x61
jb 0x457d9c
cmp al, 0x7a
jbe 0x457db8
cmp al, 0x41
jb 0x457da4
cmp al, 0x5a
jbe 0x457db8
cmp al, 0x30
jb 0x457dac
cmp al, 0x39
jbe 0x457db8
cmp al, 0x5f
je 0x457db8
test al, al
jns 0x457e90
cmp dword [esp + 0x14], 0
je 0x457e90
mov eax, dword [esp + 0x1c]
mov al, byte [eax]
cmp al, 0x61
jb 0x457dd1
cmp al, 0x7a
jbe 0x457ded
cmp al, 0x41
jb 0x457dd9
cmp al, 0x5a
jbe 0x457ded
cmp al, 0x30
jb 0x457de1
cmp al, 0x39
jbe 0x457ded
cmp al, 0x5f
je 0x457ded
test al, al
jns 0x457e90
mov eax, dword [esp + 0x10]
mov cl, byte [eax + 0x18]
add eax, 0x18
mov eax, 1
add dword [esp + 0x48], eax
sub dword [esp + 0x34], eax
cmp cl, 0x61
jb 0x457e0e
cmp cl, 0x7a
jbe 0x457e2f
cmp cl, 0x41
jb 0x457e18
cmp cl, 0x5a
jbe 0x457e2f
cmp cl, 0x30
jb 0x457e22
cmp cl, 0x39
jbe 0x457e2f
cmp cl, 0x5f
je 0x457e2f
test cl, cl
jns 0x457ba2
cmp dword [esp + 0x34], 0
je 0x457ba2
mov edx, dword [esp + 0x48]
mov al, byte [edx - 1]
cmp al, 0x61
jb 0x457e49
cmp al, 0x7a
jbe 0x457df7
cmp al, 0x41
jb 0x457e51
cmp al, 0x5a
jbe 0x457df7
cmp al, 0x30
jb 0x457e59
cmp al, 0x39
jbe 0x457df7
cmp al, 0x5f
je 0x457df7
test al, al
jns 0x457ba2
jmp 0x457df7
mov eax, dword [esp + 0x28]
cmp eax, dword [esp + 0x20]
jne 0x457e85
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
lea ecx, [eax + 0xff0]
mov dword [esp + 0x20], ecx
mov edx, dword [esi]
mov dword [eax], edx
add eax, 4
mov dword [esp + 0x28], eax
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x457b60
mov edi, dword [esp + 0x28]
mov ebx, dword [esp + 0x20]
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x469cdd
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
push eax
lea ecx, [esp + 0x74]
push ecx
call fcn.00424170
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x14]
mov esi, dword [esp + 0x70]
add eax, 0x18
cmp edx, esi
jg 0x45819c
mov ecx, dword [esp + 0x78]
lea edi, [ecx + esi]
sub ecx, eax
mov dword [esp + 0x34], ecx
sub ecx, edx
lea ebx, [eax + edx]
add ecx, esi
lea edx, [eax + 3]
mov dword [esp + 0x48], ebx
sub ebx, eax
mov dword [esp + 0x58], ecx
mov dword [esp + 0x4c], edx
lea ecx, [eax + 2]
lea edx, [eax + 4]
sub edi, eax
mov dword [esp + 0x54], ecx
mov dword [esp + 0x60], edx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x64], edi
jmp 0x457f30
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x54]
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x60]
mov edi, dword [esp + 0x34]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x64]
add esi, 0x18
mov dword [esp + 0x18], edx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x14], ecx
cmp esi, dword [esp + 0x48]
jae 0x4581c9
mov cl, byte [esi + edi]
mov bl, byte [esi]
mov edx, dword [0x58b5d0]
movzx eax, cl
cmp byte [eax + edx], bl
jne 0x457f9d
mov eax, 1
add dword [esp + 0x18], eax
add dword [esp + 0x40], eax
add dword [esp + 0x38], eax
sub dword [esp + 0x14], eax
add esi, eax
sub dword [esp + 0x3c], eax
jmp 0x457f63
test cl, cl
jns 0x4581eb
mov edx, dword [esp + 0x14]
sub edx, edi
cmp edx, 2
mov dword [esp + 0x44], edx
jl 0x457fe0
mov dl, cl
and dl, 0xe0
cmp dl, 0xc0
jne 0x457fdc
movzx ecx, byte [esi + edi + 1]
and eax, 0x1f
and ecx, 0x3f
shl eax, 6
or ecx, eax
push ecx
call fcn.00409960
add edi, 1
jmp 0x45805f
mov edx, dword [esp + 0x44]
cmp edx, 3
jl 0x45801b
mov dl, cl
and dl, 0xf0
cmp dl, 0xe0
jne 0x458017
movzx ecx, byte [esi + edi + 1]
movzx edx, byte [esi + edi + 2]
and ecx, 0x3f
and eax, 0xf
shl eax, 6
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
push ecx
call fcn.00409960
add edi, 2
jmp 0x45805f
mov edx, dword [esp + 0x44]
cmp edx, 4
jl 0x45805d
and cl, 0xf8
cmp cl, 0xf0
jne 0x45805d
movzx ecx, byte [esi + edi + 1]
movzx edx, byte [esi + edi + 2]
and ecx, 0x3f
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [esi + edi + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
push ecx
call fcn.00409960
add edi, 3
jmp 0x45805f
xor eax, eax
test bl, bl
mov edx, 1
jns 0x45816f
mov ecx, dword [esp + 0x48]
cmp dword [esp + 0x40], ecx
ja 0x4580b2
mov dl, bl
and dl, 0xe0
cmp dl, 0xc0
jne 0x4580b2
movzx ecx, byte [esi + 1]
mov edx, 2
add dword [esp + 0x18], edx
add dword [esp + 0x40], edx
add dword [esp + 0x38], edx
sub dword [esp + 0x14], edx
sub dword [esp + 0x3c], edx
and ebx, 0x1f
and ecx, 0x3f
shl ebx, 6
or ecx, ebx
add esi, edx
sub edi, 1
jmp 0x458188
cmp dword [esp + 0x38], ecx
ja 0x458107
mov dl, bl
and dl, 0xf0
cmp dl, 0xe0
jne 0x458107
movzx ecx, byte [esi + 1]
mov edx, dword [esp + 0x40]
add dword [esp + 0x18], 3
and ebx, 0xf
shl ebx, 6
and ecx, 0x3f
or ecx, ebx
movzx ebx, byte [edx]
and ebx, 0x3f
shl ecx, 6
or ecx, ebx
mov ebx, 3
add dword [esp + 0x38], ebx
sub dword [esp + 0x14], ebx
sub dword [esp + 0x3c], ebx
add edx, ebx
add esi, 3
mov dword [esp + 0x40], edx
sub edi, 2
jmp 0x458188
cmp dword [esp + 0x18], ecx
ja 0x458168
mov cl, bl
and cl, 0xf8
cmp cl, 0xf0
jne 0x458168
movzx ecx, byte [esi + 1]
mov edx, dword [esp + 0x40]
add dword [esp + 0x18], 4
and ebx, 7
shl ebx, 6
and ecx, 0x3f
or ecx, ebx
movzx ebx, byte [edx]
and ebx, 0x3f
shl ecx, 6
or ecx, ebx
mov ebx, dword [esp + 0x38]
movzx ebx, byte [ebx]
and ebx, 0x3f
shl ecx, 6
or ecx, ebx
mov ebx, 4
add dword [esp + 0x38], ebx
sub dword [esp + 0x14], ebx
sub dword [esp + 0x3c], ebx
add edx, ebx
add esi, 4
mov dword [esp + 0x40], edx
sub edi, 3
jmp 0x458188
xor ecx, ecx
lea edx, [ecx + 1]
jmp 0x458172
movzx ecx, bl
add dword [esp + 0x18], edx
add dword [esp + 0x40], edx
add dword [esp + 0x38], edx
sub dword [esp + 0x14], edx
add esi, edx
sub dword [esp + 0x3c], edx
cmp eax, ecx
jne 0x4581eb
mov edx, dword [esp + 0x14]
sub edx, edi
cmp edx, dword [esp + 0x3c]
jge 0x457f63
mov eax, dword [esp + 0x28]
cmp eax, dword [esp + 0x20]
jne 0x4581ba
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
lea edx, [eax + 0xff0]
mov dword [esp + 0x20], edx
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
mov dword [eax], edx
add eax, 4
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x1c]
add eax, 4
cmp eax, dword [esp + 0x30]
mov dword [esp + 0x1c], eax
jne 0x457eb2
mov edi, dword [esp + 0x28]
mov ebx, dword [esp + 0x20]
jmp case.0x45563b.1
mov eax, dword [esp + 0x34]
cmp eax, dword [esp + 0x58]
je 0x45819c
add dword [esp + 0x34], 1
jmp 0x457f30
cmp esi, edx
je case.0x45563b.1
jmp 0x458210
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x469cdd
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
push eax
lea ecx, [esp + 0x74]
push ecx
call fcn.00424170
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
add eax, 0x18
test ecx, ecx
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x44], eax
je 0x45853c
mov edx, dword [esp + 0x78]
mov eax, dword [esp + 0x70]
mov dword [esp + 0x48], edx
mov dword [esp + 0x34], eax
lea ecx, [ecx]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x4c]
mov edi, dword [esp + 0x48]
mov esi, dword [esp + 0x44]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], edx
jmp 0x458280
cmp dword [esp + 0x14], 0
je 0x45850f
mov cl, byte [edi]
mov bl, byte [esi]
mov edx, dword [0x58b5d0]
movzx eax, cl
cmp byte [eax + edx], bl
jne 0x4582b8
mov ecx, dword [esp + 0x18]
sub dword [esp + 0x14], 1
add edi, 1
add esi, 1
sub ecx, 1
mov dword [esp + 0x18], ecx
jmp 0x458439
test cl, cl
jns 0x458499
cmp dword [esp + 0x14], 2
jl 0x4582f3
mov dl, cl
and dl, 0xe0
cmp dl, 0xc0
jne 0x4582f3
movzx ecx, byte [edi + 1]
and eax, 0x1f
and ecx, 0x3f
shl eax, 6
or ecx, eax
push ecx
call fcn.00409960
add edi, 2
sub dword [esp + 0x14], 2
jmp 0x45837f
cmp dword [esp + 0x14], 3
jl 0x45832f
mov dl, cl
and dl, 0xf0
cmp dl, 0xe0
jne 0x45832f
movzx ecx, byte [edi + 1]
movzx edx, byte [edi + 2]
and ecx, 0x3f
and eax, 0xf
shl eax, 6
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
push ecx
call fcn.00409960
add edi, 3
sub dword [esp + 0x14], 3
jmp 0x45837f
cmp dword [esp + 0x14], 4
jl 0x458375
and cl, 0xf8
cmp cl, 0xf0
jne 0x458375
movzx ecx, byte [edi + 1]
movzx edx, byte [edi + 2]
and ecx, 0x3f
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [edi + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
push ecx
call fcn.00409960
add edi, 4
sub dword [esp + 0x14], 4
jmp 0x45837f
xor eax, eax
add edi, 1
sub dword [esp + 0x14], 1
test bl, bl
mov ecx, dword [esp + 0x18]
jns 0x458428
cmp ecx, 2
jl 0x4583b4
mov dl, bl
and dl, 0xe0
cmp dl, 0xc0
jne 0x4583b4
movzx edx, byte [esi + 1]
and ebx, 0x1f
shl ebx, 6
and edx, 0x3f
or ebx, edx
add esi, 2
sub ecx, 2
jmp 0x458431
cmp ecx, 3
jl 0x4583e6
mov dl, bl
and dl, 0xf0
cmp dl, 0xe0
jne 0x4583e6
movzx edx, byte [esi + 1]
and ebx, 0xf
shl ebx, 6
and edx, 0x3f
or ebx, edx
movzx edx, byte [esi + 2]
shl ebx, 6
and edx, 0x3f
or ebx, edx
add esi, 3
sub ecx, 3
jmp 0x458431
cmp ecx, 4
jl 0x458424
mov dl, bl
and dl, 0xf8
cmp dl, 0xf0
jne 0x458424
movzx edx, byte [esi + 1]
and ebx, 7
shl ebx, 6
and edx, 0x3f
or ebx, edx
movzx edx, byte [esi + 2]
shl ebx, 6
and edx, 0x3f
or ebx, edx
movzx edx, byte [esi + 3]
shl ebx, 6
and edx, 0x3f
or ebx, edx
add esi, 4
sub ecx, 4
jmp 0x458431
xor ebx, ebx
jmp 0x45842b
movzx ebx, bl
add esi, 1
sub ecx, 1
cmp eax, ebx
mov dword [esp + 0x18], ecx
jne 0x458499
test ecx, ecx
jne 0x458280
mov al, byte [esi - 1]
cmp al, 0x61
jb 0x45844c
cmp al, 0x7a
jbe 0x458468
cmp al, 0x41
jb 0x458454
cmp al, 0x5a
jbe 0x458468
cmp al, 0x30
jb 0x45845c
cmp al, 0x39
jbe 0x458468
cmp al, 0x5f
je 0x458468
test al, al
jns 0x45853c
cmp dword [esp + 0x14], 0
je 0x45853c
mov al, byte [edi]
cmp al, 0x61
jb 0x45847d
cmp al, 0x7a
jbe 0x458499
cmp al, 0x41
jb 0x458485
cmp al, 0x5a
jbe 0x458499
cmp al, 0x30
jb 0x45848d
cmp al, 0x39
jbe 0x458499
cmp al, 0x5f
je 0x458499
test al, al
jns 0x45853c
mov eax, dword [esp + 0x44]
mov cl, byte [eax]
mov eax, 1
add dword [esp + 0x48], eax
sub dword [esp + 0x34], eax
cmp cl, 0x61
jb 0x4584b6
cmp cl, 0x7a
jbe 0x4584d7
cmp cl, 0x41
jb 0x4584c0
cmp cl, 0x5a
jbe 0x4584d7
cmp cl, 0x30
jb 0x4584ca
cmp cl, 0x39
jbe 0x4584d7
cmp cl, 0x5f
je 0x4584d7
test cl, cl
jns 0x458260
cmp dword [esp + 0x34], 0
je 0x458260
mov edx, dword [esp + 0x48]
mov al, byte [edx - 1]
cmp al, 0x61
jb 0x4584f1
cmp al, 0x7a
jbe 0x45849f
cmp al, 0x41
jb 0x4584f9
cmp al, 0x5a
jbe 0x45849f
cmp al, 0x30
jb 0x458501
cmp al, 0x39
jbe 0x45849f
cmp al, 0x5f
je 0x45849f
test al, al
jns 0x458260
jmp 0x45849f
mov eax, dword [esp + 0x28]
cmp eax, dword [esp + 0x20]
jne 0x45852d
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
lea ecx, [eax + 0xff0]
mov dword [esp + 0x20], ecx
mov edx, dword [esp + 0x1c]
mov ecx, dword [edx]
mov dword [eax], ecx
add eax, 4
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x1c]
add eax, 4
cmp eax, dword [esp + 0x30]
mov dword [esp + 0x1c], eax
jne 0x458210
mov edi, dword [esp + 0x28]
mov ebx, dword [esp + 0x20]
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
jmp 0x458570
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
push edx
lea eax, [esp + 0x74]
push eax
call fcn.00424170
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x14]
mov esi, dword [esp + 0x70]
add eax, 0x18
cmp edx, esi
jg 0x45885c
mov ecx, dword [esp + 0x78]
lea edi, [ecx + esi]
sub ecx, eax
mov dword [esp + 0x34], ecx
sub ecx, edx
add ecx, esi
lea ebx, [edx + eax]
mov dword [esp + 0x58], ecx
lea ecx, [eax + 3]
mov dword [esp + 0x48], ebx
sub ebx, eax
mov dword [esp + 0x4c], ecx
lea edx, [eax + 2]
lea ecx, [eax + 4]
sub edi, eax
mov dword [esp + 0x54], edx
mov dword [esp + 0x60], ecx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x64], edi
jmp 0x4585f0
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x54]
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x60]
mov edi, dword [esp + 0x34]
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x64]
add esi, 0x18
mov dword [esp + 0x18], ecx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x14], eax
cmp esi, dword [esp + 0x48]
jae 0x458889
mov cl, byte [esi + edi]
mov bl, byte [esi]
mov edx, dword [0x58b5d4]
movzx eax, cl
cmp byte [eax + edx], bl
jne 0x45865d
mov eax, 1
add dword [esp + 0x18], eax
add dword [esp + 0x40], eax
add dword [esp + 0x38], eax
sub dword [esp + 0x14], eax
add esi, eax
sub dword [esp + 0x3c], eax
jmp 0x458623
test cl, cl
jns 0x4588ab
mov edx, dword [esp + 0x14]
sub edx, edi
cmp edx, 2
mov dword [esp + 0x44], edx
jl 0x4586a0
mov dl, cl
and dl, 0xe0
cmp dl, 0xc0
jne 0x45869c
movzx ecx, byte [esi + edi + 1]
and eax, 0x1f
and ecx, 0x3f
shl eax, 6
or ecx, eax
push ecx
call fcn.00421a20
add edi, 1
jmp 0x45871f
mov edx, dword [esp + 0x44]
cmp edx, 3
jl 0x4586db
mov dl, cl
and dl, 0xf0
cmp dl, 0xe0
jne 0x4586d7
movzx ecx, byte [esi + edi + 1]
movzx edx, byte [esi + edi + 2]
and ecx, 0x3f
and eax, 0xf
shl eax, 6
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
push ecx
call fcn.00421a20
add edi, 2
jmp 0x45871f
mov edx, dword [esp + 0x44]
cmp edx, 4
jl 0x45871d
and cl, 0xf8
cmp cl, 0xf0
jne 0x45871d
movzx ecx, byte [esi + edi + 1]
movzx edx, byte [esi + edi + 2]
and ecx, 0x3f
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [esi + edi + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
push ecx
call fcn.00421a20
add edi, 3
jmp 0x45871f
xor eax, eax
test bl, bl
mov ecx, 1
jns 0x45882f
mov ecx, dword [esp + 0x48]
cmp dword [esp + 0x40], ecx
ja 0x458772
mov dl, bl
and dl, 0xe0
cmp dl, 0xc0
jne 0x458772
movzx ecx, byte [esi + 1]
and ebx, 0x1f
and ecx, 0x3f
shl ebx, 6
or ebx, ecx
mov ecx, 2
add dword [esp + 0x18], ecx
add dword [esp + 0x40], ecx
add dword [esp + 0x38], ecx
sub dword [esp + 0x14], ecx
sub dword [esp + 0x3c], ecx
add esi, ecx
sub edi, 1
jmp 0x458848
cmp dword [esp + 0x38], ecx
ja 0x4587c7
mov dl, bl
and dl, 0xf0
cmp dl, 0xe0
jne 0x4587c7
movzx ecx, byte [esi + 1]
add dword [esp + 0x18], 3
and ebx, 0xf
shl ebx, 6
and ecx, 0x3f
or ebx, ecx
mov ecx, dword [esp + 0x40]
movzx edx, byte [ecx]
and edx, 0x3f
shl ebx, 6
or ebx, edx
mov edx, 3
add dword [esp + 0x38], edx
sub dword [esp + 0x14], edx
sub dword [esp + 0x3c], edx
add ecx, edx
add esi, 3
mov dword [esp + 0x40], ecx
sub edi, 2
jmp 0x458848
cmp dword [esp + 0x18], ecx
ja 0x458828
mov cl, bl
and cl, 0xf8
cmp cl, 0xf0
jne 0x458828
movzx edx, byte [esi + 1]
mov ecx, dword [esp + 0x40]
add dword [esp + 0x18], 4
and ebx, 7
and edx, 0x3f
shl ebx, 6
or ebx, edx
movzx edx, byte [ecx]
and edx, 0x3f
shl ebx, 6
or ebx, edx
mov edx, dword [esp + 0x38]
movzx edx, byte [edx]
and edx, 0x3f
shl ebx, 6
or ebx, edx
mov edx, 4
add dword [esp + 0x38], edx
sub dword [esp + 0x14], edx
sub dword [esp + 0x3c], edx
add ecx, edx
add esi, 4
mov dword [esp + 0x40], ecx
sub edi, 3
jmp 0x458848
xor ebx, ebx
lea ecx, [ebx + 1]
jmp 0x458832
movzx ebx, bl
add dword [esp + 0x18], ecx
add dword [esp + 0x40], ecx
add dword [esp + 0x38], ecx
sub dword [esp + 0x14], ecx
add esi, ecx
sub dword [esp + 0x3c], ecx
cmp eax, ebx
jne 0x4588ab
mov eax, dword [esp + 0x14]
sub eax, edi
cmp eax, dword [esp + 0x3c]
jge 0x458623
mov eax, dword [esp + 0x28]
cmp eax, dword [esp + 0x20]
jne 0x45887a
mov edx, dword [esp + 0x2c]
push edx
call fcn.004021c0
lea ecx, [eax + 0xff0]
mov dword [esp + 0x20], ecx
mov edx, dword [esp + 0x1c]
mov ecx, dword [edx]
mov dword [eax], ecx
add eax, 4
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x1c]
add eax, 4
cmp eax, dword [esp + 0x30]
mov dword [esp + 0x1c], eax
jne 0x458570
mov edi, dword [esp + 0x28]
mov ebx, dword [esp + 0x20]
jmp case.0x45563b.1
mov ecx, dword [esp + 0x34]
cmp ecx, dword [esp + 0x58]
je 0x45885c
add dword [esp + 0x34], 1
jmp 0x4585f0
cmp esi, edx
je case.0x45563b.1
jmp 0x4588d0
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov ecx, dword [esi]
push ecx
lea edx, [esp + 0x74]
push edx
call fcn.00424170
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x14]
test eax, eax
mov dword [esp + 0x4c], eax
je 0x458bfd
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x70]
mov dword [esp + 0x48], ecx
mov dword [esp + 0x34], edx
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x34]
mov edi, dword [esp + 0x10]
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], ecx
add edi, 0x18
mov dword [esp + 0x18], edx
cmp dword [esp + 0x14], 0
je 0x458bd4
mov eax, dword [esp + 0x1c]
mov cl, byte [eax]
mov bl, byte [edi]
mov edx, dword [0x58b5d4]
movzx eax, cl
cmp byte [eax + edx], bl
jne 0x458970
mov ecx, dword [esp + 0x18]
mov eax, 1
add dword [esp + 0x1c], eax
sub dword [esp + 0x14], eax
add edi, eax
sub ecx, eax
mov dword [esp + 0x18], ecx
jmp 0x458af6
test cl, cl
jns 0x458b5a
cmp dword [esp + 0x14], 2
jl 0x4589ac
mov dl, cl
and dl, 0xe0
cmp dl, 0xc0
jne 0x4589ac
mov ecx, dword [esp + 0x1c]
movzx edx, byte [ecx + 1]
and eax, 0x1f
and edx, 0x3f
shl eax, 6
or edx, eax
push edx
call fcn.00421a20
mov ecx, 2
jmp 0x458a37
cmp dword [esp + 0x14], 3
jl 0x4589e9
mov dl, cl
and dl, 0xf0
cmp dl, 0xe0
jne 0x4589e9
mov ecx, dword [esp + 0x1c]
movzx edx, byte [ecx + 1]
and eax, 0xf
and edx, 0x3f
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
push edx
call fcn.00421a20
mov ecx, 3
jmp 0x458a37
cmp dword [esp + 0x14], 4
jl 0x458a30
and cl, 0xf8
cmp cl, 0xf0
jne 0x458a30
mov ecx, dword [esp + 0x1c]
movzx edx, byte [ecx + 1]
and edx, 0x3f
and eax, 7
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
movzx ecx, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
shl edx, 6
and ecx, 0x3f
or edx, ecx
push edx
call fcn.00421a20
mov ecx, 4
jmp 0x458a37
xor eax, eax
mov ecx, 1
add dword [esp + 0x1c], ecx
sub dword [esp + 0x14], ecx
test bl, bl
mov ecx, dword [esp + 0x18]
jns 0x458ae5
cmp ecx, 2
jl 0x458a71
mov dl, bl
and dl, 0xe0
cmp dl, 0xc0
jne 0x458a71
movzx edx, byte [edi + 1]
and ebx, 0x1f
and edx, 0x3f
shl ebx, 6
or edx, ebx
add edi, 2
sub ecx, 2
jmp 0x458aee
cmp ecx, 3
jl 0x458aa3
mov dl, bl
and dl, 0xf0
cmp dl, 0xe0
jne 0x458aa3
movzx edx, byte [edi + 1]
and ebx, 0xf
and edx, 0x3f
shl ebx, 6
or edx, ebx
movzx ebx, byte [edi + 2]
shl edx, 6
and ebx, 0x3f
or edx, ebx
add edi, 3
sub ecx, 3
jmp 0x458aee
cmp ecx, 4
jl 0x458ae1
mov dl, bl
and dl, 0xf8
cmp dl, 0xf0
jne 0x458ae1
movzx edx, byte [edi + 1]
and ebx, 7
and edx, 0x3f
shl ebx, 6
or edx, ebx
movzx ebx, byte [edi + 2]
shl edx, 6
and ebx, 0x3f
or edx, ebx
movzx ebx, byte [edi + 3]
shl edx, 6
and ebx, 0x3f
or edx, ebx
add edi, 4
sub ecx, 4
jmp 0x458aee
xor edx, edx
jmp 0x458ae8
movzx edx, bl
add edi, 1
sub ecx, 1
cmp eax, edx
mov dword [esp + 0x18], ecx
jne 0x458b5a
test ecx, ecx
jne 0x458931
mov al, byte [edi - 1]
cmp al, 0x61
jb 0x458b09
cmp al, 0x7a
jbe 0x458b25
cmp al, 0x41
jb 0x458b11
cmp al, 0x5a
jbe 0x458b25
cmp al, 0x30
jb 0x458b19
cmp al, 0x39
jbe 0x458b25
cmp al, 0x5f
je 0x458b25
test al, al
jns 0x458bfd
cmp dword [esp + 0x14], 0
je 0x458bfd
mov eax, dword [esp + 0x1c]
mov al, byte [eax]
cmp al, 0x61
jb 0x458b3e
cmp al, 0x7a
jbe 0x458b5a
cmp al, 0x41
jb 0x458b46
cmp al, 0x5a
jbe 0x458b5a
cmp al, 0x30
jb 0x458b4e
cmp al, 0x39
jbe 0x458b5a
cmp al, 0x5f
je 0x458b5a
test al, al
jns 0x458bfd
mov eax, dword [esp + 0x10]
mov cl, byte [eax + 0x18]
add eax, 0x18
mov eax, 1
add dword [esp + 0x48], eax
sub dword [esp + 0x34], eax
cmp cl, 0x61
jb 0x458b7b
cmp cl, 0x7a
jbe 0x458b9c
cmp cl, 0x41
jb 0x458b85
cmp cl, 0x5a
jbe 0x458b9c
cmp cl, 0x30
jb 0x458b8f
cmp cl, 0x39
jbe 0x458b9c
cmp cl, 0x5f
je 0x458b9c
test cl, cl
jns 0x458912
cmp dword [esp + 0x34], 0
je 0x458912
mov edx, dword [esp + 0x48]
mov al, byte [edx - 1]
cmp al, 0x61
jb 0x458bb6
cmp al, 0x7a
jbe 0x458b64
cmp al, 0x41
jb 0x458bbe
cmp al, 0x5a
jbe 0x458b64
cmp al, 0x30
jb 0x458bc6
cmp al, 0x39
jbe 0x458b64
cmp al, 0x5f
je 0x458b64
test al, al
jns 0x458912
jmp 0x458b64
mov eax, dword [esp + 0x28]
cmp eax, dword [esp + 0x20]
jne 0x458bf2
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
lea ecx, [eax + 0xff0]
mov dword [esp + 0x20], ecx
mov edx, dword [esi]
mov dword [eax], edx
add eax, 4
mov dword [esp + 0x28], eax
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x4588d0
mov edi, dword [esp + 0x28]
mov ebx, dword [esp + 0x20]
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
nop
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x469cdd
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x458c41
mov ecx, dword [eax - 4]
jmp 0x458c44
movzx ecx, cl
mov edx, dword [esp + 0x10]
mov edx, dword [edx + 0x14]
push edx
mov edx, dword [esp + 0x14]
add edx, 0x18
push edx
push ecx
add eax, 5
push eax
call fcn.0041d620
test eax, eax
je 0x458c87
cmp edi, ebx
jne 0x458c7c
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x458c20
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x458cbe
mov edx, dword [eax - 4]
jmp 0x458cc1
movzx edx, cl
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx + 0x14]
test ecx, ecx
mov dword [esp + 0x4c], ecx
je 0x458fa2
add eax, 5
mov dword [esp + 0x48], eax
mov dword [esp + 0x34], edx
nop
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x34]
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], eax
add edi, 0x18
mov dword [esp + 0x18], ecx
nop
cmp dword [esp + 0x14], 0
je 0x458fd2
mov edx, dword [esp + 0x1c]
mov cl, byte [edx]
mov bl, byte [edi]
mov edx, dword [0x58b5d0]
movzx eax, cl
cmp byte [eax + edx], bl
jne 0x458d3f
mov ecx, dword [esp + 0x18]
mov eax, 1
add dword [esp + 0x1c], eax
sub dword [esp + 0x14], eax
add edi, eax
sub ecx, eax
mov dword [esp + 0x18], ecx
jmp 0x458ec8
test cl, cl
jns 0x458f28
cmp dword [esp + 0x14], 2
jl 0x458d7b
mov dl, cl
and dl, 0xe0
cmp dl, 0xc0
jne 0x458d7b
mov ecx, dword [esp + 0x1c]
movzx edx, byte [ecx + 1]
and eax, 0x1f
and edx, 0x3f
shl eax, 6
or edx, eax
push edx
call fcn.00409910
mov ecx, 2
jmp 0x458e06
cmp dword [esp + 0x14], 3
jl 0x458db8
mov dl, cl
and dl, 0xf0
cmp dl, 0xe0
jne 0x458db8
mov ecx, dword [esp + 0x1c]
movzx edx, byte [ecx + 1]
and eax, 0xf
and edx, 0x3f
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
push edx
call fcn.00409910
mov ecx, 3
jmp 0x458e06
cmp dword [esp + 0x14], 4
jl 0x458dff
and cl, 0xf8
cmp cl, 0xf0
jne 0x458dff
mov ecx, dword [esp + 0x1c]
movzx edx, byte [ecx + 1]
and edx, 0x3f
and eax, 7
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
movzx ecx, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
shl edx, 6
and ecx, 0x3f
or edx, ecx
push edx
call fcn.00409910
mov ecx, 4
jmp 0x458e06
xor eax, eax
mov ecx, 1
add dword [esp + 0x1c], ecx
sub dword [esp + 0x14], ecx
test bl, bl
mov ecx, dword [esp + 0x18]
jns 0x458eb7
cmp ecx, 2
jl 0x458e43
mov dl, bl
and dl, 0xe0
cmp dl, 0xc0
jne 0x458e43
movzx edx, byte [edi + 1]
and ebx, 0x1f
and edx, 0x3f
shl ebx, 6
or edx, ebx
add edi, 2
sub ecx, 2
jmp 0x458ec0
cmp ecx, 3
jl 0x458e75
mov dl, bl
and dl, 0xf0
cmp dl, 0xe0
jne 0x458e75
movzx edx, byte [edi + 1]
and ebx, 0xf
and edx, 0x3f
shl ebx, 6
or edx, ebx
movzx ebx, byte [edi + 2]
shl edx, 6
and ebx, 0x3f
or edx, ebx
add edi, 3
sub ecx, 3
jmp 0x458ec0
cmp ecx, 4
jl 0x458eb3
mov dl, bl
and dl, 0xf8
cmp dl, 0xf0
jne 0x458eb3
movzx edx, byte [edi + 1]
and ebx, 7
and edx, 0x3f
shl ebx, 6
or edx, ebx
movzx ebx, byte [edi + 2]
shl edx, 6
and ebx, 0x3f
or edx, ebx
movzx ebx, byte [edi + 3]
shl edx, 6
and ebx, 0x3f
or edx, ebx
add edi, 4
sub ecx, 4
jmp 0x458ec0
xor edx, edx
jmp 0x458eba
movzx edx, bl
add edi, 1
sub ecx, 1
cmp eax, edx
mov dword [esp + 0x18], ecx
jne 0x458f28
test ecx, ecx
jne 0x458d00
mov al, byte [edi - 1]
cmp al, 0x61
jb 0x458edb
cmp al, 0x7a
jbe 0x458ef7
cmp al, 0x41
jb 0x458ee3
cmp al, 0x5a
jbe 0x458ef7
cmp al, 0x30
jb 0x458eeb
cmp al, 0x39
jbe 0x458ef7
cmp al, 0x5f
je 0x458ef7
test al, al
jns 0x458fa2
cmp dword [esp + 0x14], 0
je 0x458fa2
mov eax, dword [esp + 0x1c]
mov al, byte [eax]
cmp al, 0x61
jb 0x458f10
cmp al, 0x7a
jbe 0x458f28
cmp al, 0x41
jb 0x458f18
cmp al, 0x5a
jbe 0x458f28
cmp al, 0x30
jb 0x458f20
cmp al, 0x39
jbe 0x458f28
cmp al, 0x5f
je 0x458f28
test al, al
jns 0x458fa2
mov eax, dword [esp + 0x10]
mov cl, byte [eax + 0x18]
add eax, 0x18
mov eax, 1
add dword [esp + 0x48], eax
sub dword [esp + 0x34], eax
cmp cl, 0x61
jb 0x458f49
cmp cl, 0x7a
jbe 0x458f6a
cmp cl, 0x41
jb 0x458f53
cmp cl, 0x5a
jbe 0x458f6a
cmp cl, 0x30
jb 0x458f5d
cmp cl, 0x39
jbe 0x458f6a
cmp cl, 0x5f
je 0x458f6a
test cl, cl
jns 0x458ce0
cmp dword [esp + 0x34], 0
je 0x458ce0
mov edx, dword [esp + 0x48]
mov al, byte [edx - 1]
cmp al, 0x61
jb 0x458f84
cmp al, 0x7a
jbe 0x458f32
cmp al, 0x41
jb 0x458f8c
cmp al, 0x5a
jbe 0x458f32
cmp al, 0x30
jb 0x458f94
cmp al, 0x39
jbe 0x458f32
cmp al, 0x5f
je 0x458f32
test al, al
jns 0x458ce0
jmp 0x458f32
mov eax, dword [esp + 0x28]
cmp eax, dword [esp + 0x20]
jne 0x458fc3
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov dword [esp + 0x28], eax
add eax, 0xff0
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x28]
mov edx, dword [esi]
mov dword [eax], edx
add eax, 4
mov dword [esp + 0x28], eax
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x458c9d
mov edi, dword [esp + 0x28]
mov ebx, dword [esp + 0x20]
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x469cdd
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x459015
mov ecx, dword [eax - 4]
jmp 0x459018
movzx ecx, cl
mov edx, dword [esp + 0x10]
mov edx, dword [edx + 0x14]
push edx
mov edx, dword [esp + 0x14]
add edx, 0x18
push edx
push ecx
add eax, 5
push eax
call fcn.0051dff0
test eax, eax
je 0x45905b
cmp edi, ebx
jne 0x459050
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x458ff4
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x459092
mov ecx, dword [eax - 4]
jmp 0x459095
movzx ecx, cl
mov edx, dword [esp + 0x10]
mov edx, dword [edx + 0x14]
push edx
mov edx, dword [esp + 0x14]
add edx, 0x18
push edx
push ecx
add eax, 5
push eax
call fcn.0043f5f0
test eax, eax
je 0x4590d8
cmp edi, ebx
jne 0x4590cd
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x459071
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
mov edi, edi
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov ecx, dword [esi]
push ecx
lea edx, [esp + 0x74]
push edx
call fcn.00424170
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0x70]
push ecx
add eax, 0x18
push eax
mov eax, dword [esp + 0x80]
push edx
push eax
call fcn.0041d620
test eax, eax
je 0x459156
cmp edi, ebx
jne 0x45914b
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov edx, dword [esi]
mov dword [edi], edx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x4590f0
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea esp, [esp]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x469cdd
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
push eax
lea ecx, [esp + 0x74]
push ecx
call fcn.00424170
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x14]
test eax, eax
mov dword [esp + 0x4c], eax
je 0x45947f
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x48], eax
mov dword [esp + 0x34], ecx
jmp 0x4591c0
mov edx, dword [esp + 0x34]
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x4c]
mov esi, dword [esp + 0x48]
mov dword [esp + 0x14], edx
add edi, 0x18
mov dword [esp + 0x18], ecx
cmp dword [esp + 0x14], 0
je 0x4594b3
mov al, byte [esi]
mov bl, byte [edi]
mov edx, dword [0x58b5d0]
mov byte [esp + 0x53], al
movzx eax, al
cmp byte [eax + edx], bl
jne 0x459213
sub dword [esp + 0x14], 1
add esi, 1
add edi, 1
sub ecx, 1
mov dword [esp + 0x18], ecx
jmp 0x4593a7
test byte [esp + 0x53], 0x80
je 0x459403
cmp dword [esp + 0x14], 2
jl 0x459257
mov dl, byte [esp + 0x53]
and dl, 0xe0
cmp dl, 0xc0
jne 0x459257
movzx ecx, byte [esi + 1]
and eax, 0x1f
and ecx, 0x3f
shl eax, 6
or ecx, eax
push ecx
call fcn.00409910
mov ecx, dword [esp + 0x18]
add esi, 2
sub dword [esp + 0x14], 2
jmp 0x4592f1
cmp dword [esp + 0x14], 3
jl 0x459299
mov dl, byte [esp + 0x53]
and dl, 0xf0
cmp dl, 0xe0
jne 0x459299
movzx ecx, byte [esi + 1]
movzx edx, byte [esi + 2]
and ecx, 0x3f
and eax, 0xf
shl eax, 6
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
push ecx
call fcn.00409910
mov ecx, dword [esp + 0x18]
add esi, 3
sub dword [esp + 0x14], 3
jmp 0x4592f1
cmp dword [esp + 0x14], 4
jl 0x4592e7
mov dl, byte [esp + 0x53]
and dl, 0xf8
cmp dl, 0xf0
jne 0x4592e7
movzx ecx, byte [esi + 1]
movzx edx, byte [esi + 2]
and ecx, 0x3f
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
push ecx
call fcn.00409910
mov ecx, dword [esp + 0x18]
add esi, 4
sub dword [esp + 0x14], 4
jmp 0x4592f1
xor eax, eax
add esi, 1
sub dword [esp + 0x14], 1
test bl, bl
jns 0x459396
cmp ecx, 2
jl 0x459322
mov dl, bl
and dl, 0xe0
cmp dl, 0xc0
jne 0x459322
movzx edx, byte [edi + 1]
and ebx, 0x1f
and edx, 0x3f
shl ebx, 6
or edx, ebx
add edi, 2
sub ecx, 2
jmp 0x45939f
cmp ecx, 3
jl 0x459354
mov dl, bl
and dl, 0xf0
cmp dl, 0xe0
jne 0x459354
movzx edx, byte [edi + 1]
and ebx, 0xf
and edx, 0x3f
shl ebx, 6
or edx, ebx
movzx ebx, byte [edi + 2]
shl edx, 6
and ebx, 0x3f
or edx, ebx
add edi, 3
sub ecx, 3
jmp 0x45939f
cmp ecx, 4
jl 0x459392
mov dl, bl
and dl, 0xf8
cmp dl, 0xf0
jne 0x459392
movzx edx, byte [edi + 1]
and ebx, 7
and edx, 0x3f
shl ebx, 6
or edx, ebx
movzx ebx, byte [edi + 2]
shl edx, 6
and ebx, 0x3f
or edx, ebx
movzx ebx, byte [edi + 3]
shl edx, 6
and ebx, 0x3f
or edx, ebx
add edi, 4
sub ecx, 4
jmp 0x45939f
xor edx, edx
jmp 0x459399
movzx edx, bl
add edi, 1
sub ecx, 1
cmp eax, edx
mov dword [esp + 0x18], ecx
jne 0x459403
test ecx, ecx
jne 0x4591db
mov al, byte [edi - 1]
cmp al, 0x61
jb 0x4593ba
cmp al, 0x7a
jbe 0x4593d6
cmp al, 0x41
jb 0x4593c2
cmp al, 0x5a
jbe 0x4593d6
cmp al, 0x30
jb 0x4593ca
cmp al, 0x39
jbe 0x4593d6
cmp al, 0x5f
je 0x4593d6
test al, al
jns 0x45947f
cmp dword [esp + 0x14], 0
je 0x45947f
mov al, byte [esi]
cmp al, 0x61
jb 0x4593eb
cmp al, 0x7a
jbe 0x459403
cmp al, 0x41
jb 0x4593f3
cmp al, 0x5a
jbe 0x459403
cmp al, 0x30
jb 0x4593fb
cmp al, 0x39
jbe 0x459403
cmp al, 0x5f
je 0x459403
test al, al
jns 0x45947f
mov eax, dword [esp + 0x10]
mov cl, byte [eax + 0x18]
add eax, 0x18
lea ecx, [ecx]
mov eax, 1
add dword [esp + 0x48], eax
sub dword [esp + 0x34], eax
cmp cl, 0x61
jb 0x459427
cmp cl, 0x7a
jbe 0x459448
cmp cl, 0x41
jb 0x459431
cmp cl, 0x5a
jbe 0x459448
cmp cl, 0x30
jb 0x45943b
cmp cl, 0x39
jbe 0x459448
cmp cl, 0x5f
je 0x459448
test cl, cl
jns 0x4591c0
cmp dword [esp + 0x34], 0
je 0x4591c0
mov eax, dword [esp + 0x48]
mov al, byte [eax - 1]
cmp al, 0x61
jb 0x459462
cmp al, 0x7a
jbe 0x459410
cmp al, 0x41
jb 0x45946a
cmp al, 0x5a
jbe 0x459410
cmp al, 0x30
jb 0x459472
cmp al, 0x39
jbe 0x459410
cmp al, 0x5f
je 0x459410
test al, al
js 0x459410
jmp 0x4591c0
mov ecx, dword [esp + 0x28]
cmp ecx, dword [esp + 0x20]
jne 0x4594a0
mov edx, dword [esp + 0x2c]
push edx
call fcn.004021c0
mov dword [esp + 0x28], eax
add eax, 0xff0
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
mov eax, dword [esp + 0x28]
mov dword [eax], ecx
add eax, 4
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x1c]
add eax, 4
cmp eax, dword [esp + 0x30]
mov dword [esp + 0x1c], eax
jne 0x459170
mov edi, dword [esp + 0x28]
mov ebx, dword [esp + 0x20]
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea ecx, [ecx]
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov ecx, dword [esi]
push ecx
lea edx, [esp + 0x74]
push edx
call fcn.00424170
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0x70]
push ecx
add eax, 0x18
push eax
mov eax, dword [esp + 0x80]
push edx
push eax
call fcn.0051dff0
test eax, eax
je 0x459546
cmp edi, ebx
jne 0x45953b
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov edx, dword [esi]
mov dword [edi], edx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x4594e0
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea esp, [esp]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x469cdd
mov edx, dword [esi]
push edx
lea eax, [esp + 0x74]
push eax
call fcn.00424170
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0x70]
push ecx
add eax, 0x18
push eax
mov eax, dword [esp + 0x80]
push edx
push eax
call fcn.0043f5f0
test eax, eax
je 0x4595c6
cmp edi, ebx
jne 0x4595bb
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov edx, dword [esi]
mov dword [edi], edx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x459560
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea esp, [esp]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x469cdd
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x459601
mov ecx, dword [eax - 4]
jmp 0x459604
movzx ecx, cl
mov edx, dword [esp + 0x10]
mov edx, dword [edx + 0x14]
push edx
mov edx, dword [esp + 0x14]
add edx, 0x18
push edx
push ecx
add eax, 5
push eax
call fcn.0041d620
test eax, eax
jne 0x459647
cmp edi, ebx
jne 0x45963c
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x4595e0
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea ecx, [ecx]
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x459685
mov edx, dword [eax - 4]
jmp 0x459688
movzx edx, cl
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx + 0x14]
test ecx, ecx
mov dword [esp + 0x4c], ecx
je 0x4599a3
add eax, 5
mov dword [esp + 0x48], eax
mov dword [esp + 0x34], edx
jmp 0x4596b0
mov edx, dword [esp + 0x34]
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x4c]
mov esi, dword [esp + 0x48]
mov dword [esp + 0x14], edx
add edi, 0x18
mov dword [esp + 0x18], ecx
cmp dword [esp + 0x14], 0
je 0x45996f
mov al, byte [esi]
mov bl, byte [edi]
mov edx, dword [0x58b5d0]
mov byte [esp + 0x53], al
movzx eax, al
cmp byte [eax + edx], bl
jne 0x459703
sub dword [esp + 0x14], 1
add esi, 1
add edi, 1
sub ecx, 1
mov dword [esp + 0x18], ecx
jmp 0x459894
test byte [esp + 0x53], 0x80
je 0x4598f4
cmp dword [esp + 0x14], 2
jl 0x459747
mov dl, byte [esp + 0x53]
and dl, 0xe0
cmp dl, 0xc0
jne 0x459747
movzx ecx, byte [esi + 1]
and eax, 0x1f
and ecx, 0x3f
shl eax, 6
or ecx, eax
push ecx
call fcn.00409910
mov ecx, dword [esp + 0x18]
add esi, 2
sub dword [esp + 0x14], 2
jmp 0x4597e1
cmp dword [esp + 0x14], 3
jl 0x459789
mov dl, byte [esp + 0x53]
and dl, 0xf0
cmp dl, 0xe0
jne 0x459789
movzx ecx, byte [esi + 1]
movzx edx, byte [esi + 2]
and ecx, 0x3f
and eax, 0xf
shl eax, 6
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
push ecx
call fcn.00409910
mov ecx, dword [esp + 0x18]
add esi, 3
sub dword [esp + 0x14], 3
jmp 0x4597e1
cmp dword [esp + 0x14], 4
jl 0x4597d7
mov dl, byte [esp + 0x53]
and dl, 0xf8
cmp dl, 0xf0
jne 0x4597d7
movzx ecx, byte [esi + 1]
movzx edx, byte [esi + 2]
and ecx, 0x3f
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
push ecx
call fcn.00409910
mov ecx, dword [esp + 0x18]
add esi, 4
sub dword [esp + 0x14], 4
jmp 0x4597e1
xor eax, eax
add esi, 1
sub dword [esp + 0x14], 1
test bl, bl
jns 0x459883
cmp ecx, 2
jl 0x45980f
mov dl, bl
and dl, 0xe0
cmp dl, 0xc0
jne 0x45980f
movzx edx, byte [edi + 1]
and ebx, 0x1f
and edx, 0x3f
shl ebx, 6
or edx, ebx
add edi, 2
sub ecx, 2
jmp 0x45988c
cmp ecx, 3
jl 0x459841
mov dl, bl
and dl, 0xf0
cmp dl, 0xe0
jne 0x459841
movzx edx, byte [edi + 1]
and ebx, 0xf
and edx, 0x3f
shl ebx, 6
or edx, ebx
movzx ebx, byte [edi + 2]
shl edx, 6
and ebx, 0x3f
or edx, ebx
add edi, 3
sub ecx, 3
jmp 0x45988c
cmp ecx, 4
jl 0x45987f
mov dl, bl
and dl, 0xf8
cmp dl, 0xf0
jne 0x45987f
movzx edx, byte [edi + 1]
and ebx, 7
and edx, 0x3f
shl ebx, 6
or edx, ebx
movzx ebx, byte [edi + 2]
shl edx, 6
and ebx, 0x3f
or edx, ebx
movzx ebx, byte [edi + 3]
shl edx, 6
and ebx, 0x3f
or edx, ebx
add edi, 4
sub ecx, 4
jmp 0x45988c
xor edx, edx
jmp 0x459886
movzx edx, bl
add edi, 1
sub ecx, 1
cmp eax, edx
mov dword [esp + 0x18], ecx
jne 0x4598f4
test ecx, ecx
jne 0x4596cb
mov al, byte [edi - 1]
cmp al, 0x61
jb 0x4598a7
cmp al, 0x7a
jbe 0x4598c3
cmp al, 0x41
jb 0x4598af
cmp al, 0x5a
jbe 0x4598c3
cmp al, 0x30
jb 0x4598b7
cmp al, 0x39
jbe 0x4598c3
cmp al, 0x5f
je 0x4598c3
test al, al
jns 0x4599a3
cmp dword [esp + 0x14], 0
je 0x4599a3
mov al, byte [esi]
cmp al, 0x61
jb 0x4598d8
cmp al, 0x7a
jbe 0x4598f4
cmp al, 0x41
jb 0x4598e0
cmp al, 0x5a
jbe 0x4598f4
cmp al, 0x30
jb 0x4598e8
cmp al, 0x39
jbe 0x4598f4
cmp al, 0x5f
je 0x4598f4
test al, al
jns 0x4599a3
mov eax, dword [esp + 0x10]
mov cl, byte [eax + 0x18]
add eax, 0x18
mov edi, edi
mov eax, 1
add dword [esp + 0x48], eax
sub dword [esp + 0x34], eax
cmp cl, 0x61
jb 0x459917
cmp cl, 0x7a
jbe 0x459938
cmp cl, 0x41
jb 0x459921
cmp cl, 0x5a
jbe 0x459938
cmp cl, 0x30
jb 0x45992b
cmp cl, 0x39
jbe 0x459938
cmp cl, 0x5f
je 0x459938
test cl, cl
jns 0x4596b0
cmp dword [esp + 0x34], 0
je 0x4596b0
mov eax, dword [esp + 0x48]
mov al, byte [eax - 1]
cmp al, 0x61
jb 0x459952
cmp al, 0x7a
jbe 0x459900
cmp al, 0x41
jb 0x45995a
cmp al, 0x5a
jbe 0x459900
cmp al, 0x30
jb 0x459962
cmp al, 0x39
jbe 0x459900
cmp al, 0x5f
je 0x459900
test al, al
js 0x459900
jmp 0x4596b0
mov ecx, dword [esp + 0x28]
cmp ecx, dword [esp + 0x20]
jne 0x459990
mov edx, dword [esp + 0x2c]
push edx
call fcn.004021c0
mov dword [esp + 0x28], eax
add eax, 0xff0
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
mov eax, dword [esp + 0x28]
mov dword [eax], ecx
add eax, 4
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x1c]
add eax, 4
cmp eax, dword [esp + 0x30]
mov dword [esp + 0x1c], eax
jne 0x459660
mov edi, dword [esp + 0x28]
mov ebx, dword [esp + 0x20]
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea ecx, [ecx]
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x4599f1
mov ecx, dword [eax - 4]
jmp 0x4599f4
movzx ecx, cl
mov edx, dword [esp + 0x10]
mov edx, dword [edx + 0x14]
push edx
mov edx, dword [esp + 0x14]
add edx, 0x18
push edx
push ecx
add eax, 5
push eax
call fcn.0051dff0
test eax, eax
jne 0x459a37
cmp edi, ebx
jne 0x459a2c
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x4599d0
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea ecx, [ecx]
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x459a71
mov ecx, dword [eax - 4]
jmp 0x459a74
movzx ecx, cl
mov edx, dword [esp + 0x10]
mov edx, dword [edx + 0x14]
push edx
mov edx, dword [esp + 0x14]
add edx, 0x18
push edx
push ecx
add eax, 5
push eax
call fcn.0043f5f0
test eax, eax
jne 0x459ab7
cmp edi, ebx
jne 0x459aac
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x459a50
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea ecx, [ecx]
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov ecx, dword [esi]
push ecx
lea edx, [esp + 0x74]
push edx
call fcn.00424170
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0x70]
push ecx
add eax, 0x18
push eax
mov eax, dword [esp + 0x80]
push edx
push eax
call fcn.0041d620
test eax, eax
jne 0x459b36
cmp edi, ebx
jne 0x459b2b
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov edx, dword [esi]
mov dword [edi], edx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x459ad0
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea esp, [esp]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x469cdd
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
push eax
lea ecx, [esp + 0x74]
push ecx
call fcn.00424170
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x14]
test eax, eax
mov dword [esp + 0x4c], eax
je 0x459e93
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x48], eax
mov dword [esp + 0x34], ecx
jmp 0x459ba0
mov edx, dword [esp + 0x34]
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x4c]
mov esi, dword [esp + 0x48]
mov dword [esp + 0x14], edx
add edi, 0x18
mov dword [esp + 0x18], ecx
cmp dword [esp + 0x14], 0
je 0x459e5f
mov al, byte [esi]
mov bl, byte [edi]
mov edx, dword [0x58b5d0]
mov byte [esp + 0x53], al
movzx eax, al
cmp byte [eax + edx], bl
jne 0x459bf3
sub dword [esp + 0x14], 1
add esi, 1
add edi, 1
sub ecx, 1
mov dword [esp + 0x18], ecx
jmp 0x459d84
test byte [esp + 0x53], 0x80
je 0x459de4
cmp dword [esp + 0x14], 2
jl 0x459c37
mov dl, byte [esp + 0x53]
and dl, 0xe0
cmp dl, 0xc0
jne 0x459c37
movzx ecx, byte [esi + 1]
and eax, 0x1f
and ecx, 0x3f
shl eax, 6
or ecx, eax
push ecx
call fcn.00409910
mov ecx, dword [esp + 0x18]
add esi, 2
sub dword [esp + 0x14], 2
jmp 0x459cd1
cmp dword [esp + 0x14], 3
jl 0x459c79
mov dl, byte [esp + 0x53]
and dl, 0xf0
cmp dl, 0xe0
jne 0x459c79
movzx ecx, byte [esi + 1]
movzx edx, byte [esi + 2]
and ecx, 0x3f
and eax, 0xf
shl eax, 6
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
push ecx
call fcn.00409910
mov ecx, dword [esp + 0x18]
add esi, 3
sub dword [esp + 0x14], 3
jmp 0x459cd1
cmp dword [esp + 0x14], 4
jl 0x459cc7
mov dl, byte [esp + 0x53]
and dl, 0xf8
cmp dl, 0xf0
jne 0x459cc7
movzx ecx, byte [esi + 1]
movzx edx, byte [esi + 2]
and ecx, 0x3f
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
push ecx
call fcn.00409910
mov ecx, dword [esp + 0x18]
add esi, 4
sub dword [esp + 0x14], 4
jmp 0x459cd1
xor eax, eax
add esi, 1
sub dword [esp + 0x14], 1
test bl, bl
jns 0x459d73
cmp ecx, 2
jl 0x459cff
mov dl, bl
and dl, 0xe0
cmp dl, 0xc0
jne 0x459cff
movzx edx, byte [edi + 1]
and ebx, 0x1f
and edx, 0x3f
shl ebx, 6
or edx, ebx
add edi, 2
sub ecx, 2
jmp 0x459d7c
cmp ecx, 3
jl 0x459d31
mov dl, bl
and dl, 0xf0
cmp dl, 0xe0
jne 0x459d31
movzx edx, byte [edi + 1]
and ebx, 0xf
and edx, 0x3f
shl ebx, 6
or edx, ebx
movzx ebx, byte [edi + 2]
shl edx, 6
and ebx, 0x3f
or edx, ebx
add edi, 3
sub ecx, 3
jmp 0x459d7c
cmp ecx, 4
jl 0x459d6f
mov dl, bl
and dl, 0xf8
cmp dl, 0xf0
jne 0x459d6f
movzx edx, byte [edi + 1]
and ebx, 7
and edx, 0x3f
shl ebx, 6
or edx, ebx
movzx ebx, byte [edi + 2]
shl edx, 6
and ebx, 0x3f
or edx, ebx
movzx ebx, byte [edi + 3]
shl edx, 6
and ebx, 0x3f
or edx, ebx
add edi, 4
sub ecx, 4
jmp 0x459d7c
xor edx, edx
jmp 0x459d76
movzx edx, bl
add edi, 1
sub ecx, 1
cmp eax, edx
mov dword [esp + 0x18], ecx
jne 0x459de4
test ecx, ecx
jne 0x459bbb
mov al, byte [edi - 1]
cmp al, 0x61
jb 0x459d97
cmp al, 0x7a
jbe 0x459db3
cmp al, 0x41
jb 0x459d9f
cmp al, 0x5a
jbe 0x459db3
cmp al, 0x30
jb 0x459da7
cmp al, 0x39
jbe 0x459db3
cmp al, 0x5f
je 0x459db3
test al, al
jns 0x459e93
cmp dword [esp + 0x14], 0
je 0x459e93
mov al, byte [esi]
cmp al, 0x61
jb 0x459dc8
cmp al, 0x7a
jbe 0x459de4
cmp al, 0x41
jb 0x459dd0
cmp al, 0x5a
jbe 0x459de4
cmp al, 0x30
jb 0x459dd8
cmp al, 0x39
jbe 0x459de4
cmp al, 0x5f
je 0x459de4
test al, al
jns 0x459e93
mov eax, dword [esp + 0x10]
mov cl, byte [eax + 0x18]
add eax, 0x18
mov edi, edi
mov eax, 1
add dword [esp + 0x48], eax
sub dword [esp + 0x34], eax
cmp cl, 0x61
jb 0x459e07
cmp cl, 0x7a
jbe 0x459e28
cmp cl, 0x41
jb 0x459e11
cmp cl, 0x5a
jbe 0x459e28
cmp cl, 0x30
jb 0x459e1b
cmp cl, 0x39
jbe 0x459e28
cmp cl, 0x5f
je 0x459e28
test cl, cl
jns 0x459ba0
cmp dword [esp + 0x34], 0
je 0x459ba0
mov eax, dword [esp + 0x48]
mov al, byte [eax - 1]
cmp al, 0x61
jb 0x459e42
cmp al, 0x7a
jbe 0x459df0
cmp al, 0x41
jb 0x459e4a
cmp al, 0x5a
jbe 0x459df0
cmp al, 0x30
jb 0x459e52
cmp al, 0x39
jbe 0x459df0
cmp al, 0x5f
je 0x459df0
test al, al
js 0x459df0
jmp 0x459ba0
mov ecx, dword [esp + 0x28]
cmp ecx, dword [esp + 0x20]
jne 0x459e80
mov edx, dword [esp + 0x2c]
push edx
call fcn.004021c0
mov dword [esp + 0x28], eax
add eax, 0xff0
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
mov eax, dword [esp + 0x28]
mov dword [eax], ecx
add eax, 4
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x1c]
add eax, 4
cmp eax, dword [esp + 0x30]
mov dword [esp + 0x1c], eax
jne 0x459b50
mov edi, dword [esp + 0x28]
mov ebx, dword [esp + 0x20]
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea ecx, [ecx]
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov ecx, dword [esi]
push ecx
lea edx, [esp + 0x74]
push edx
call fcn.00424170
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0x70]
push ecx
add eax, 0x18
push eax
mov eax, dword [esp + 0x80]
push edx
push eax
call fcn.0051dff0
test eax, eax
jne 0x459f26
cmp edi, ebx
jne 0x459f1b
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov edx, dword [esi]
mov dword [edi], edx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x459ec0
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea esp, [esp]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x469cdd
mov edx, dword [esi]
push edx
lea eax, [esp + 0x74]
push eax
call fcn.00424170
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0x70]
push ecx
add eax, 0x18
push eax
mov eax, dword [esp + 0x80]
push edx
push eax
call fcn.0043f5f0
test eax, eax
jne 0x459fa6
cmp edi, ebx
jne 0x459f9b
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov edx, dword [esi]
mov dword [edi], edx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x459f40
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea esp, [esp]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x469cdd
mov ecx, dword [esi]
mov al, byte [ecx + 4]
cmp al, 0xff
jne 0x459fe0
mov eax, dword [ecx - 4]
jmp 0x459fe3
movzx eax, al
mov ebx, dword [esp + 0x10]
mov edx, dword [ebx + 0x14]
add ebx, 0x18
cmp edx, eax
jg 0x45a060
add ebx, edx
mov dword [esp + 0x4c], ebx
mov ebx, dword [esp + 0x10]
add ebx, 0x18
sub ecx, ebx
sub eax, edx
mov edx, dword [0x58b5d0]
add ecx, 5
add eax, ecx
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x10]
add eax, 0x18
cmp eax, dword [esp + 0x4c]
jae 0x45a039
movzx ebx, byte [eax + ecx]
mov bl, byte [ebx + edx]
cmp bl, byte [eax]
jne 0x45a02e
add eax, 1
jmp 0x45a018
cmp ecx, dword [esp + 0x54]
je 0x45a060
add ecx, 1
jmp 0x45a011
cmp edi, dword [esp + 0x20]
jne 0x45a055
mov edx, dword [esp + 0x2c]
push edx
call fcn.004021c0
mov edi, eax
lea eax, [edi + 0xff0]
mov dword [esp + 0x20], eax
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x459fc0
mov ebx, dword [esp + 0x20]
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
mov edi, edi
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x45a0a1
mov ecx, dword [eax - 4]
jmp 0x45a0a4
movzx ecx, cl
mov edx, dword [esp + 0x10]
mov edx, dword [edx + 0x14]
test edx, edx
mov dword [esp + 0x4c], edx
je 0x45a1d9
lea ebx, [eax + 5]
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ecx
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x4c]
add eax, 0x18
sub edx, ecx
mov dword [esp + 0x54], edx
mov edx, dword [0x58b5d0]
mov dword [esp + 0x34], ebx
test ecx, ecx
je 0x45a200
mov ebx, dword [esp + 0x34]
movzx ebx, byte [ebx]
mov bl, byte [ebx + edx]
cmp bl, byte [eax]
jne 0x45a15b
mov ebx, dword [esp + 0x54]
add dword [esp + 0x34], 1
sub ecx, 1
add eax, 1
add ebx, ecx
jne 0x45a0dd
mov al, byte [eax - 1]
cmp al, 0x61
jb 0x45a111
cmp al, 0x7a
jbe 0x45a12d
cmp al, 0x41
jb 0x45a119
cmp al, 0x5a
jbe 0x45a12d
cmp al, 0x30
jb 0x45a121
cmp al, 0x39
jbe 0x45a12d
cmp al, 0x5f
je 0x45a12d
test al, al
jns 0x45a1d9
test ecx, ecx
je 0x45a1d9
mov eax, dword [esp + 0x34]
mov al, byte [eax]
cmp al, 0x61
jb 0x45a143
cmp al, 0x7a
jbe 0x45a15b
cmp al, 0x41
jb 0x45a14b
cmp al, 0x5a
jbe 0x45a15b
cmp al, 0x30
jb 0x45a153
cmp al, 0x39
jbe 0x45a15b
cmp al, 0x5f
je 0x45a15b
test al, al
jns 0x45a1d9
mov eax, dword [esp + 0x10]
mov dl, byte [eax + 0x18]
mov ecx, dword [esp + 0x48]
mov ebx, dword [esp + 0x44]
add eax, 0x18
lea ecx, [ecx]
add ebx, 1
sub ecx, 1
cmp dl, 0x61
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ecx
jb 0x45a188
cmp dl, 0x7a
jbe 0x45a1a9
cmp dl, 0x41
jb 0x45a192
cmp dl, 0x5a
jbe 0x45a1a9
cmp dl, 0x30
jb 0x45a19c
cmp dl, 0x39
jbe 0x45a1a9
cmp dl, 0x5f
je 0x45a1a9
test dl, dl
jns 0x45a0c2
test ecx, ecx
je 0x45a0c2
mov al, byte [ebx - 1]
cmp al, 0x61
jb 0x45a1bc
cmp al, 0x7a
jbe 0x45a170
cmp al, 0x41
jb 0x45a1c4
cmp al, 0x5a
jbe 0x45a170
cmp al, 0x30
jb 0x45a1cc
cmp al, 0x39
jbe 0x45a170
cmp al, 0x5f
je 0x45a170
test al, al
js 0x45a170
jmp 0x45a0c2
cmp edi, dword [esp + 0x20]
jne 0x45a1f5
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edi, eax
lea edx, [edi + 0xff0]
mov dword [esp + 0x20], edx
mov eax, dword [esi]
mov dword [edi], eax
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45a080
mov ebx, dword [esp + 0x20]
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
mov edi, edi
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x469cdd
mov eax, dword [esi]
push eax
lea ecx, [esp + 0x74]
push ecx
call fcn.00424170
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x14]
mov ebx, dword [esp + 0x70]
add eax, 0x18
cmp edx, ebx
jg 0x45a2bf
lea ecx, [eax + edx]
mov dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0x78]
sub ecx, eax
mov eax, ecx
sub eax, edx
mov edx, dword [0x58b5d0]
add eax, ebx
mov dword [esp + 0x54], eax
mov edi, edi
mov eax, dword [esp + 0x10]
add eax, 0x18
cmp eax, dword [esp + 0x4c]
jae 0x45a298
movzx ebx, byte [eax + ecx]
mov bl, byte [ebx + edx]
cmp bl, byte [eax]
jne 0x45a28d
add eax, 1
jmp 0x45a277
cmp ecx, dword [esp + 0x54]
je 0x45a2bf
add ecx, 1
jmp 0x45a270
cmp edi, dword [esp + 0x20]
jne 0x45a2b4
mov edx, dword [esp + 0x2c]
push edx
call fcn.004021c0
mov edi, eax
lea eax, [edi + 0xff0]
mov dword [esp + 0x20], eax
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45a220
mov ebx, dword [esp + 0x20]
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea ecx, [ecx]
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov ecx, dword [esi]
push ecx
lea edx, [esp + 0x74]
push edx
call fcn.00424170
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x14]
test eax, eax
mov dword [esp + 0x4c], eax
je 0x45a439
mov ebx, dword [esp + 0x78]
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ecx
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x4c]
add eax, 0x18
sub edx, ecx
mov dword [esp + 0x54], edx
mov edx, dword [0x58b5d0]
mov dword [esp + 0x34], ebx
test ecx, ecx
je 0x45a460
mov ebx, dword [esp + 0x34]
movzx ebx, byte [ebx]
mov bl, byte [ebx + edx]
cmp bl, byte [eax]
jne 0x45a3bb
mov ebx, dword [esp + 0x54]
add dword [esp + 0x34], 1
sub ecx, 1
add eax, 1
add ebx, ecx
jne 0x45a33d
mov al, byte [eax - 1]
cmp al, 0x61
jb 0x45a371
cmp al, 0x7a
jbe 0x45a38d
cmp al, 0x41
jb 0x45a379
cmp al, 0x5a
jbe 0x45a38d
cmp al, 0x30
jb 0x45a381
cmp al, 0x39
jbe 0x45a38d
cmp al, 0x5f
je 0x45a38d
test al, al
jns 0x45a439
test ecx, ecx
je 0x45a439
mov ecx, dword [esp + 0x34]
mov al, byte [ecx]
cmp al, 0x61
jb 0x45a3a3
cmp al, 0x7a
jbe 0x45a3bb
cmp al, 0x41
jb 0x45a3ab
cmp al, 0x5a
jbe 0x45a3bb
cmp al, 0x30
jb 0x45a3b3
cmp al, 0x39
jbe 0x45a3bb
cmp al, 0x5f
je 0x45a3bb
test al, al
jns 0x45a439
mov eax, dword [esp + 0x10]
mov dl, byte [eax + 0x18]
mov ecx, dword [esp + 0x48]
mov ebx, dword [esp + 0x44]
add eax, 0x18
lea ecx, [ecx]
add ebx, 1
sub ecx, 1
cmp dl, 0x61
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ecx
jb 0x45a3e8
cmp dl, 0x7a
jbe 0x45a409
cmp dl, 0x41
jb 0x45a3f2
cmp dl, 0x5a
jbe 0x45a409
cmp dl, 0x30
jb 0x45a3fc
cmp dl, 0x39
jbe 0x45a409
cmp dl, 0x5f
je 0x45a409
test dl, dl
jns 0x45a322
test ecx, ecx
je 0x45a322
mov al, byte [ebx - 1]
cmp al, 0x61
jb 0x45a41c
cmp al, 0x7a
jbe 0x45a3d0
cmp al, 0x41
jb 0x45a424
cmp al, 0x5a
jbe 0x45a3d0
cmp al, 0x30
jb 0x45a42c
cmp al, 0x39
jbe 0x45a3d0
cmp al, 0x5f
je 0x45a3d0
test al, al
js 0x45a3d0
jmp 0x45a322
cmp edi, dword [esp + 0x20]
jne 0x45a455
mov edx, dword [esp + 0x2c]
push edx
call fcn.004021c0
mov edi, eax
lea eax, [edi + 0xff0]
mov dword [esp + 0x20], eax
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45a2e0
mov ebx, dword [esp + 0x20]
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
mov edi, edi
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x45a4a1
mov ebx, dword [eax - 4]
jmp 0x45a4a4
movzx ebx, cl
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 0x14]
add ecx, 0x18
cmp edx, ebx
mov dword [esp + 0x44], ebx
jg 0x45a50c
sub eax, ecx
lea ebx, [ecx + edx]
add eax, 5
mov ecx, eax
sub eax, edx
add eax, dword [esp + 0x44]
mov edx, dword [0x58b5d0]
mov dword [esp + 0x4c], ebx
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x54], eax
jmp 0x45a4e0
mov eax, dword [esp + 0x10]
add eax, 0x18
cmp eax, dword [esp + 0x4c]
jae 0x45a535
movzx ebx, byte [eax + ecx]
mov bl, byte [ebx + edx]
cmp bl, byte [eax]
mov ebx, dword [esp + 0x20]
jne 0x45a501
add eax, 1
jmp 0x45a4e7
cmp ecx, dword [esp + 0x54]
je 0x45a510
add ecx, 1
jmp 0x45a4e0
mov ebx, dword [esp + 0x20]
cmp edi, ebx
jne 0x45a52a
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov edx, dword [esi]
mov dword [edi], edx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45a480
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
nop
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x469cdd
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x45a571
mov ecx, dword [eax - 4]
jmp 0x45a574
movzx ecx, cl
mov edx, dword [esp + 0x10]
mov edx, dword [edx + 0x14]
test edx, edx
mov dword [esp + 0x4c], edx
je 0x45a6d1
lea ebx, [eax + 5]
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ecx
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x4c]
add eax, 0x18
sub edx, ecx
mov dword [esp + 0x54], edx
mov edx, dword [0x58b5d0]
mov dword [esp + 0x34], ebx
test ecx, ecx
je 0x45a6aa
mov ebx, dword [esp + 0x34]
movzx ebx, byte [ebx]
mov bl, byte [ebx + edx]
cmp bl, byte [eax]
jne 0x45a62f
mov ebx, dword [esp + 0x54]
add dword [esp + 0x34], 1
sub ecx, 1
add eax, 1
add ebx, ecx
jne 0x45a5ad
mov al, byte [eax - 1]
cmp al, 0x61
jb 0x45a5e1
cmp al, 0x7a
jbe 0x45a5fd
cmp al, 0x41
jb 0x45a5e9
cmp al, 0x5a
jbe 0x45a5fd
cmp al, 0x30
jb 0x45a5f1
cmp al, 0x39
jbe 0x45a5fd
cmp al, 0x5f
je 0x45a5fd
test al, al
jns 0x45a6d1
test ecx, ecx
je 0x45a6d1
mov eax, dword [esp + 0x34]
mov al, byte [eax]
cmp al, 0x61
jb 0x45a613
cmp al, 0x7a
jbe 0x45a62f
cmp al, 0x41
jb 0x45a61b
cmp al, 0x5a
jbe 0x45a62f
cmp al, 0x30
jb 0x45a623
cmp al, 0x39
jbe 0x45a62f
cmp al, 0x5f
je 0x45a62f
test al, al
jns 0x45a6d1
mov eax, dword [esp + 0x10]
mov dl, byte [eax + 0x18]
mov ecx, dword [esp + 0x48]
mov ebx, dword [esp + 0x44]
add eax, 0x18
add ebx, 1
sub ecx, 1
cmp dl, 0x61
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ecx
jb 0x45a659
cmp dl, 0x7a
jbe 0x45a67a
cmp dl, 0x41
jb 0x45a663
cmp dl, 0x5a
jbe 0x45a67a
cmp dl, 0x30
jb 0x45a66d
cmp dl, 0x39
jbe 0x45a67a
cmp dl, 0x5f
je 0x45a67a
test dl, dl
jns 0x45a592
test ecx, ecx
je 0x45a592
mov al, byte [ebx - 1]
cmp al, 0x61
jb 0x45a68d
cmp al, 0x7a
jbe 0x45a641
cmp al, 0x41
jb 0x45a695
cmp al, 0x5a
jbe 0x45a641
cmp al, 0x30
jb 0x45a69d
cmp al, 0x39
jbe 0x45a641
cmp al, 0x5f
je 0x45a641
test al, al
js 0x45a641
jmp 0x45a592
cmp edi, dword [esp + 0x20]
jne 0x45a6c6
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edi, eax
lea edx, [edi + 0xff0]
mov dword [esp + 0x20], edx
mov eax, dword [esi]
mov dword [edi], eax
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45a550
mov ebx, dword [esp + 0x20]
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
nop
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x469cdd
mov eax, dword [esi]
push eax
lea ecx, [esp + 0x74]
push ecx
call fcn.00424170
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x14]
mov ebx, dword [esp + 0x70]
add eax, 0x18
cmp edx, ebx
jg 0x45a768
lea ecx, [eax + edx]
mov dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0x78]
sub ecx, eax
mov eax, ecx
sub eax, edx
mov edx, dword [0x58b5d0]
add eax, ebx
mov dword [esp + 0x54], eax
mov edi, edi
mov eax, dword [esp + 0x10]
add eax, 0x18
cmp eax, dword [esp + 0x4c]
jae 0x45a78f
movzx ebx, byte [eax + ecx]
mov bl, byte [ebx + edx]
cmp bl, byte [eax]
jne 0x45a75d
add eax, 1
jmp 0x45a747
cmp ecx, dword [esp + 0x54]
je 0x45a768
add ecx, 1
jmp 0x45a740
cmp edi, dword [esp + 0x20]
jne 0x45a784
mov edx, dword [esp + 0x2c]
push edx
call fcn.004021c0
mov edi, eax
lea eax, [edi + 0xff0]
mov dword [esp + 0x20], eax
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45a6f0
mov ebx, dword [esp + 0x20]
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea ecx, [ecx]
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov ecx, dword [esi]
push ecx
lea edx, [esp + 0x74]
push edx
call fcn.00424170
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x14]
test eax, eax
mov dword [esp + 0x4c], eax
je 0x45a931
mov ebx, dword [esp + 0x78]
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ecx
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x4c]
add eax, 0x18
sub edx, ecx
mov dword [esp + 0x54], edx
mov edx, dword [0x58b5d0]
mov dword [esp + 0x34], ebx
test ecx, ecx
je 0x45a90a
mov ebx, dword [esp + 0x34]
movzx ebx, byte [ebx]
mov bl, byte [ebx + edx]
cmp bl, byte [eax]
jne 0x45a88f
mov ebx, dword [esp + 0x54]
add dword [esp + 0x34], 1
sub ecx, 1
add eax, 1
add ebx, ecx
jne 0x45a80d
mov al, byte [eax - 1]
cmp al, 0x61
jb 0x45a841
cmp al, 0x7a
jbe 0x45a85d
cmp al, 0x41
jb 0x45a849
cmp al, 0x5a
jbe 0x45a85d
cmp al, 0x30
jb 0x45a851
cmp al, 0x39
jbe 0x45a85d
cmp al, 0x5f
je 0x45a85d
test al, al
jns 0x45a931
test ecx, ecx
je 0x45a931
mov ecx, dword [esp + 0x34]
mov al, byte [ecx]
cmp al, 0x61
jb 0x45a873
cmp al, 0x7a
jbe 0x45a88f
cmp al, 0x41
jb 0x45a87b
cmp al, 0x5a
jbe 0x45a88f
cmp al, 0x30
jb 0x45a883
cmp al, 0x39
jbe 0x45a88f
cmp al, 0x5f
je 0x45a88f
test al, al
jns 0x45a931
mov eax, dword [esp + 0x10]
mov dl, byte [eax + 0x18]
mov ecx, dword [esp + 0x48]
mov ebx, dword [esp + 0x44]
add eax, 0x18
add ebx, 1
sub ecx, 1
cmp dl, 0x61
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ecx
jb 0x45a8b9
cmp dl, 0x7a
jbe 0x45a8da
cmp dl, 0x41
jb 0x45a8c3
cmp dl, 0x5a
jbe 0x45a8da
cmp dl, 0x30
jb 0x45a8cd
cmp dl, 0x39
jbe 0x45a8da
cmp dl, 0x5f
je 0x45a8da
test dl, dl
jns 0x45a7f2
test ecx, ecx
je 0x45a7f2
mov al, byte [ebx - 1]
cmp al, 0x61
jb 0x45a8ed
cmp al, 0x7a
jbe 0x45a8a1
cmp al, 0x41
jb 0x45a8f5
cmp al, 0x5a
jbe 0x45a8a1
cmp al, 0x30
jb 0x45a8fd
cmp al, 0x39
jbe 0x45a8a1
cmp al, 0x5f
je 0x45a8a1
test al, al
js 0x45a8a1
jmp 0x45a7f2
cmp edi, dword [esp + 0x20]
jne 0x45a926
mov edx, dword [esp + 0x2c]
push edx
call fcn.004021c0
mov edi, eax
lea eax, [edi + 0xff0]
mov dword [esp + 0x20], eax
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45a7b0
mov ebx, dword [esp + 0x20]
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
nop
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x45a971
mov ecx, dword [eax - 4]
jmp 0x45a974
movzx ecx, cl
mov edx, dword [esp + 0x10]
mov edx, dword [edx + 0x14]
push edx
mov edx, dword [esp + 0x14]
add edx, 0x18
push edx
push ecx
add eax, 5
push eax
call fcn.00421a70
test eax, eax
jne 0x45a9b7
cmp edi, ebx
jne 0x45a9ac
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45a950
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea ecx, [ecx]
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x45a9f1
mov ecx, dword [eax - 4]
jmp 0x45a9f4
movzx ecx, cl
mov edx, dword [esp + 0x10]
mov edx, dword [edx + 0x14]
push edx
mov edx, dword [esp + 0x14]
add edx, 0x18
push edx
push ecx
add eax, 5
push eax
call fcn.00421d10
test eax, eax
jne 0x45aa37
cmp edi, ebx
jne 0x45aa2c
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45a9d0
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea ecx, [ecx]
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov ecx, dword [esi]
push ecx
lea edx, [esp + 0x74]
push edx
call fcn.00424170
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0x70]
push ecx
add eax, 0x18
push eax
mov eax, dword [esp + 0x80]
push edx
push eax
call fcn.00421a70
test eax, eax
jne 0x45aab6
cmp edi, ebx
jne 0x45aaab
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov edx, dword [esi]
mov dword [edi], edx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45aa50
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea esp, [esp]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x469cdd
mov edx, dword [esi]
push edx
lea eax, [esp + 0x74]
push eax
call fcn.00424170
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0x70]
push ecx
add eax, 0x18
push eax
mov eax, dword [esp + 0x80]
push edx
push eax
call fcn.00421d10
test eax, eax
jne 0x45ab36
cmp edi, ebx
jne 0x45ab2b
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov edx, dword [esi]
mov dword [edi], edx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45aad0
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea esp, [esp]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x469cdd
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x45ab71
mov ecx, dword [eax - 4]
jmp 0x45ab74
movzx ecx, cl
mov edx, dword [esp + 0x10]
mov edx, dword [edx + 0x14]
push edx
mov edx, dword [esp + 0x14]
add edx, 0x18
push edx
push ecx
add eax, 5
push eax
call fcn.00421a70
test eax, eax
je 0x45abb7
cmp edi, ebx
jne 0x45abac
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45ab50
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea ecx, [ecx]
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x45abf1
mov ecx, dword [eax - 4]
jmp 0x45abf4
movzx ecx, cl
mov edx, dword [esp + 0x10]
mov edx, dword [edx + 0x14]
push edx
mov edx, dword [esp + 0x14]
add edx, 0x18
push edx
push ecx
add eax, 5
push eax
call fcn.00421d10
test eax, eax
je 0x45ac37
cmp edi, ebx
jne 0x45ac2c
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45abd0
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea ecx, [ecx]
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov ecx, dword [esi]
push ecx
lea edx, [esp + 0x74]
push edx
call fcn.00424170
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0x70]
push ecx
add eax, 0x18
push eax
mov eax, dword [esp + 0x80]
push edx
push eax
call fcn.00421a70
test eax, eax
je 0x45acb6
cmp edi, ebx
jne 0x45acab
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov edx, dword [esi]
mov dword [edi], edx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45ac50
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea esp, [esp]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x469cdd
mov edx, dword [esi]
push edx
lea eax, [esp + 0x74]
push eax
call fcn.00424170
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0x70]
push ecx
add eax, 0x18
push eax
mov eax, dword [esp + 0x80]
push edx
push eax
call fcn.00421d10
test eax, eax
je 0x45ad36
cmp edi, ebx
jne 0x45ad2b
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov edx, dword [esi]
mov dword [edi], edx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45acd0
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea esp, [esp]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x469cdd
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x45ad71
mov ecx, dword [eax - 4]
jmp 0x45ad74
movzx ecx, cl
push ecx
add eax, 5
push eax
mov eax, dword [esp + 0x18]
mov edx, dword [eax + 0x14]
push edx
add eax, 0x18
push eax
call fcn.00413e80
test eax, eax
jne 0x45adb3
cmp edi, ebx
jne 0x45ada8
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45ad50
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea esp, [esp]
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x45adf1
mov ecx, dword [eax - 4]
jmp 0x45adf4
movzx ecx, cl
mov edx, dword [esp + 0x10]
mov edx, dword [edx + 0x14]
cmp ecx, edx
mov dword [esp + 0x34], ecx
jge 0x45ae05
mov edx, ecx
add eax, 5
test edx, edx
je 0x45ae38
mov ecx, dword [esp + 0x10]
sub ecx, eax
add ecx, 0x18
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x44]
movzx ebx, byte [ecx + eax]
movzx ecx, byte [eax]
sub ecx, ebx
jne 0x45ae7a
add eax, 1
sub edx, 1
jne 0x45ae19
mov ecx, dword [esp + 0x34]
mov ebx, dword [esp + 0x20]
mov edx, dword [esp + 0x10]
sub ecx, dword [edx + 0x14]
test ecx, ecx
jne 0x45ae68
cmp edi, ebx
jne 0x45ae5d
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45add0
jmp case.0x45563b.1
mov ebx, dword [esp + 0x20]
jmp 0x45ae3f
cmp esi, edx
je case.0x45563b.1
jmp 0x45ae90
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov ecx, dword [esi]
push ecx
lea edx, [esp + 0x74]
push edx
call fcn.00424170
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0x70]
push ecx
add eax, 0x18
push eax
mov eax, dword [esp + 0x80]
push edx
push eax
call fcn.00413e80
test eax, eax
jne 0x45aef6
cmp edi, ebx
jne 0x45aeeb
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov edx, dword [esi]
mov dword [edi], edx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45ae90
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea esp, [esp]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x469cdd
mov edx, dword [esi]
push edx
lea eax, [esp + 0x74]
push eax
call fcn.00424170
mov ecx, dword [esp + 0x10]
mov ebx, dword [ecx + 0x14]
mov ecx, dword [esp + 0x70]
cmp ecx, ebx
mov dword [esp + 0x4c], ebx
mov edx, ecx
jl 0x45af46
mov edx, ebx
test edx, edx
mov eax, dword [esp + 0x78]
je 0x45af7a
mov ecx, dword [esp + 0x10]
sub ecx, eax
add ecx, 0x18
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x44]
movzx ebx, byte [ecx + eax]
movzx ecx, byte [eax]
sub ecx, ebx
jne 0x45af7c
add eax, 1
sub edx, 1
jne 0x45af5b
mov ecx, dword [esp + 0x70]
mov ebx, dword [esp + 0x4c]
sub ecx, ebx
test ecx, ecx
jne 0x45afa7
cmp edi, dword [esp + 0x20]
jne 0x45af9c
mov edx, dword [esp + 0x2c]
push edx
call fcn.004021c0
mov edi, eax
lea eax, [edi + 0xff0]
mov dword [esp + 0x20], eax
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45af10
mov ebx, dword [esp + 0x20]
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
jmp 0x45afd0
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x45aff1
mov ecx, dword [eax - 4]
jmp 0x45aff4
movzx ecx, cl
mov edx, dword [esp + 0x10]
mov edx, dword [edx + 0x14]
push edx
mov edx, dword [esp + 0x14]
add edx, 0x18
push edx
push ecx
add eax, 5
push eax
call fcn.00413e80
test eax, eax
je 0x45b037
cmp edi, ebx
jne 0x45b02c
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45afd0
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea ecx, [ecx]
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x45b071
mov ecx, dword [eax - 4]
jmp 0x45b074
movzx ecx, cl
mov ebx, dword [esp + 0x10]
mov edx, dword [ebx + 0x14]
cmp ecx, edx
mov dword [esp + 0x34], ecx
jge 0x45b085
mov edx, ecx
add eax, 5
test edx, edx
je 0x45b0b4
sub ebx, eax
add ebx, 0x18
mov dword [esp + 0x44], ebx
mov ecx, dword [esp + 0x44]
movzx ebx, byte [ecx + eax]
movzx ecx, byte [eax]
sub ecx, ebx
jne 0x45b0b7
add eax, 1
sub edx, 1
jne 0x45b095
mov ecx, dword [esp + 0x34]
mov ebx, dword [esp + 0x10]
sub ecx, dword [ebx + 0x14]
test ecx, ecx
je 0x45b0e2
cmp edi, dword [esp + 0x20]
jne 0x45b0d7
mov edx, dword [esp + 0x2c]
push edx
call fcn.004021c0
mov edi, eax
lea eax, [edi + 0xff0]
mov dword [esp + 0x20], eax
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45b050
mov ebx, dword [esp + 0x20]
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov ecx, dword [esi]
push ecx
lea edx, [esp + 0x74]
push edx
call fcn.00424170
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0x70]
push ecx
add eax, 0x18
push eax
mov eax, dword [esp + 0x80]
push edx
push eax
call fcn.00413e80
test eax, eax
je 0x45b166
cmp edi, ebx
jne 0x45b15b
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov edx, dword [esi]
mov dword [edi], edx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45b100
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea esp, [esp]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x469cdd
mov edx, dword [esi]
push edx
lea eax, [esp + 0x74]
push eax
call fcn.00424170
mov ecx, dword [esp + 0x10]
mov ebx, dword [ecx + 0x14]
mov ecx, dword [esp + 0x70]
cmp ecx, ebx
mov dword [esp + 0x4c], ebx
mov edx, ecx
jl 0x45b1b6
mov edx, ebx
test edx, edx
mov eax, dword [esp + 0x78]
je 0x45b1ea
mov ecx, dword [esp + 0x10]
sub ecx, eax
add ecx, 0x18
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x44]
movzx ebx, byte [ecx + eax]
movzx ecx, byte [eax]
sub ecx, ebx
jne 0x45b1ec
add eax, 1
sub edx, 1
jne 0x45b1cb
mov ecx, dword [esp + 0x70]
mov ebx, dword [esp + 0x4c]
sub ecx, ebx
test ecx, ecx
je 0x45b217
cmp edi, dword [esp + 0x20]
jne 0x45b20c
mov edx, dword [esp + 0x2c]
push edx
call fcn.004021c0
mov edi, eax
lea eax, [edi + 0xff0]
mov dword [esp + 0x20], eax
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45b180
mov ebx, dword [esp + 0x20]
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
jmp 0x45b240
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov edx, dword [esi]
mov al, byte [edx + 4]
cmp al, 0xff
jne 0x45b260
mov ecx, dword [edx - 4]
jmp 0x45b263
movzx ecx, al
mov eax, dword [esp + 0x10]
mov ebx, dword [eax + 0x14]
add eax, 0x18
test ecx, ecx
mov dword [esp + 0x44], ebx
je 0x45b2b0
sub edx, eax
add edx, 5
mov dword [esp + 0x18], edx
test ebx, ebx
je 0x45b2b0
mov edx, dword [esp + 0x18]
movzx edx, byte [edx + eax]
mov ebx, dword [0x58b5d0]
movzx edx, byte [edx + ebx]
movzx ebx, byte [eax]
sub edx, ebx
jne 0x45b2f3
mov ebx, dword [esp + 0x44]
sub ecx, 1
sub ebx, 1
add eax, 1
test ecx, ecx
mov dword [esp + 0x44], ebx
jne 0x45b27e
sub ecx, ebx
test ecx, ecx
jne 0x45b2dd
cmp edi, dword [esp + 0x20]
jne 0x45b2d2
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ecx, [edi + 0xff0]
mov dword [esp + 0x20], ecx
mov edx, dword [esi]
mov dword [edi], edx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45b240
mov ebx, dword [esp + 0x20]
jmp case.0x45563b.1
mov ecx, edx
jmp 0x45b2b2
cmp esi, edx
je case.0x45563b.1
nop
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x469cdd
mov edx, dword [esi]
push edx
lea eax, [esp + 0x74]
push eax
call fcn.00424170
mov eax, dword [esp + 0x10]
mov ebx, dword [eax + 0x14]
mov ecx, dword [esp + 0x70]
add eax, 0x18
test ecx, ecx
mov dword [esp + 0x44], ebx
je 0x45b373
mov edx, dword [esp + 0x78]
sub edx, eax
mov dword [esp + 0x18], edx
jmp 0x45b345
mov edx, dword [esp + 0x18]
test ebx, ebx
je 0x45b373
movzx edx, byte [edx + eax]
mov ebx, dword [0x58b5d0]
movzx edx, byte [edx + ebx]
movzx ebx, byte [eax]
sub edx, ebx
jne 0x45b3b6
mov ebx, dword [esp + 0x44]
sub ecx, 1
sub ebx, 1
add eax, 1
test ecx, ecx
mov dword [esp + 0x44], ebx
jne 0x45b341
sub ecx, ebx
test ecx, ecx
jne 0x45b3a0
cmp edi, dword [esp + 0x20]
jne 0x45b395
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ecx, [edi + 0xff0]
mov dword [esp + 0x20], ecx
mov edx, dword [esi]
mov dword [edi], edx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45b300
mov ebx, dword [esp + 0x20]
jmp case.0x45563b.1
mov ecx, edx
jmp 0x45b375
cmp esi, edx
je case.0x45563b.1
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x469cdd
mov edx, dword [esi]
mov al, byte [edx + 4]
cmp al, 0xff
jne 0x45b3e2
mov ecx, dword [edx - 4]
jmp 0x45b3e5
movzx ecx, al
mov eax, dword [esp + 0x10]
mov ebx, dword [eax + 0x14]
add eax, 0x18
test ecx, ecx
mov dword [esp + 0x44], ebx
je 0x45b432
sub edx, eax
add edx, 5
mov dword [esp + 0x18], edx
test ebx, ebx
je 0x45b432
mov edx, dword [esp + 0x18]
movzx edx, byte [edx + eax]
mov ebx, dword [0x58b5d0]
movzx edx, byte [edx + ebx]
movzx ebx, byte [eax]
sub edx, ebx
jne 0x45b475
mov ebx, dword [esp + 0x44]
sub ecx, 1
sub ebx, 1
add eax, 1
test ecx, ecx
mov dword [esp + 0x44], ebx
jne 0x45b400
sub ecx, ebx
test ecx, ecx
je 0x45b45f
cmp edi, dword [esp + 0x20]
jne 0x45b454
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ecx, [edi + 0xff0]
mov dword [esp + 0x20], ecx
mov edx, dword [esi]
mov dword [edi], edx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45b3c2
mov ebx, dword [esp + 0x20]
jmp case.0x45563b.1
mov ecx, edx
jmp 0x45b434
cmp esi, edx
je case.0x45563b.1
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x469cdd
mov edx, dword [esi]
push edx
lea eax, [esp + 0x74]
push eax
call fcn.00424170
mov eax, dword [esp + 0x10]
mov ebx, dword [eax + 0x14]
mov ecx, dword [esp + 0x70]
add eax, 0x18
test ecx, ecx
mov dword [esp + 0x44], ebx
je 0x45b4f4
mov edx, dword [esp + 0x78]
sub edx, eax
mov dword [esp + 0x18], edx
jmp 0x45b4c6
mov edx, dword [esp + 0x18]
test ebx, ebx
je 0x45b4f4
movzx edx, byte [edx + eax]
mov ebx, dword [0x58b5d0]
movzx edx, byte [edx + ebx]
movzx ebx, byte [eax]
sub edx, ebx
jne 0x45b537
mov ebx, dword [esp + 0x44]
sub ecx, 1
sub ebx, 1
add eax, 1
test ecx, ecx
mov dword [esp + 0x44], ebx
jne 0x45b4c2
sub ecx, ebx
test ecx, ecx
je 0x45b521
cmp edi, dword [esp + 0x20]
jne 0x45b516
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ecx, [edi + 0xff0]
mov dword [esp + 0x20], ecx
mov edx, dword [esi]
mov dword [edi], edx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45b481
mov ebx, dword [esp + 0x20]
jmp case.0x45563b.1
mov ecx, edx
jmp 0x45b4f6
cmp esi, edx
je case.0x45563b.1
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x469cdd
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x45b564
mov ecx, dword [eax - 4]
jmp 0x45b567
movzx ecx, cl
mov edx, dword [esp + 0x10]
mov edx, dword [edx + 0x14]
push edx
mov edx, dword [esp + 0x14]
add edx, 0x18
push edx
push ecx
add eax, 5
push eax
call fcn.0051d790
test eax, eax
je 0x45b5aa
cmp edi, ebx
jne 0x45b59f
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45b543
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x45b5e1
mov ecx, dword [eax - 4]
jmp 0x45b5e4
movzx ecx, cl
mov edx, dword [esp + 0x10]
mov edx, dword [edx + 0x14]
push edx
mov edx, dword [esp + 0x14]
add edx, 0x18
push edx
push ecx
add eax, 5
push eax
call fcn.0051c6a0
test eax, eax
je 0x45b627
cmp edi, ebx
jne 0x45b61c
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45b5c0
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea ecx, [ecx]
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x45b661
mov ecx, dword [eax - 4]
jmp 0x45b664
movzx ecx, cl
mov edx, dword [esp + 0x10]
mov edx, dword [edx + 0x14]
push edx
mov edx, dword [esp + 0x14]
add edx, 0x18
push edx
push ecx
add eax, 5
push eax
call fcn.0051d7e0
test eax, eax
je 0x45b6a7
cmp edi, ebx
jne 0x45b69c
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45b640
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea ecx, [ecx]
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x45b6e1
mov ecx, dword [eax - 4]
jmp 0x45b6e4
movzx ecx, cl
mov edx, dword [esp + 0x10]
mov edx, dword [edx + 0x14]
push edx
mov edx, dword [esp + 0x14]
add edx, 0x18
push edx
push ecx
add eax, 5
push eax
call fcn.0051c7a0
test eax, eax
je 0x45b727
cmp edi, ebx
jne 0x45b71c
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45b6c0
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea ecx, [ecx]
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov ecx, dword [esi]
push ecx
lea edx, [esp + 0x74]
push edx
call fcn.00424170
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0x70]
push ecx
add eax, 0x18
push eax
mov eax, dword [esp + 0x80]
push edx
push eax
call fcn.0051d790
test eax, eax
je 0x45b7a6
cmp edi, ebx
jne 0x45b79b
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov edx, dword [esi]
mov dword [edi], edx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45b740
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea esp, [esp]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x469cdd
mov edx, dword [esi]
push edx
lea eax, [esp + 0x74]
push eax
call fcn.00424170
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0x70]
push ecx
add eax, 0x18
push eax
mov eax, dword [esp + 0x80]
push edx
push eax
call fcn.0051c6a0
test eax, eax
je 0x45b826
cmp edi, ebx
jne 0x45b81b
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov edx, dword [esi]
mov dword [edi], edx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45b7c0
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea esp, [esp]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x469cdd
mov edx, dword [esi]
push edx
lea eax, [esp + 0x74]
push eax
call fcn.00424170
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0x70]
push ecx
add eax, 0x18
push eax
mov eax, dword [esp + 0x80]
push edx
push eax
call fcn.0051d7e0
test eax, eax
je 0x45b8a6
cmp edi, ebx
jne 0x45b89b
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov edx, dword [esi]
mov dword [edi], edx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45b840
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea esp, [esp]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x469cdd
mov edx, dword [esi]
push edx
lea eax, [esp + 0x74]
push eax
call fcn.00424170
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0x70]
push ecx
add eax, 0x18
push eax
mov eax, dword [esp + 0x80]
push edx
push eax
call fcn.0051c7a0
test eax, eax
je 0x45b926
cmp edi, ebx
jne 0x45b91b
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov edx, dword [esi]
mov dword [edi], edx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45b8c0
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea esp, [esp]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x469cdd
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x45b961
mov ecx, dword [eax - 4]
jmp 0x45b964
movzx ecx, cl
mov edx, dword [esp + 0x10]
mov edx, dword [edx + 0x14]
push edx
mov edx, dword [esp + 0x14]
add edx, 0x18
push edx
push ecx
add eax, 5
push eax
call fcn.0051d790
test eax, eax
jne 0x45b9a7
cmp edi, ebx
jne 0x45b99c
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45b940
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea ecx, [ecx]
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x45b9e1
mov ecx, dword [eax - 4]
jmp 0x45b9e4
movzx ecx, cl
mov edx, dword [esp + 0x10]
mov edx, dword [edx + 0x14]
push edx
mov edx, dword [esp + 0x14]
add edx, 0x18
push edx
push ecx
add eax, 5
push eax
call fcn.0051c6a0
test eax, eax
jne 0x45ba27
cmp edi, ebx
jne 0x45ba1c
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45b9c0
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea ecx, [ecx]
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x45ba61
mov ecx, dword [eax - 4]
jmp 0x45ba64
movzx ecx, cl
mov edx, dword [esp + 0x10]
mov edx, dword [edx + 0x14]
push edx
mov edx, dword [esp + 0x14]
add edx, 0x18
push edx
push ecx
add eax, 5
push eax
call fcn.0051d7e0
test eax, eax
jne 0x45baa7
cmp edi, ebx
jne 0x45ba9c
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45ba40
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea ecx, [ecx]
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x45bae1
mov ecx, dword [eax - 4]
jmp 0x45bae4
movzx ecx, cl
mov edx, dword [esp + 0x10]
mov edx, dword [edx + 0x14]
push edx
mov edx, dword [esp + 0x14]
add edx, 0x18
push edx
push ecx
add eax, 5
push eax
call fcn.0051c7a0
test eax, eax
jne 0x45bb27
cmp edi, ebx
jne 0x45bb1c
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45bac0
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea ecx, [ecx]
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov ecx, dword [esi]
push ecx
lea edx, [esp + 0x74]
push edx
call fcn.00424170
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0x70]
push ecx
add eax, 0x18
push eax
mov eax, dword [esp + 0x80]
push edx
push eax
call fcn.0051d790
test eax, eax
jne 0x45bba6
cmp edi, ebx
jne 0x45bb9b
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov edx, dword [esi]
mov dword [edi], edx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45bb40
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea esp, [esp]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x469cdd
mov edx, dword [esi]
push edx
lea eax, [esp + 0x74]
push eax
call fcn.00424170
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0x70]
push ecx
add eax, 0x18
push eax
mov eax, dword [esp + 0x80]
push edx
push eax
call fcn.0051c6a0
test eax, eax
jne 0x45bc26
cmp edi, ebx
jne 0x45bc1b
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov edx, dword [esi]
mov dword [edi], edx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45bbc0
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea esp, [esp]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x469cdd
mov edx, dword [esi]
push edx
lea eax, [esp + 0x74]
push eax
call fcn.00424170
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0x70]
push ecx
add eax, 0x18
push eax
mov eax, dword [esp + 0x80]
push edx
push eax
call fcn.0051d7e0
test eax, eax
jne 0x45bca6
cmp edi, ebx
jne 0x45bc9b
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov edx, dword [esi]
mov dword [edi], edx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45bc40
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea esp, [esp]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x469cdd
mov edx, dword [esi]
push edx
lea eax, [esp + 0x74]
push eax
call fcn.00424170
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0x70]
push ecx
add eax, 0x18
push eax
mov eax, dword [esp + 0x80]
push edx
push eax
call fcn.0051c7a0
test eax, eax
jne 0x45bd26
cmp edi, ebx
jne 0x45bd1b
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov edx, dword [esi]
mov dword [edi], edx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45bcc0
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea esp, [esp]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x469cdd
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x45bd61
mov ecx, dword [eax - 4]
jmp 0x45bd64
movzx ecx, cl
mov edx, dword [esp + 0x10]
mov edx, dword [edx + 0x14]
push edx
mov edx, dword [esp + 0x14]
add edx, 0x18
push edx
push ecx
add eax, 5
push eax
call fcn.0051d740
test eax, eax
je 0x45bda7
cmp edi, ebx
jne 0x45bd9c
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45bd40
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea ecx, [ecx]
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x45bde1
mov ecx, dword [eax - 4]
jmp 0x45bde4
movzx ecx, cl
mov edx, dword [esp + 0x10]
mov edx, dword [edx + 0x14]
push edx
mov edx, dword [esp + 0x14]
add edx, 0x18
push edx
push ecx
add eax, 5
push eax
call fcn.0051c5a0
test eax, eax
je 0x45be27
cmp edi, ebx
jne 0x45be1c
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45bdc0
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea ecx, [ecx]
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x45be61
mov ecx, dword [eax - 4]
jmp 0x45be64
movzx ecx, cl
mov edx, dword [esp + 0x10]
mov edx, dword [edx + 0x14]
push edx
mov edx, dword [esp + 0x14]
add edx, 0x18
push edx
push ecx
add eax, 5
push eax
call fcn.0051d6a0
test eax, eax
je 0x45bea7
cmp edi, ebx
jne 0x45be9c
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45be40
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea ecx, [ecx]
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x45bee1
mov ecx, dword [eax - 4]
jmp 0x45bee4
movzx ecx, cl
mov edx, dword [esp + 0x10]
mov edx, dword [edx + 0x14]
push edx
mov edx, dword [esp + 0x14]
add edx, 0x18
push edx
push ecx
add eax, 5
push eax
call fcn.0051c460
test eax, eax
je 0x45bf27
cmp edi, ebx
jne 0x45bf1c
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45bec0
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea ecx, [ecx]
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov ecx, dword [esi]
push ecx
lea edx, [esp + 0x74]
push edx
call fcn.00424170
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0x70]
push ecx
add eax, 0x18
push eax
mov eax, dword [esp + 0x80]
push edx
push eax
call fcn.0051d740
test eax, eax
je 0x45bfa6
cmp edi, ebx
jne 0x45bf9b
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov edx, dword [esi]
mov dword [edi], edx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45bf40
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea esp, [esp]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x469cdd
mov edx, dword [esi]
push edx
lea eax, [esp + 0x74]
push eax
call fcn.00424170
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0x70]
push ecx
add eax, 0x18
push eax
mov eax, dword [esp + 0x80]
push edx
push eax
call fcn.0051c5a0
test eax, eax
je 0x45c026
cmp edi, ebx
jne 0x45c01b
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov edx, dword [esi]
mov dword [edi], edx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45bfc0
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea esp, [esp]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x469cdd
mov edx, dword [esi]
push edx
lea eax, [esp + 0x74]
push eax
call fcn.00424170
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0x70]
push ecx
add eax, 0x18
push eax
mov eax, dword [esp + 0x80]
push edx
push eax
call fcn.0051d6a0
test eax, eax
je 0x45c0a6
cmp edi, ebx
jne 0x45c09b
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov edx, dword [esi]
mov dword [edi], edx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45c040
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea esp, [esp]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x469cdd
mov edx, dword [esi]
push edx
lea eax, [esp + 0x74]
push eax
call fcn.00424170
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0x70]
push ecx
add eax, 0x18
push eax
mov eax, dword [esp + 0x80]
push edx
push eax
call fcn.0051c460
test eax, eax
je 0x45c126
cmp edi, ebx
jne 0x45c11b
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov edx, dword [esi]
mov dword [edi], edx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45c0c0
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea esp, [esp]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x469cdd
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x45c161
mov ecx, dword [eax - 4]
jmp 0x45c164
movzx ecx, cl
mov edx, dword [esp + 0x10]
mov edx, dword [edx + 0x14]
push edx
mov edx, dword [esp + 0x14]
add edx, 0x18
push edx
push ecx
add eax, 5
push eax
call fcn.0051d740
test eax, eax
jne 0x45c1a7
cmp edi, ebx
jne 0x45c19c
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45c140
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea ecx, [ecx]
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x45c1e1
mov ecx, dword [eax - 4]
jmp 0x45c1e4
movzx ecx, cl
mov edx, dword [esp + 0x10]
mov edx, dword [edx + 0x14]
push edx
mov edx, dword [esp + 0x14]
add edx, 0x18
push edx
push ecx
add eax, 5
push eax
call fcn.0051c5a0
test eax, eax
jne 0x45c227
cmp edi, ebx
jne 0x45c21c
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45c1c0
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea ecx, [ecx]
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x45c261
mov ecx, dword [eax - 4]
jmp 0x45c264
movzx ecx, cl
mov edx, dword [esp + 0x10]
mov edx, dword [edx + 0x14]
push edx
mov edx, dword [esp + 0x14]
add edx, 0x18
push edx
push ecx
add eax, 5
push eax
call fcn.0051d6a0
test eax, eax
jne 0x45c2a7
cmp edi, ebx
jne 0x45c29c
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45c240
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea ecx, [ecx]
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x45c2e1
mov ecx, dword [eax - 4]
jmp 0x45c2e4
movzx ecx, cl
mov edx, dword [esp + 0x10]
mov edx, dword [edx + 0x14]
push edx
mov edx, dword [esp + 0x14]
add edx, 0x18
push edx
push ecx
add eax, 5
push eax
call fcn.0051c460
test eax, eax
jne 0x45c327
cmp edi, ebx
jne 0x45c31c
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45c2c0
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea ecx, [ecx]
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov ecx, dword [esi]
push ecx
lea edx, [esp + 0x74]
push edx
call fcn.00424170
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0x70]
push ecx
add eax, 0x18
push eax
mov eax, dword [esp + 0x80]
push edx
push eax
call fcn.0051d740
test eax, eax
jne 0x45c3a6
cmp edi, ebx
jne 0x45c39b
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov edx, dword [esi]
mov dword [edi], edx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45c340
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea esp, [esp]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x469cdd
mov edx, dword [esi]
push edx
lea eax, [esp + 0x74]
push eax
call fcn.00424170
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0x70]
push ecx
add eax, 0x18
push eax
mov eax, dword [esp + 0x80]
push edx
push eax
call fcn.0051c5a0
test eax, eax
jne 0x45c426
cmp edi, ebx
jne 0x45c41b
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov edx, dword [esi]
mov dword [edi], edx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45c3c0
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea esp, [esp]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x469cdd
mov edx, dword [esi]
push edx
lea eax, [esp + 0x74]
push eax
call fcn.00424170
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0x70]
push ecx
add eax, 0x18
push eax
mov eax, dword [esp + 0x80]
push edx
push eax
call fcn.0051d6a0
test eax, eax
jne 0x45c4a6
cmp edi, ebx
jne 0x45c49b
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov edx, dword [esi]
mov dword [edi], edx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45c440
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea esp, [esp]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x469cdd
mov edx, dword [esi]
push edx
lea eax, [esp + 0x74]
push eax
call fcn.00424170
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0x70]
push ecx
add eax, 0x18
push eax
mov eax, dword [esp + 0x80]
push edx
push eax
call fcn.0051c460
test eax, eax
jne 0x45c526
cmp edi, ebx
jne 0x45c51b
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov edx, dword [esi]
mov dword [edi], edx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45c4c0
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea esp, [esp]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x469cdd
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x45c561
mov ecx, dword [eax - 4]
jmp 0x45c564
movzx ecx, cl
mov edx, dword [esp + 0x10]
mov edx, dword [edx + 0x14]
push edx
mov edx, dword [esp + 0x14]
add edx, 0x18
push edx
push ecx
add eax, 5
push eax
call fcn.0051d6f0
test eax, eax
je 0x45c5a7
cmp edi, ebx
jne 0x45c59c
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45c540
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea ecx, [ecx]
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x45c5e1
mov ecx, dword [eax - 4]
jmp 0x45c5e4
movzx ecx, cl
mov edx, dword [esp + 0x10]
mov edx, dword [edx + 0x14]
push edx
mov edx, dword [esp + 0x14]
add edx, 0x18
push edx
push ecx
add eax, 5
push eax
call fcn.0051c500
test eax, eax
je 0x45c627
cmp edi, ebx
jne 0x45c61c
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45c5c0
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea ecx, [ecx]
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov ecx, dword [esi]
push ecx
lea edx, [esp + 0x74]
push edx
call fcn.00424170
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0x70]
push ecx
add eax, 0x18
push eax
mov eax, dword [esp + 0x80]
push edx
push eax
call fcn.0051d6f0
test eax, eax
je 0x45c6a6
cmp edi, ebx
jne 0x45c69b
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov edx, dword [esi]
mov dword [edi], edx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45c640
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea esp, [esp]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x469cdd
mov edx, dword [esi]
push edx
lea eax, [esp + 0x74]
push eax
call fcn.00424170
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0x70]
push ecx
add eax, 0x18
push eax
mov eax, dword [esp + 0x80]
push edx
push eax
call fcn.0051c500
test eax, eax
je 0x45c726
cmp edi, ebx
jne 0x45c71b
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov edx, dword [esi]
mov dword [edi], edx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45c6c0
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea esp, [esp]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x469cdd
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x45c761
mov ecx, dword [eax - 4]
jmp 0x45c764
movzx ecx, cl
mov edx, dword [esp + 0x10]
mov edx, dword [edx + 0x14]
push edx
mov edx, dword [esp + 0x14]
add edx, 0x18
push edx
push ecx
add eax, 5
push eax
call fcn.0051d6f0
test eax, eax
jne 0x45c7a7
cmp edi, ebx
jne 0x45c79c
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45c740
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea ecx, [ecx]
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x45c7e1
mov ecx, dword [eax - 4]
jmp 0x45c7e4
movzx ecx, cl
mov edx, dword [esp + 0x10]
mov edx, dword [edx + 0x14]
push edx
mov edx, dword [esp + 0x14]
add edx, 0x18
push edx
push ecx
add eax, 5
push eax
call fcn.0051c500
test eax, eax
jne 0x45c827
cmp edi, ebx
jne 0x45c81c
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45c7c0
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea ecx, [ecx]
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov ecx, dword [esi]
push ecx
lea edx, [esp + 0x74]
push edx
call fcn.00424170
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0x70]
push ecx
add eax, 0x18
push eax
mov eax, dword [esp + 0x80]
push edx
push eax
call fcn.0051d6f0
test eax, eax
jne 0x45c8a6
cmp edi, ebx
jne 0x45c89b
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov edx, dword [esi]
mov dword [edi], edx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45c840
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea esp, [esp]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x469cdd
mov edx, dword [esi]
push edx
lea eax, [esp + 0x74]
push eax
call fcn.00424170
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0x70]
push ecx
add eax, 0x18
push eax
mov eax, dword [esp + 0x80]
push edx
push eax
call fcn.0051c500
test eax, eax
jne 0x45c926
cmp edi, ebx
jne 0x45c91b
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov edx, dword [esi]
mov dword [edi], edx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45c8c0
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea esp, [esp]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x469cdd
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x45c961
mov ecx, dword [eax - 4]
jmp 0x45c964
movzx ecx, cl
mov edx, dword [esp + 0x10]
mov edx, dword [edx + 0x14]
push edx
mov edx, dword [esp + 0x14]
add edx, 0x18
push edx
push ecx
add eax, 5
push eax
call fcn.0051acd0
test eax, eax
je 0x45c9a7
cmp edi, ebx
jne 0x45c99c
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45c940
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea ecx, [ecx]
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x45c9e1
mov ecx, dword [eax - 4]
jmp 0x45c9e4
movzx ecx, cl
mov edx, dword [esp + 0x10]
mov edx, dword [edx + 0x14]
push edx
mov edx, dword [esp + 0x14]
add edx, 0x18
push edx
push ecx
add eax, 5
push eax
call fcn.0051b0c0
test eax, eax
je 0x45ca27
cmp edi, ebx
jne 0x45ca1c
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45c9c0
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea ecx, [ecx]
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov ecx, dword [esi]
push ecx
lea edx, [esp + 0x74]
push edx
call fcn.00424170
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0x70]
push ecx
add eax, 0x18
push eax
mov eax, dword [esp + 0x80]
push edx
push eax
call fcn.0051acd0
test eax, eax
je 0x45caa6
cmp edi, ebx
jne 0x45ca9b
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov edx, dword [esi]
mov dword [edi], edx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45ca40
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea esp, [esp]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x469cdd
mov edx, dword [esi]
push edx
lea eax, [esp + 0x74]
push eax
call fcn.00424170
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0x70]
push ecx
add eax, 0x18
push eax
mov eax, dword [esp + 0x80]
push edx
push eax
call fcn.0051b0c0
test eax, eax
je 0x45cb26
cmp edi, ebx
jne 0x45cb1b
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov edx, dword [esi]
mov dword [edi], edx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45cac0
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea esp, [esp]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x469cdd
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x45cb61
mov ecx, dword [eax - 4]
jmp 0x45cb64
movzx ecx, cl
mov edx, dword [esp + 0x10]
mov edx, dword [edx + 0x14]
push edx
mov edx, dword [esp + 0x14]
add edx, 0x18
push edx
push ecx
add eax, 5
push eax
call fcn.0051acd0
test eax, eax
jne 0x45cba7
cmp edi, ebx
jne 0x45cb9c
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45cb40
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea ecx, [ecx]
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x45cbe1
mov ecx, dword [eax - 4]
jmp 0x45cbe4
movzx ecx, cl
mov edx, dword [esp + 0x10]
mov edx, dword [edx + 0x14]
push edx
mov edx, dword [esp + 0x14]
add edx, 0x18
push edx
push ecx
add eax, 5
push eax
call fcn.0051b0c0
test eax, eax
jne 0x45cc27
cmp edi, ebx
jne 0x45cc1c
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45cbc0
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea ecx, [ecx]
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov ecx, dword [esi]
push ecx
lea edx, [esp + 0x74]
push edx
call fcn.00424170
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0x70]
push ecx
add eax, 0x18
push eax
mov eax, dword [esp + 0x80]
push edx
push eax
call fcn.0051acd0
test eax, eax
jne 0x45cca6
cmp edi, ebx
jne 0x45cc9b
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov edx, dword [esi]
mov dword [edi], edx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45cc40
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea esp, [esp]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x469cdd
mov edx, dword [esi]
push edx
lea eax, [esp + 0x74]
push eax
call fcn.00424170
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0x70]
push ecx
add eax, 0x18
push eax
mov eax, dword [esp + 0x80]
push edx
push eax
call fcn.0051b0c0
test eax, eax
jne 0x45cd26
cmp edi, ebx
jne 0x45cd1b
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov edx, dword [esi]
mov dword [edi], edx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45ccc0
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea esp, [esp]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x469cdd
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x45cd61
mov ecx, dword [eax - 4]
jmp 0x45cd64
movzx ecx, cl
mov edx, dword [esp + 0x10]
mov edx, dword [edx + 0x14]
push edx
mov edx, dword [esp + 0x14]
add edx, 0x18
push edx
push ecx
add eax, 5
push eax
call fcn.0051a8e0
test eax, eax
je 0x45cda7
cmp edi, ebx
jne 0x45cd9c
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45cd40
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea ecx, [ecx]
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x45cde1
mov ecx, dword [eax - 4]
jmp 0x45cde4
movzx ecx, cl
mov edx, dword [esp + 0x10]
mov edx, dword [edx + 0x14]
push edx
mov edx, dword [esp + 0x14]
add edx, 0x18
push edx
push ecx
add eax, 5
push eax
call fcn.0051a650
test eax, eax
je 0x45ce27
cmp edi, ebx
jne 0x45ce1c
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45cdc0
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea ecx, [ecx]
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov ecx, dword [esi]
push ecx
lea edx, [esp + 0x74]
push edx
call fcn.00424170
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0x70]
push ecx
add eax, 0x18
push eax
mov eax, dword [esp + 0x80]
push edx
push eax
call fcn.0051a8e0
test eax, eax
je 0x45cea6
cmp edi, ebx
jne 0x45ce9b
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov edx, dword [esi]
mov dword [edi], edx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45ce40
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea esp, [esp]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x469cdd
mov edx, dword [esi]
push edx
lea eax, [esp + 0x74]
push eax
call fcn.00424170
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0x70]
push ecx
add eax, 0x18
push eax
mov eax, dword [esp + 0x80]
push edx
push eax
call fcn.0051a650
test eax, eax
je 0x45cf26
cmp edi, ebx
jne 0x45cf1b
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov edx, dword [esi]
mov dword [edi], edx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45cec0
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea esp, [esp]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x469cdd
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x45cf61
mov ecx, dword [eax - 4]
jmp 0x45cf64
movzx ecx, cl
mov edx, dword [esp + 0x10]
mov edx, dword [edx + 0x14]
push edx
mov edx, dword [esp + 0x14]
add edx, 0x18
push edx
push ecx
add eax, 5
push eax
call fcn.0051a8e0
test eax, eax
jne 0x45cfa7
cmp edi, ebx
jne 0x45cf9c
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45cf40
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea ecx, [ecx]
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x45cfe1
mov ecx, dword [eax - 4]
jmp 0x45cfe4
movzx ecx, cl
mov edx, dword [esp + 0x10]
mov edx, dword [edx + 0x14]
push edx
mov edx, dword [esp + 0x14]
add edx, 0x18
push edx
push ecx
add eax, 5
push eax
call fcn.0051a650
test eax, eax
jne 0x45d027
cmp edi, ebx
jne 0x45d01c
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45cfc0
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea ecx, [ecx]
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov ecx, dword [esi]
push ecx
lea edx, [esp + 0x74]
push edx
call fcn.00424170
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0x70]
push ecx
add eax, 0x18
push eax
mov eax, dword [esp + 0x80]
push edx
push eax
call fcn.0051a8e0
test eax, eax
jne 0x45d0a6
cmp edi, ebx
jne 0x45d09b
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov edx, dword [esi]
mov dword [edi], edx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45d040
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea esp, [esp]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x469cdd
mov edx, dword [esi]
push edx
lea eax, [esp + 0x74]
push eax
call fcn.00424170
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0x70]
push ecx
add eax, 0x18
push eax
mov eax, dword [esp + 0x80]
push edx
push eax
call fcn.0051a650
test eax, eax
jne 0x45d126
cmp edi, ebx
jne 0x45d11b
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov edx, dword [esi]
mov dword [edi], edx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45d0c0
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea esp, [esp]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x469cdd
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x45d161
mov ecx, dword [eax - 4]
jmp 0x45d164
movzx ecx, cl
mov edx, dword [esp + 0x10]
mov edx, dword [edx + 0x14]
push edx
mov edx, dword [esp + 0x14]
add edx, 0x18
push edx
push ecx
add eax, 5
push eax
call fcn.0051a790
test eax, eax
je 0x45d1a7
cmp edi, ebx
jne 0x45d19c
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45d140
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea ecx, [ecx]
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov ecx, dword [esi]
push ecx
lea edx, [esp + 0x74]
push edx
call fcn.00424170
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0x70]
push ecx
add eax, 0x18
push eax
mov eax, dword [esp + 0x80]
push edx
push eax
call fcn.0051a790
test eax, eax
je 0x45d226
cmp edi, ebx
jne 0x45d21b
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov edx, dword [esi]
mov dword [edi], edx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45d1c0
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea esp, [esp]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x469cdd
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x45d261
mov ecx, dword [eax - 4]
jmp 0x45d264
movzx ecx, cl
mov edx, dword [esp + 0x10]
mov edx, dword [edx + 0x14]
push edx
mov edx, dword [esp + 0x14]
add edx, 0x18
push edx
push ecx
add eax, 5
push eax
call fcn.0051a790
test eax, eax
jne 0x45d2a7
cmp edi, ebx
jne 0x45d29c
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45d240
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea ecx, [ecx]
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov ecx, dword [esi]
push ecx
lea edx, [esp + 0x74]
push edx
call fcn.00424170
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0x70]
push ecx
add eax, 0x18
push eax
mov eax, dword [esp + 0x80]
push edx
push eax
call fcn.0051a790
test eax, eax
jne 0x45d326
cmp edi, ebx
jne 0x45d31b
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov edx, dword [esi]
mov dword [edi], edx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45d2c0
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea esp, [esp]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x469cdd
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x45d361
mov ecx, dword [eax - 4]
jmp 0x45d364
movzx ecx, cl
mov edx, dword [esp + 0x10]
mov edx, dword [edx + 0x14]
push edx
mov edx, dword [esp + 0x14]
add edx, 0x18
push edx
push ecx
add eax, 5
push eax
call fcn.00422540
test eax, eax
je 0x45d3a7
cmp edi, ebx
jne 0x45d39c
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45d340
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea ecx, [ecx]
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x45d3e1
mov ecx, dword [eax - 4]
jmp 0x45d3e4
movzx ecx, cl
mov edx, dword [esp + 0x10]
mov edx, dword [edx + 0x14]
push edx
mov edx, dword [esp + 0x14]
add edx, 0x18
push edx
push ecx
add eax, 5
push eax
call fcn.004227e0
test eax, eax
je 0x45d427
cmp edi, ebx
jne 0x45d41c
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45d3c0
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea ecx, [ecx]
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov ecx, dword [esi]
push ecx
lea edx, [esp + 0x74]
push edx
call fcn.00424170
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0x70]
push ecx
add eax, 0x18
push eax
mov eax, dword [esp + 0x80]
push edx
push eax
call fcn.00422540
test eax, eax
je 0x45d4a6
cmp edi, ebx
jne 0x45d49b
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov edx, dword [esi]
mov dword [edi], edx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45d440
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea esp, [esp]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x469cdd
mov edx, dword [esi]
push edx
lea eax, [esp + 0x74]
push eax
call fcn.00424170
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0x70]
push ecx
add eax, 0x18
push eax
mov eax, dword [esp + 0x80]
push edx
push eax
call fcn.004227e0
test eax, eax
je 0x45d526
cmp edi, ebx
jne 0x45d51b
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov edx, dword [esi]
mov dword [edi], edx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45d4c0
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea esp, [esp]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x469cdd
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x45d561
mov ecx, dword [eax - 4]
jmp 0x45d564
movzx ecx, cl
mov edx, dword [esp + 0x10]
mov edx, dword [edx + 0x14]
push edx
mov edx, dword [esp + 0x14]
add edx, 0x18
push edx
push ecx
add eax, 5
push eax
call fcn.00422540
test eax, eax
jne 0x45d5a7
cmp edi, ebx
jne 0x45d59c
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45d540
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea ecx, [ecx]
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x45d5e1
mov ecx, dword [eax - 4]
jmp 0x45d5e4
movzx ecx, cl
mov edx, dword [esp + 0x10]
mov edx, dword [edx + 0x14]
push edx
mov edx, dword [esp + 0x14]
add edx, 0x18
push edx
push ecx
add eax, 5
push eax
call fcn.004227e0
test eax, eax
jne 0x45d627
cmp edi, ebx
jne 0x45d61c
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45d5c0
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea ecx, [ecx]
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov ecx, dword [esi]
push ecx
lea edx, [esp + 0x74]
push edx
call fcn.00424170
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0x70]
push ecx
add eax, 0x18
push eax
mov eax, dword [esp + 0x80]
push edx
push eax
call fcn.00422540
test eax, eax
jne 0x45d6a6
cmp edi, ebx
jne 0x45d69b
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov edx, dword [esi]
mov dword [edi], edx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45d640
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea esp, [esp]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x469cdd
mov edx, dword [esi]
push edx
lea eax, [esp + 0x74]
push eax
call fcn.00424170
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0x70]
push ecx
add eax, 0x18
push eax
mov eax, dword [esp + 0x80]
push edx
push eax
call fcn.004227e0
test eax, eax
jne 0x45d726
cmp edi, ebx
jne 0x45d71b
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov edx, dword [esi]
mov dword [edi], edx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45d6c0
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea esp, [esp]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x469cdd
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x45d761
mov ecx, dword [eax - 4]
jmp 0x45d764
movzx ecx, cl
mov edx, dword [esp + 0x10]
mov edx, dword [edx + 0x14]
push edx
mov edx, dword [esp + 0x14]
add edx, 0x18
push edx
push ecx
add eax, 5
push eax
call fcn.0041d8f0
test eax, eax
je 0x45d7a7
cmp edi, ebx
jne 0x45d79c
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45d740
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea ecx, [ecx]
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x45d7e1
mov edx, dword [eax - 4]
jmp 0x45d7e4
movzx edx, cl
mov ecx, dword [esp + 0x10]
mov ebx, dword [ecx + 0x14]
add ecx, 0x18
cmp ebx, edx
mov dword [esp + 0x34], edx
jg 0x45d847
mov edx, ebx
add edx, ecx
sub eax, ecx
mov dword [esp + 0x4c], edx
mov edx, dword [esp + 0x34]
sub eax, ebx
lea eax, [eax + edx + 5]
mov edx, dword [esp + 0x4c]
cmp ecx, edx
je 0x45d820
mov bl, byte [eax + ecx]
cmp bl, byte [ecx]
jne 0x45d847
add ecx, 1
cmp ecx, edx
jne 0x45d812
cmp edi, dword [esp + 0x20]
jne 0x45d83c
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ecx, [edi + 0xff0]
mov dword [esp + 0x20], ecx
mov edx, dword [esi]
mov dword [edi], edx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45d7c0
mov ebx, dword [esp + 0x20]
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
jmp 0x45d870
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x469cdd
mov edx, dword [esi]
push edx
lea eax, [esp + 0x74]
push eax
call fcn.00424170
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0x70]
push ecx
add eax, 0x18
push eax
mov eax, dword [esp + 0x80]
push edx
push eax
call fcn.0041d8f0
test eax, eax
je 0x45d8d6
cmp edi, ebx
jne 0x45d8cb
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov edx, dword [esi]
mov dword [edi], edx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45d870
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea esp, [esp]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x469cdd
mov edx, dword [esi]
push edx
lea eax, [esp + 0x74]
push eax
call fcn.00424170
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 0x14]
add ecx, 0x18
cmp edx, dword [esp + 0x70]
jg 0x45d96f
lea eax, [ecx + edx]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x78]
sub eax, ecx
sub eax, edx
mov edx, dword [esp + 0x4c]
add eax, dword [esp + 0x70]
cmp ecx, edx
je 0x45d948
mov bl, byte [eax + ecx]
cmp bl, byte [ecx]
jne 0x45d96f
add ecx, 1
cmp ecx, edx
jne 0x45d93a
cmp edi, dword [esp + 0x20]
jne 0x45d964
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edi, eax
lea edx, [edi + 0xff0]
mov dword [esp + 0x20], edx
mov eax, dword [esi]
mov dword [edi], eax
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45d8f0
mov ebx, dword [esp + 0x20]
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea ecx, [ecx]
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x469cdd
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x45d9b1
mov ecx, dword [eax - 4]
jmp 0x45d9b4
movzx ecx, cl
mov edx, dword [esp + 0x10]
mov edx, dword [edx + 0x14]
push edx
mov edx, dword [esp + 0x14]
add edx, 0x18
push edx
push ecx
add eax, 5
push eax
call fcn.0041d8f0
test eax, eax
jne 0x45d9f7
cmp edi, ebx
jne 0x45d9ec
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45d990
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea ecx, [ecx]
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x45da31
mov edx, dword [eax - 4]
jmp 0x45da34
movzx edx, cl
mov ecx, dword [esp + 0x10]
mov ebx, dword [ecx + 0x14]
add ecx, 0x18
cmp ebx, edx
mov dword [esp + 0x34], edx
jg 0x45da72
mov edx, ebx
add edx, ecx
sub eax, ecx
mov dword [esp + 0x4c], edx
mov edx, dword [esp + 0x34]
sub eax, ebx
lea eax, [eax + edx + 5]
mov edx, dword [esp + 0x4c]
cmp ecx, edx
je 0x45da99
mov bl, byte [eax + ecx]
cmp bl, byte [ecx]
jne 0x45da72
add ecx, 1
cmp ecx, edx
jne 0x45da62
jmp 0x45da99
cmp edi, dword [esp + 0x20]
jne 0x45da8e
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ecx, [edi + 0xff0]
mov dword [esp + 0x20], ecx
mov edx, dword [esi]
mov dword [edi], edx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45da10
mov ebx, dword [esp + 0x20]
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
jmp 0x45dac0
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x469cdd
mov edx, dword [esi]
push edx
lea eax, [esp + 0x74]
push eax
call fcn.00424170
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0x70]
push ecx
add eax, 0x18
push eax
mov eax, dword [esp + 0x80]
push edx
push eax
call fcn.0041d8f0
test eax, eax
jne 0x45db26
cmp edi, ebx
jne 0x45db1b
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov edx, dword [esi]
mov dword [edi], edx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45dac0
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea esp, [esp]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x469cdd
mov edx, dword [esi]
push edx
lea eax, [esp + 0x74]
push eax
call fcn.00424170
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 0x14]
add ecx, 0x18
cmp edx, dword [esp + 0x70]
jg 0x45dba0
lea eax, [ecx + edx]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x78]
sub eax, ecx
sub eax, edx
mov edx, dword [esp + 0x4c]
add eax, dword [esp + 0x70]
cmp ecx, edx
je 0x45dbc7
lea ebx, [ebx]
mov bl, byte [eax + ecx]
cmp bl, byte [ecx]
jne 0x45dba0
add ecx, 1
cmp ecx, edx
jne 0x45db90
jmp 0x45dbc7
cmp edi, dword [esp + 0x20]
jne 0x45dbbc
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edi, eax
lea edx, [edi + 0xff0]
mov dword [esp + 0x20], edx
mov eax, dword [esi]
mov dword [edi], eax
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45db40
mov ebx, dword [esp + 0x20]
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
jmp 0x45dbf0
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x469cdd
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x45dc11
mov edx, dword [eax - 4]
jmp 0x45dc14
movzx edx, cl
mov ecx, dword [esp + 0x10]
mov ebx, dword [ecx + 0x14]
add ecx, 0x18
cmp ebx, edx
mov dword [esp + 0x34], edx
jg 0x45dc81
mov edx, ebx
add edx, ecx
sub eax, ecx
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x34]
sub eax, ebx
cmp ecx, dword [esp + 0x48]
lea eax, [eax + edx + 5]
je 0x45dc5a
mov edx, dword [0x58b5d0]
movzx ebx, byte [eax + ecx]
mov bl, byte [ebx + edx]
cmp bl, byte [ecx]
jne 0x45dc81
add ecx, 1
cmp ecx, dword [esp + 0x48]
jne 0x45dc46
cmp edi, dword [esp + 0x20]
jne 0x45dc76
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ecx, [edi + 0xff0]
mov dword [esp + 0x20], ecx
mov edx, dword [esi]
mov dword [edi], edx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45dbf0
mov ebx, dword [esp + 0x20]
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
nop
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x469cdd
mov edx, dword [esi]
push edx
lea eax, [esp + 0x74]
push eax
call fcn.00424170
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 0x14]
add ecx, 0x18
cmp edx, dword [esp + 0x70]
jg 0x45dd2b
lea eax, [ecx + edx]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x78]
sub eax, ecx
sub eax, edx
add eax, dword [esp + 0x70]
cmp ecx, dword [esp + 0x44]
je 0x45dd04
mov edx, dword [0x58b5d0]
mov edi, edi
movzx ebx, byte [eax + ecx]
mov bl, byte [ebx + edx]
cmp bl, byte [ecx]
jne 0x45dd2b
add ecx, 1
cmp ecx, dword [esp + 0x44]
jne 0x45dcf0
cmp edi, dword [esp + 0x20]
jne 0x45dd20
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edi, eax
lea edx, [edi + 0xff0]
mov dword [esp + 0x20], edx
mov eax, dword [esi]
mov dword [edi], eax
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45dca0
mov ebx, dword [esp + 0x20]
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea esp, [esp]
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x469cdd
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x45dd71
mov edx, dword [eax - 4]
jmp 0x45dd74
movzx edx, cl
mov ecx, dword [esp + 0x10]
mov ebx, dword [ecx + 0x14]
add ecx, 0x18
cmp ebx, edx
mov dword [esp + 0x34], edx
jg 0x45ddbc
mov edx, ebx
add edx, ecx
sub eax, ecx
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x34]
sub eax, ebx
cmp ecx, dword [esp + 0x48]
lea eax, [eax + edx + 5]
je 0x45dde3
mov edx, dword [0x58b5d0]
movzx ebx, byte [eax + ecx]
mov bl, byte [ebx + edx]
cmp bl, byte [ecx]
jne 0x45ddbc
add ecx, 1
cmp ecx, dword [esp + 0x48]
jne 0x45dda6
jmp 0x45dde3
cmp edi, dword [esp + 0x20]
jne 0x45ddd8
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ecx, [edi + 0xff0]
mov dword [esp + 0x20], ecx
mov edx, dword [esi]
mov dword [edi], edx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45dd50
mov ebx, dword [esp + 0x20]
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x469cdd
mov edx, dword [esi]
push edx
lea eax, [esp + 0x74]
push eax
call fcn.00424170
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 0x14]
add ecx, 0x18
cmp edx, dword [esp + 0x70]
jg 0x45de66
lea eax, [ecx + edx]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x78]
sub eax, ecx
sub eax, edx
add eax, dword [esp + 0x70]
cmp ecx, dword [esp + 0x44]
je 0x45de8d
mov edx, dword [0x58b5d0]
nop
movzx ebx, byte [eax + ecx]
mov bl, byte [ebx + edx]
cmp bl, byte [ecx]
jne 0x45de66
add ecx, 1
cmp ecx, dword [esp + 0x44]
jne 0x45de50
jmp 0x45de8d
cmp edi, dword [esp + 0x20]
jne 0x45de82
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edi, eax
lea edx, [edi + 0xff0]
mov dword [esp + 0x20], edx
mov eax, dword [esi]
mov dword [edi], eax
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45de01
mov ebx, dword [esp + 0x20]
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
jmp 0x45deb0
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x469cdd
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x45ded1
mov ecx, dword [eax - 4]
jmp 0x45ded4
movzx ecx, cl
mov edx, dword [esp + 0x10]
mov edx, dword [edx + 0x14]
push edx
mov edx, dword [esp + 0x14]
add edx, 0x18
push edx
push ecx
add eax, 5
push eax
call fcn.00422a80
test eax, eax
je 0x45df17
cmp edi, ebx
jne 0x45df0c
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45deb0
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea ecx, [ecx]
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x45df51
mov ecx, dword [eax - 4]
jmp 0x45df54
movzx ecx, cl
mov edx, dword [esp + 0x10]
mov edx, dword [edx + 0x14]
push edx
mov edx, dword [esp + 0x14]
add edx, 0x18
push edx
push ecx
add eax, 5
push eax
call fcn.00422d20
test eax, eax
je 0x45df97
cmp edi, ebx
jne 0x45df8c
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45df30
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea ecx, [ecx]
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov ecx, dword [esi]
push ecx
lea edx, [esp + 0x74]
push edx
call fcn.00424170
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0x70]
push ecx
add eax, 0x18
push eax
mov eax, dword [esp + 0x80]
push edx
push eax
call fcn.00422a80
test eax, eax
je 0x45e016
cmp edi, ebx
jne 0x45e00b
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov edx, dword [esi]
mov dword [edi], edx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45dfb0
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea esp, [esp]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x469cdd
mov edx, dword [esi]
push edx
lea eax, [esp + 0x74]
push eax
call fcn.00424170
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0x70]
push ecx
add eax, 0x18
push eax
mov eax, dword [esp + 0x80]
push edx
push eax
call fcn.00422d20
test eax, eax
je 0x45e096
cmp edi, ebx
jne 0x45e08b
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov edx, dword [esi]
mov dword [edi], edx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45e030
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea esp, [esp]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x469cdd
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x45e0d1
mov ecx, dword [eax - 4]
jmp 0x45e0d4
movzx ecx, cl
mov edx, dword [esp + 0x10]
mov edx, dword [edx + 0x14]
push edx
mov edx, dword [esp + 0x14]
add edx, 0x18
push edx
push ecx
add eax, 5
push eax
call fcn.00422a80
test eax, eax
jne 0x45e117
cmp edi, ebx
jne 0x45e10c
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45e0b0
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea ecx, [ecx]
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x45e151
mov ecx, dword [eax - 4]
jmp 0x45e154
movzx ecx, cl
mov edx, dword [esp + 0x10]
mov edx, dword [edx + 0x14]
push edx
mov edx, dword [esp + 0x14]
add edx, 0x18
push edx
push ecx
add eax, 5
push eax
call fcn.00422d20
test eax, eax
jne 0x45e197
cmp edi, ebx
jne 0x45e18c
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45e130
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea ecx, [ecx]
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov ecx, dword [esi]
push ecx
lea edx, [esp + 0x74]
push edx
call fcn.00424170
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0x70]
push ecx
add eax, 0x18
push eax
mov eax, dword [esp + 0x80]
push edx
push eax
call fcn.00422a80
test eax, eax
jne 0x45e216
cmp edi, ebx
jne 0x45e20b
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov edx, dword [esi]
mov dword [edi], edx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45e1b0
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea esp, [esp]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x469cdd
mov edx, dword [esi]
push edx
lea eax, [esp + 0x74]
push eax
call fcn.00424170
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0x70]
push ecx
add eax, 0x18
push eax
mov eax, dword [esp + 0x80]
push edx
push eax
call fcn.00422d20
test eax, eax
jne 0x45e296
cmp edi, ebx
jne 0x45e28b
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov edx, dword [esi]
mov dword [edi], edx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45e230
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea esp, [esp]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x469cdd
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x45e2d1
mov ecx, dword [eax - 4]
jmp 0x45e2d4
movzx ecx, cl
mov edx, dword [esp + 0x10]
mov edx, dword [edx + 0x14]
push edx
mov edx, dword [esp + 0x14]
add edx, 0x18
push edx
push ecx
add eax, 5
push eax
call fcn.0041db90
test eax, eax
je 0x45e317
cmp edi, ebx
jne 0x45e30c
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45e2b0
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea ecx, [ecx]
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x45e351
mov edx, dword [eax - 4]
jmp 0x45e354
movzx edx, cl
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx + 0x14]
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x10]
add ecx, 0x18
cmp dword [esp + 0x44], edx
jg 0x45e3bd
mov edx, dword [esp + 0x44]
sub eax, ecx
add edx, ecx
add eax, 5
cmp ecx, edx
je 0x45e38e
jmp 0x45e380
mov bl, byte [eax + ecx]
cmp bl, byte [ecx]
jne 0x45e3b9
add ecx, 1
cmp ecx, edx
jne 0x45e380
mov ebx, dword [esp + 0x20]
cmp edi, ebx
jne 0x45e3ac
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
jmp 0x45e3bd
mov ebx, dword [esp + 0x20]
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45e330
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
jmp 0x45e3e0
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov ecx, dword [esi]
push ecx
lea edx, [esp + 0x74]
push edx
call fcn.00424170
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0x70]
push ecx
add eax, 0x18
push eax
mov eax, dword [esp + 0x80]
push edx
push eax
call fcn.0041db90
test eax, eax
je 0x45e446
cmp edi, ebx
jne 0x45e43b
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov edx, dword [esi]
mov dword [edi], edx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45e3e0
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea esp, [esp]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x469cdd
mov edx, dword [esi]
push edx
lea eax, [esp + 0x74]
push eax
call fcn.00424170
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
add eax, 0x18
cmp ecx, dword [esp + 0x70]
jg 0x45e4d5
lea edx, [eax + ecx]
mov ecx, dword [esp + 0x78]
sub ecx, eax
cmp eax, edx
je 0x45e4ae
lea esp, [esp]
mov bl, byte [ecx + eax]
cmp bl, byte [eax]
jne 0x45e4d5
add eax, 1
cmp eax, edx
jne 0x45e4a0
cmp edi, dword [esp + 0x20]
jne 0x45e4ca
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edi, eax
lea edx, [edi + 0xff0]
mov dword [esp + 0x20], edx
mov eax, dword [esi]
mov dword [edi], eax
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45e460
mov ebx, dword [esp + 0x20]
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
nop
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x469cdd
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x45e511
mov ecx, dword [eax - 4]
jmp 0x45e514
movzx ecx, cl
mov edx, dword [esp + 0x10]
mov edx, dword [edx + 0x14]
push edx
mov edx, dword [esp + 0x14]
add edx, 0x18
push edx
push ecx
add eax, 5
push eax
call fcn.0041db90
test eax, eax
jne 0x45e557
cmp edi, ebx
jne 0x45e54c
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45e4f0
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea ecx, [ecx]
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x45e591
mov edx, dword [eax - 4]
jmp 0x45e594
movzx edx, cl
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx + 0x14]
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x10]
add ecx, 0x18
cmp dword [esp + 0x44], edx
jg 0x45e5e4
mov edx, dword [esp + 0x44]
sub eax, ecx
add edx, ecx
add eax, 5
cmp ecx, edx
je 0x45e5ce
jmp 0x45e5c0
mov bl, byte [eax + ecx]
cmp bl, byte [ecx]
jne 0x45e5e0
add ecx, 1
cmp ecx, edx
jne 0x45e5c0
mov ebx, dword [esp + 0x20]
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45e570
jmp case.0x45563b.1
mov ebx, dword [esp + 0x20]
cmp edi, ebx
jne 0x45e5fe
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
jmp 0x45e5d2
cmp esi, edx
je case.0x45563b.1
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov ecx, dword [esi]
push ecx
lea edx, [esp + 0x74]
push edx
call fcn.00424170
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0x70]
push ecx
add eax, 0x18
push eax
mov eax, dword [esp + 0x80]
push edx
push eax
call fcn.0041db90
test eax, eax
jne 0x45e679
cmp edi, ebx
jne 0x45e66e
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov edx, dword [esi]
mov dword [edi], edx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45e613
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
nop
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x469cdd
mov edx, dword [esi]
push edx
lea eax, [esp + 0x74]
push eax
call fcn.00424170
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
add eax, 0x18
cmp ecx, dword [esp + 0x70]
jg 0x45e6e0
lea edx, [eax + ecx]
mov ecx, dword [esp + 0x78]
sub ecx, eax
cmp eax, edx
je 0x45e707
lea esp, [esp]
mov bl, byte [ecx + eax]
cmp bl, byte [eax]
jne 0x45e6e0
add eax, 1
cmp eax, edx
jne 0x45e6d0
jmp 0x45e707
cmp edi, dword [esp + 0x20]
jne 0x45e6fc
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edi, eax
lea edx, [edi + 0xff0]
mov dword [esp + 0x20], edx
mov eax, dword [esi]
mov dword [edi], eax
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45e690
mov ebx, dword [esp + 0x20]
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x469cdd
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x45e742
mov edx, dword [eax - 4]
jmp 0x45e745
movzx edx, cl
mov ecx, dword [esp + 0x10]
mov ebx, dword [ecx + 0x14]
add ecx, 0x18
cmp ebx, edx
jg 0x45e7a6
mov edx, ebx
sub eax, ecx
add edx, ecx
add eax, 5
cmp ecx, edx
mov dword [esp + 0x4c], eax
je 0x45e77f
mov eax, dword [0x58b5d0]
mov ebx, dword [esp + 0x4c]
movzx ebx, byte [ebx + ecx]
mov bl, byte [ebx + eax]
cmp bl, byte [ecx]
jne 0x45e7a6
add ecx, 1
cmp ecx, edx
jne 0x45e769
cmp edi, dword [esp + 0x20]
jne 0x45e79b
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ecx, [edi + 0xff0]
mov dword [esp + 0x20], ecx
mov edx, dword [esi]
mov dword [edi], edx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45e721
mov ebx, dword [esp + 0x20]
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x469cdd
mov edx, dword [esi]
push edx
lea eax, [esp + 0x74]
push eax
call fcn.00424170
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
add eax, 0x18
cmp ecx, dword [esp + 0x70]
jg 0x45e84b
lea edx, [eax + ecx]
mov ecx, dword [esp + 0x78]
sub ecx, eax
cmp eax, edx
mov dword [esp + 0x4c], edx
je 0x45e824
mov edx, dword [0x58b5d0]
lea ebx, [ebx]
movzx ebx, byte [ecx + eax]
mov bl, byte [ebx + edx]
cmp bl, byte [eax]
jne 0x45e84b
add eax, 1
cmp eax, dword [esp + 0x4c]
jne 0x45e810
cmp edi, dword [esp + 0x20]
jne 0x45e840
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edi, eax
lea edx, [edi + 0xff0]
mov dword [esp + 0x20], edx
mov eax, dword [esi]
mov dword [edi], eax
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45e7c4
mov ebx, dword [esp + 0x20]
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea esp, [esp]
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x2e4]
test edx, edx
mov ebx, dword [esp + 0x10]
jne 0x469cdd
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x45e895
mov edx, dword [eax - 4]
jmp 0x45e898
movzx edx, cl
mov ecx, dword [ebx + 0x14]
mov dword [esp + 0x44], ecx
cmp dword [esp + 0x44], edx
lea ecx, [ebx + 0x18]
jg 0x45e8d8
mov edx, dword [esp + 0x44]
sub eax, ecx
add edx, ecx
add eax, 5
cmp ecx, edx
mov dword [esp + 0x4c], eax
je 0x45e8ff
mov eax, dword [0x58b5d0]
mov ebx, dword [esp + 0x4c]
movzx ebx, byte [ebx + ecx]
mov bl, byte [ebx + eax]
cmp bl, byte [ecx]
jne 0x45e8d8
add ecx, 1
cmp ecx, edx
jne 0x45e8c0
jmp 0x45e8ff
cmp edi, dword [esp + 0x20]
jne 0x45e8f4
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ecx, [edi + 0xff0]
mov dword [esp + 0x20], ecx
mov edx, dword [esi]
mov dword [edi], edx
add edi, 4
mov dword [esp + 0x28], edi
mov ebx, dword [esp + 0x20]
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45e870
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea ecx, [ecx]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x469cdd
mov edx, dword [esi]
push edx
lea eax, [esp + 0x74]
push eax
call fcn.00424170
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
add eax, 0x18
cmp ecx, dword [esp + 0x70]
jg 0x45e97c
lea edx, [eax + ecx]
mov ecx, dword [esp + 0x78]
sub ecx, eax
cmp eax, edx
mov dword [esp + 0x4c], edx
je 0x45e9a3
mov edx, dword [0x58b5d0]
movzx ebx, byte [ecx + eax]
mov bl, byte [ebx + edx]
cmp bl, byte [eax]
jne 0x45e97c
add eax, 1
cmp eax, dword [esp + 0x4c]
jne 0x45e966
jmp 0x45e9a3
cmp edi, dword [esp + 0x20]
jne 0x45e998
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edi, eax
lea edx, [edi + 0xff0]
mov dword [esp + 0x20], edx
mov eax, dword [esi]
mov dword [edi], eax
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45e920
mov ebx, dword [esp + 0x20]
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x469cdd
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esi]
push ecx
add eax, 0x18
push eax
push edx
call fcn.0042d990
test eax, eax
je 0x45ea10
cmp edi, ebx
jne 0x45ea05
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45e9c1
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
jmp 0x45ea30
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esi]
push ecx
add eax, 0x18
push eax
push edx
call fcn.0042dcb0
test eax, eax
je 0x45ea7f
cmp edi, ebx
jne 0x45ea74
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45ea30
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
jmp 0x45eaa0
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esi]
push ecx
add eax, 0x18
push eax
push edx
call fcn.0042d990
test eax, eax
jne 0x45eaef
cmp edi, ebx
jne 0x45eae4
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45eaa0
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
jmp 0x45eb10
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esi]
push ecx
add eax, 0x18
push eax
push edx
call fcn.0042dcb0
test eax, eax
jne 0x45eb5f
cmp edi, ebx
jne 0x45eb54
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45eb10
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
jmp 0x45eb80
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esi]
push ecx
add eax, 0x18
push eax
push edx
call fcn.0042dfd0
test eax, eax
je 0x45ebcf
cmp edi, ebx
jne 0x45ebc4
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45eb80
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
jmp 0x45ebf0
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esi]
push ecx
add eax, 0x18
push eax
push edx
call fcn.0042e050
test eax, eax
je 0x45ec3f
cmp edi, ebx
jne 0x45ec34
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45ebf0
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
jmp 0x45ec60
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esi]
push ecx
add eax, 0x18
push eax
push edx
call fcn.0042dfd0
test eax, eax
jne 0x45ecaf
cmp edi, ebx
jne 0x45eca4
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45ec60
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
jmp 0x45ecd0
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esi]
push ecx
add eax, 0x18
push eax
push edx
call fcn.0042e050
test eax, eax
jne 0x45ed1f
cmp edi, ebx
jne 0x45ed14
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45ecd0
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
jmp 0x45ed40
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esi]
push ecx
add eax, 0x18
push eax
push edx
call fcn.0042e0f0
test eax, eax
je 0x45ed8f
cmp edi, ebx
jne 0x45ed84
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45ed40
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
jmp 0x45edb0
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esi]
push ecx
add eax, 0x18
push eax
push edx
call fcn.0042e0f0
test eax, eax
jne 0x45edff
cmp edi, ebx
jne 0x45edf4
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45edb0
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
jmp 0x45ee20
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esi]
push ecx
add eax, 0x18
push eax
push edx
call fcn.0042e1b0
test eax, eax
je 0x45ee6f
cmp edi, ebx
jne 0x45ee64
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45ee20
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
jmp 0x45ee90
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esi]
push ecx
add eax, 0x18
push eax
push edx
call fcn.00425180
test eax, eax
je 0x45eedf
cmp edi, ebx
jne 0x45eed4
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45ee90
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
jmp 0x45ef00
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esi]
push ecx
add eax, 0x18
push eax
push edx
call fcn.0042e1b0
test eax, eax
jne 0x45ef4f
cmp edi, ebx
jne 0x45ef44
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45ef00
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
jmp 0x45ef70
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esi]
push ecx
add eax, 0x18
push eax
push edx
call fcn.00425180
test eax, eax
jne 0x45efbf
cmp edi, ebx
jne 0x45efb4
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45ef70
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
jmp 0x45efe0
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esi]
push ecx
add eax, 0x18
push eax
push edx
call fcn.0042e770
test eax, eax
je 0x45f02f
cmp edi, ebx
jne 0x45f024
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45efe0
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
jmp 0x45f050
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esi]
push ecx
add eax, 0x18
push eax
push edx
call fcn.0042e820
test eax, eax
je 0x45f0a3
cmp edi, ebx
jne 0x45f098
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45f050
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea esp, [esp]
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esi]
push ecx
add eax, 0x18
push eax
push edx
call fcn.0042e770
test eax, eax
jne 0x45f113
cmp edi, ebx
jne 0x45f108
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45f0c0
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea esp, [esp]
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esi]
push ecx
add eax, 0x18
push eax
push edx
call fcn.0042e820
test eax, eax
jne 0x45f183
cmp edi, ebx
jne 0x45f178
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45f130
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea esp, [esp]
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esi]
push ecx
add eax, 0x18
push eax
push edx
call fcn.00425740
test eax, eax
je 0x45f1f3
cmp edi, ebx
jne 0x45f1e8
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45f1a0
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea esp, [esp]
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esi]
push ecx
add eax, 0x18
push eax
push edx
call fcn.00425740
test eax, eax
jne 0x45f263
cmp edi, ebx
jne 0x45f258
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45f210
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea esp, [esp]
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esi]
push ecx
add eax, 0x18
push eax
push edx
call fcn.0042e8f0
test eax, eax
je 0x45f2d3
cmp edi, ebx
jne 0x45f2c8
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45f280
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea esp, [esp]
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esi]
push ecx
add eax, 0x18
push eax
push edx
call fcn.0042ef00
test eax, eax
je 0x45f343
cmp edi, ebx
jne 0x45f338
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45f2f0
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea esp, [esp]
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esi]
push ecx
add eax, 0x18
push eax
push edx
call fcn.0042e8f0
test eax, eax
jne 0x45f3b3
cmp edi, ebx
jne 0x45f3a8
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45f360
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea esp, [esp]
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esi]
push ecx
add eax, 0x18
push eax
push edx
call fcn.0042ef00
test eax, eax
jne 0x45f423
cmp edi, ebx
jne 0x45f418
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45f3d0
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea esp, [esp]
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esi]
push ecx
add eax, 0x18
push eax
push edx
call fcn.0042f510
test eax, eax
je 0x45f493
cmp edi, ebx
jne 0x45f488
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45f440
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea esp, [esp]
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esi]
push ecx
add eax, 0x18
push eax
push edx
call fcn.00426550
test eax, eax
je 0x45f503
cmp edi, ebx
jne 0x45f4f8
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45f4b0
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea esp, [esp]
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esi]
push ecx
add eax, 0x18
push eax
push edx
call fcn.0042f510
test eax, eax
jne 0x45f573
cmp edi, ebx
jne 0x45f568
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45f520
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea esp, [esp]
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esi]
push ecx
add eax, 0x18
push eax
push edx
call fcn.00426550
test eax, eax
jne 0x45f5e3
cmp edi, ebx
jne 0x45f5d8
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45f590
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea esp, [esp]
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esi]
push ecx
add eax, 0x18
push eax
push edx
call fcn.0042f5f0
test eax, eax
je 0x45f657
cmp edi, ebx
jne 0x45f64c
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45f600
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea ecx, [ecx]
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esi]
push ecx
add eax, 0x18
push eax
push edx
call fcn.0042f5f0
test eax, eax
jne 0x45f6c3
cmp edi, ebx
jne 0x45f6b8
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45f670
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea esp, [esp]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x469cdd
mov eax, dword [esi]
cmp dword [eax], ecx
jne 0x45f725
cmp edi, ebx
jne 0x45f71a
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edx, dword [esp + 0x30]
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov eax, dword [esi]
mov dword [edi], eax
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, edx
jne 0x45f6e0
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea esp, [esp]
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x2e4]
test eax, eax
jne 0x469cdd
mov ecx, dword [esi]
cmp dword [ecx], eax
je 0x45f785
cmp edi, ebx
jne 0x45f77a
mov edx, dword [esp + 0x2c]
push edx
call fcn.004021c0
mov edx, dword [esp + 0x30]
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov eax, dword [esi]
mov dword [edi], eax
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, edx
jne 0x45f740
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea esp, [esp]
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x469cdd
mov eax, dword [esi]
mov edx, dword [ecx]
push eax
push edx
call fcn.0042f780
test eax, eax
je 0x45f7ee
cmp edi, ebx
jne 0x45f7e3
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45f7a0
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov ecx, dword [esi]
mov eax, dword [edx]
push ecx
push eax
call fcn.0042f780
test eax, eax
jne 0x45f852
cmp edi, ebx
jne 0x45f847
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov edx, dword [esi]
mov dword [edi], edx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45f804
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
jmp 0x45f870
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x469cdd
mov edx, dword [esi]
mov ecx, dword [eax]
push edx
push ecx
call fcn.0042f780
test eax, eax
je 0x45f8be
cmp edi, ebx
jne 0x45f8b3
mov edx, dword [esp + 0x2c]
push edx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov eax, dword [esi]
mov dword [edi], eax
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45f870
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x469cdd
mov eax, dword [esi]
mov edx, dword [ecx]
push eax
push edx
call fcn.0042f780
test eax, eax
jne 0x45f922
cmp edi, ebx
jne 0x45f917
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45f8d4
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
jmp 0x45f940
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov ecx, dword [esi]
mov eax, dword [edx]
push ecx
push eax
call fcn.0042f980
test eax, eax
je 0x45f98e
cmp edi, ebx
jne 0x45f983
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov edx, dword [esi]
mov dword [edi], edx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45f940
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x469cdd
mov edx, dword [esi]
mov ecx, dword [eax]
push edx
push ecx
call fcn.0042f980
test eax, eax
jne 0x45f9f2
cmp edi, ebx
jne 0x45f9e7
mov edx, dword [esp + 0x2c]
push edx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov eax, dword [esi]
mov dword [edi], eax
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45f9a4
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
jmp 0x45fa10
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x469cdd
mov eax, dword [esi]
mov edx, dword [ecx]
push eax
push edx
call fcn.0042fbe0
test eax, eax
je 0x45fa5e
cmp edi, ebx
jne 0x45fa53
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45fa10
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov ecx, dword [esi]
mov eax, dword [edx]
push ecx
push eax
call fcn.0042fbe0
test eax, eax
jne 0x45fac2
cmp edi, ebx
jne 0x45fab7
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov edx, dword [esi]
mov dword [edi], edx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45fa74
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
jmp 0x45fae0
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x469cdd
mov edx, dword [esi]
mov ecx, dword [eax]
push edx
push ecx
call fcn.0042fe60
test eax, eax
je 0x45fb2e
cmp edi, ebx
jne 0x45fb23
mov edx, dword [esp + 0x2c]
push edx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov eax, dword [esi]
mov dword [edi], eax
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45fae0
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x469cdd
mov eax, dword [esi]
mov edx, dword [ecx]
push eax
push edx
call fcn.0042fe60
test eax, eax
jne 0x45fb92
cmp edi, ebx
jne 0x45fb87
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45fb44
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
jmp 0x45fbb0
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov ecx, dword [esi]
mov eax, dword [edx]
push ecx
push eax
call fcn.004300e0
test eax, eax
je 0x45fbfe
cmp edi, ebx
jne 0x45fbf3
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov edx, dword [esi]
mov dword [edi], edx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45fbb0
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x469cdd
mov edx, dword [esi]
mov ecx, dword [eax]
push edx
push ecx
call fcn.004300e0
test eax, eax
jne 0x45fc62
cmp edi, ebx
jne 0x45fc57
mov edx, dword [esp + 0x2c]
push edx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov eax, dword [esi]
mov dword [edi], eax
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45fc14
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
jmp 0x45fc80
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x469cdd
mov eax, dword [esi]
mov edx, dword [ecx]
push eax
push edx
call fcn.004303c0
test eax, eax
je 0x45fcce
cmp edi, ebx
jne 0x45fcc3
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45fc80
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov ecx, dword [esi]
mov eax, dword [edx]
push ecx
push eax
call fcn.004303c0
test eax, eax
jne 0x45fd32
cmp edi, ebx
jne 0x45fd27
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov edx, dword [esi]
mov dword [edi], edx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45fce4
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
jmp 0x45fd50
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x469cdd
mov ecx, dword [esi]
mov eax, dword [ecx]
test eax, eax
je 0x45fd78
mov edi, edi
mov ecx, eax
mov eax, dword [eax]
test eax, eax
jne 0x45fd70
cmp byte [ecx + 4], 0xff
jne 0x45fd8a
mov ecx, dword [ecx - 8]
jmp 0x45fd8d
mov ecx, dword [ecx - 4]
mov eax, dword [ecx + 4]
mov ecx, dword [esp + 0x10]
cmp eax, dword [ecx + 0x14]
jb 0x45fdd3
cmp eax, dword [ecx + 0x18]
ja 0x45fdd3
cmp edi, ebx
jne 0x45fdc8
mov edx, dword [esp + 0x2c]
push edx
call fcn.004021c0
mov edx, dword [esp + 0x30]
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov eax, dword [esi]
mov dword [edi], eax
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, edx
jne 0x45fd50
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
jmp 0x45fdf0
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x2e4]
test eax, eax
jne 0x469cdd
mov ecx, dword [esi]
mov eax, dword [ecx]
test eax, eax
je 0x45fe18
mov edi, edi
mov ecx, eax
mov eax, dword [eax]
test eax, eax
jne 0x45fe10
cmp byte [ecx + 4], 0xff
jne 0x45fe2a
mov ecx, dword [ecx - 8]
jmp 0x45fe2d
mov ecx, dword [ecx - 4]
mov eax, dword [ecx + 4]
mov ecx, dword [esp + 0x10]
cmp eax, dword [ecx + 0x14]
jb 0x45fe46
cmp eax, dword [ecx + 0x18]
jbe 0x45fe73
cmp edi, ebx
jne 0x45fe68
mov edx, dword [esp + 0x2c]
push edx
call fcn.004021c0
mov edx, dword [esp + 0x30]
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov eax, dword [esi]
mov dword [edi], eax
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, edx
jne 0x45fdf0
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
jmp 0x45fe90
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x469cdd
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x45feb8
mov ecx, dword [eax - 4]
jmp 0x45febb
movzx ecx, cl
push ecx
add eax, 5
push eax
call fcn.005222a0
mov ecx, dword [esp + 0x10]
cmp eax, dword [ecx + 0x14]
jl 0x45ff06
mov edx, ecx
cmp eax, dword [edx + 0x18]
jg 0x45ff06
cmp edi, ebx
jne 0x45fefb
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45fe90
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea esp, [esp]
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov ebx, dword [esi]
mov al, byte [ebx + 4]
cmp al, 0xff
jne 0x45ff47
mov eax, dword [ebx - 4]
jmp 0x45ff4a
movzx eax, al
push eax
lea ecx, [ebx + 5]
push ecx
call fcn.005222a0
mov ebx, dword [ebx]
test ebx, ebx
mov dword [esp + 0x44], eax
je 0x45ff94
mov al, byte [ebx + 4]
cmp al, 0xff
jne 0x45ff75
mov eax, dword [ebx - 4]
jmp 0x45ff78
movzx eax, al
push eax
lea edx, [ebx + 5]
push edx
call fcn.005222a0
mov ecx, dword [esp + 0x44]
mov ebx, dword [ebx]
test ebx, ebx
lea edx, [ecx + eax + 1]
mov dword [esp + 0x44], edx
jne 0x45ff62
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x10]
cmp eax, dword [ecx + 0x14]
jl 0x45ffd9
cmp eax, dword [ecx + 0x18]
jg 0x45ffd9
cmp edi, dword [esp + 0x20]
jne 0x45ffce
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ecx, [edi + 0xff0]
mov dword [esp + 0x20], ecx
mov edx, dword [esi]
mov dword [edi], edx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x45ff20
mov ebx, dword [esp + 0x20]
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
jmp 0x460000
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x469cdd
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x460028
mov ecx, dword [eax - 4]
jmp 0x46002b
movzx ecx, cl
push ecx
add eax, 5
push eax
call fcn.005222a0
mov edx, dword [esp + 0x10]
cmp eax, dword [edx + 0x14]
jl 0x46004d
mov ecx, edx
cmp eax, dword [ecx + 0x18]
jle 0x460076
cmp edi, ebx
jne 0x46006b
mov edx, dword [esp + 0x2c]
push edx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov eax, dword [esi]
mov dword [edi], eax
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x460000
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea esp, [esp]
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x469cdd
mov ebx, dword [esi]
mov al, byte [ebx + 4]
cmp al, 0xff
jne 0x4600b7
mov eax, dword [ebx - 4]
jmp 0x4600ba
movzx eax, al
push eax
lea eax, [ebx + 5]
push eax
call fcn.005222a0
mov ebx, dword [ebx]
test ebx, ebx
mov dword [esp + 0x44], eax
je 0x460104
mov al, byte [ebx + 4]
cmp al, 0xff
jne 0x4600e5
mov eax, dword [ebx - 4]
jmp 0x4600e8
movzx eax, al
push eax
lea ecx, [ebx + 5]
push ecx
call fcn.005222a0
mov edx, dword [esp + 0x44]
mov ebx, dword [ebx]
test ebx, ebx
lea eax, [edx + eax + 1]
mov dword [esp + 0x44], eax
jne 0x4600d2
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x10]
cmp eax, dword [ecx + 0x14]
jl 0x46011e
cmp eax, dword [ecx + 0x18]
jle 0x460149
cmp edi, dword [esp + 0x20]
jne 0x46013e
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edi, eax
lea edx, [edi + 0xff0]
mov dword [esp + 0x20], edx
mov eax, dword [esi]
mov dword [edi], eax
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x460090
mov ebx, dword [esp + 0x20]
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
jmp 0x460170
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x469cdd
mov eax, dword [esi]
mov ecx, dword [esp + 0x10]
push eax
push ecx
call fcn.004283d0
test eax, eax
je 0x4601c0
cmp edi, ebx
jne 0x4601b5
mov edx, dword [esp + 0x2c]
push edx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov eax, dword [esi]
mov dword [edi], eax
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x460170
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
jmp 0x4601e0
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x469cdd
mov eax, dword [esi]
mov edx, dword [esp + 0x10]
push eax
lea ecx, [esp + 0x74]
push ecx
push edx
call fcn.00428450
test eax, eax
je 0x460235
cmp edi, ebx
jne 0x46022a
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x4601e0
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
jmp 0x460250
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov ecx, dword [esi]
mov edx, dword [esp + 0x10]
push ecx
push edx
call fcn.004283d0
test eax, eax
jne 0x4602a0
cmp edi, ebx
jne 0x460295
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x460250
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
jmp 0x4602c0
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov ecx, dword [esi]
mov eax, dword [esp + 0x10]
push ecx
lea edx, [esp + 0x74]
push edx
push eax
call fcn.00428450
test eax, eax
jne 0x460315
cmp edi, ebx
jne 0x46030a
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov edx, dword [esi]
mov dword [edi], edx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x4602c0
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
jmp 0x460330
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x469cdd
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x24]
mov eax, dword [ecx]
mov ecx, dword [esp + 0x68]
mov eax, dword [eax + ecx*4]
mov ecx, esi
sub ecx, dword [eax + 8]
sub ecx, eax
sar ecx, 2
add ecx, dword [eax]
mov eax, dword [esp + 0x184]
cmp byte [ecx + eax], 0
je 0x46039b
cmp edi, ebx
jne 0x460390
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edx, dword [esp + 0x30]
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov eax, dword [esi]
mov dword [edi], eax
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, edx
jne 0x460330
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
nop
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x2e4]
test eax, eax
jne 0x469cdd
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x68]
mov eax, dword [ecx + eax*4]
mov ecx, esi
sub ecx, dword [eax + 8]
sub ecx, eax
sar ecx, 2
add ecx, dword [eax]
mov eax, dword [esp + 0x184]
cmp byte [ecx + eax], 0
jne 0x46041b
cmp edi, ebx
jne 0x460410
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edx, dword [esp + 0x30]
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov eax, dword [esi]
mov dword [edi], eax
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, edx
jne 0x4603b0
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
nop
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x469cdd
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x24]
mov edx, dword [ecx]
mov eax, dword [esp + 0x68]
mov eax, dword [edx + eax*4]
mov edx, dword [esp + 0x10]
mov ecx, esi
sub ecx, dword [eax + 8]
sub ecx, eax
mov eax, dword [eax]
sar ecx, 2
add ecx, dword [edx + 0x24]
cmp byte [ecx + eax], 0
je 0x460497
cmp edi, ebx
jne 0x46048c
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov edx, dword [esi]
mov dword [edi], edx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x460430
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea ecx, [ecx]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x469cdd
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x24]
mov ecx, dword [eax]
mov edx, dword [esp + 0x68]
mov eax, dword [ecx + edx*4]
mov edx, dword [esp + 0x10]
mov ecx, esi
sub ecx, dword [eax + 8]
sub ecx, eax
mov eax, dword [eax]
sar ecx, 2
add ecx, dword [edx + 0x24]
cmp byte [ecx + eax], 0
jne 0x460517
cmp edi, ebx
jne 0x46050c
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov edx, dword [esi]
mov dword [edi], edx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x4604b0
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea ecx, [ecx]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x469cdd
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x24]
mov eax, dword [ecx]
mov ecx, dword [esp + 0x68]
mov eax, dword [eax + ecx*4]
mov ecx, esi
sub ecx, dword [eax + 8]
sub ecx, eax
sar ecx, 2
add ecx, dword [eax]
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x14]
mov eax, dword [eax + ecx*4]
mov ecx, dword [esp + 0x10]
cmp eax, dword [ecx + 0x18]
jb 0x4605aa
cmp eax, dword [ecx + 0x1c]
ja 0x4605aa
cmp edi, ebx
jne 0x46059f
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edx, dword [esp + 0x30]
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov eax, dword [esi]
mov dword [edi], eax
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, edx
jne 0x460530
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x2e4]
test eax, eax
jne 0x469cdd
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x68]
mov eax, dword [ecx + eax*4]
mov ecx, esi
sub ecx, dword [eax + 8]
sub ecx, eax
sar ecx, 2
add ecx, dword [eax]
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x14]
mov eax, dword [eax + ecx*4]
mov ecx, dword [esp + 0x10]
cmp eax, dword [ecx + 0x18]
jb 0x46060f
cmp eax, dword [ecx + 0x1c]
jbe 0x46063c
cmp edi, ebx
jne 0x460631
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edx, dword [esp + 0x30]
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov eax, dword [esi]
mov dword [edi], eax
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, edx
jne 0x4605c2
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x2e4]
test eax, eax
jne 0x469cdd
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x68]
mov eax, dword [ecx + eax*4]
mov ecx, esi
sub ecx, dword [eax + 8]
sub ecx, eax
sar ecx, 2
add ecx, dword [eax]
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x14]
mov eax, dword [eax + ecx*4]
mov ecx, dword [esp + 0x10]
cmp eax, dword [ecx + 0x18]
jb 0x4606a1
cmp eax, dword [ecx + 0x1c]
jbe 0x4606ce
cmp edi, ebx
jne 0x4606c3
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edx, dword [esp + 0x30]
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov eax, dword [esi]
mov dword [edi], eax
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, edx
jne 0x460654
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
jmp 0x4606f0
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x2e4]
test eax, eax
jne 0x469cdd
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x68]
mov eax, dword [ecx + eax*4]
mov ecx, esi
sub ecx, dword [eax + 8]
sub ecx, eax
sar ecx, 2
add ecx, dword [eax]
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x14]
mov eax, dword [eax + ecx*4]
mov ecx, dword [esp + 0x10]
cmp eax, dword [ecx + 0x18]
jb 0x46076a
cmp eax, dword [ecx + 0x1c]
ja 0x46076a
cmp edi, ebx
jne 0x46075f
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edx, dword [esp + 0x30]
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov eax, dword [esi]
mov dword [edi], eax
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, edx
jne 0x4606f0
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x2e4]
test eax, eax
jne 0x469cdd
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x68]
mov eax, dword [ecx + eax*4]
mov ecx, esi
sub ecx, dword [eax + 8]
sub ecx, eax
sar ecx, 2
add ecx, dword [eax]
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x14]
mov eax, dword [eax + ecx*4]
mov ecx, dword [esp + 0x10]
cmp eax, dword [ecx + 0x18]
jb 0x4607cf
cmp eax, dword [ecx + 0x1c]
jbe 0x4607fc
cmp edi, ebx
jne 0x4607f1
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edx, dword [esp + 0x30]
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov eax, dword [esi]
mov dword [edi], eax
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, edx
jne 0x460782
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x2e4]
test eax, eax
jne 0x469cdd
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x68]
mov eax, dword [ecx + eax*4]
mov ecx, esi
sub ecx, dword [eax + 8]
sub ecx, eax
sar ecx, 2
add ecx, dword [eax]
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x14]
mov eax, dword [eax + ecx*4]
mov ecx, dword [esp + 0x10]
cmp eax, dword [ecx + 0x18]
jb 0x46088e
cmp eax, dword [ecx + 0x1c]
ja 0x46088e
cmp edi, ebx
jne 0x460883
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edx, dword [esp + 0x30]
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov eax, dword [esi]
mov dword [edi], eax
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, edx
jne 0x460814
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
jmp 0x4608b0
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x2e4]
test eax, eax
jne 0x469cdd
mov eax, dword [esi]
mov eax, dword [eax]
xor ecx, ecx
test eax, eax
je 0x4608d9
mov eax, dword [eax]
add ecx, 1
test eax, eax
jne 0x4608d0
mov eax, dword [esp + 0x10]
cmp ecx, dword [eax + 0x14]
jl 0x46091c
cmp ecx, dword [eax + 0x18]
jg 0x46091c
cmp edi, ebx
jne 0x460911
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edx, dword [esp + 0x30]
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov eax, dword [esi]
mov dword [edi], eax
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, edx
jne 0x4608b0
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x2e4]
test eax, eax
jne 0x469cdd
mov eax, dword [esi]
mov eax, dword [eax]
xor ecx, ecx
test eax, eax
je 0x460959
mov eax, dword [eax]
add ecx, 1
test eax, eax
jne 0x460950
mov eax, dword [esp + 0x10]
cmp ecx, dword [eax + 0x14]
jl 0x46096f
cmp ecx, dword [eax + 0x18]
jle 0x46099c
cmp edi, ebx
jne 0x460991
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edx, dword [esp + 0x30]
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov eax, dword [esi]
mov dword [edi], eax
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, edx
jne 0x460930
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x2e4]
test eax, eax
jne 0x469cdd
mov eax, dword [esp + 0x10]
mov ecx, dword [esi]
mov eax, dword [eax + 0x1c]
cmp eax, dword [ecx]
jne 0x460a00
cmp edi, ebx
jne 0x4609f5
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edx, dword [esp + 0x30]
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov eax, dword [esi]
mov dword [edi], eax
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, edx
jne 0x4609b0
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x2e4]
test eax, eax
jne 0x469cdd
mov eax, dword [esp + 0x10]
mov ecx, dword [esi]
mov eax, dword [eax + 0x1c]
cmp eax, dword [ecx]
je 0x460a64
cmp edi, ebx
jne 0x460a59
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edx, dword [esp + 0x30]
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov eax, dword [esi]
mov dword [edi], eax
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, edx
jne 0x460a14
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
jmp 0x460a80
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x469cdd
mov eax, dword [esp + 0x10]
mov ecx, dword [esi]
push eax
push ecx
call fcn.004310b0
test eax, eax
je 0x460ad0
cmp edi, ebx
jne 0x460ac5
mov edx, dword [esp + 0x2c]
push edx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov eax, dword [esi]
mov dword [edi], eax
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x460a80
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
jmp 0x460af0
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x469cdd
mov eax, dword [esp + 0x10]
mov ecx, dword [esi]
push eax
push ecx
call fcn.004310b0
test eax, eax
jne 0x460b40
cmp edi, ebx
jne 0x460b35
mov edx, dword [esp + 0x2c]
push edx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov eax, dword [esi]
mov dword [edi], eax
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x460af0
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
jmp 0x460b60
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x469cdd
mov eax, dword [esi]
push eax
mov eax, dword [esp + 0x70]
push eax
call fcn.00453ed0
test eax, eax
je 0x460b91
mov ecx, dword [eax]
mov eax, dword [ecx + 8]
jmp 0x460b93
xor eax, eax
mov ecx, dword [esp + 0x10]
cmp eax, dword [ecx + 0x14]
jb 0x460bd2
cmp eax, dword [ecx + 0x18]
ja 0x460bd2
cmp edi, ebx
jne 0x460bc7
mov edx, dword [esp + 0x2c]
push edx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov eax, dword [esi]
mov dword [edi], eax
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x460b60
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
jmp 0x460bf0
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x469cdd
mov eax, dword [esi]
push eax
mov eax, dword [esp + 0x70]
push eax
call fcn.00453ed0
test eax, eax
je 0x460c21
mov ecx, dword [eax]
mov eax, dword [ecx + 8]
jmp 0x460c23
xor eax, eax
mov ecx, dword [esp + 0x10]
cmp eax, dword [ecx + 0x14]
jb 0x460c39
cmp eax, dword [ecx + 0x18]
jbe 0x460c62
cmp edi, ebx
jne 0x460c57
mov edx, dword [esp + 0x2c]
push edx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov eax, dword [esi]
mov dword [edi], eax
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x460bf0
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
jmp 0x460c80
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x469cdd
mov eax, dword [esi]
push eax
mov eax, dword [esp + 0x70]
push eax
call fcn.00453ed0
test eax, eax
je 0x460cb3
mov eax, dword [eax]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
jmp 0x460cb7
xor ecx, ecx
xor eax, eax
mov edx, dword [esp + 0x10]
cmp eax, dword [edx + 0x1c]
jb 0x460d14
ja 0x460cd3
cmp ecx, dword [edx + 0x18]
jb 0x460d14
cmp eax, dword [edx + 0x24]
ja 0x460d14
jb 0x460ceb
cmp ecx, dword [edx + 0x20]
ja 0x460d14
cmp edi, ebx
jne 0x460d09
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov edx, dword [esi]
mov dword [edi], edx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x460c80
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
mov edi, edi
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x469cdd
mov eax, dword [esi]
mov edx, dword [esp + 0x6c]
push eax
push edx
call fcn.00453ed0
test eax, eax
je 0x460d63
mov eax, dword [eax]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
jmp 0x460d67
xor ecx, ecx
xor eax, eax
mov edx, dword [esp + 0x10]
cmp eax, dword [edx + 0x1c]
jb 0x460d9b
ja 0x460d83
cmp ecx, dword [edx + 0x18]
jb 0x460d9b
cmp eax, dword [edx + 0x24]
jb 0x460dc4
ja 0x460d9b
cmp ecx, dword [edx + 0x20]
jbe 0x460dc4
cmp edi, ebx
jne 0x460db9
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x460d30
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
mov edi, edi
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x24]
push ecx
push ebx
push edi
push edx
push eax
call fcn.00448000
mov ecx, dword [esp + 0x10]
cmp eax, dword [ecx + 0x14]
jae 0x460e3e
cmp edi, ebx
jne 0x460e33
mov edx, dword [esp + 0x2c]
push edx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov eax, dword [esi]
mov dword [edi], eax
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x460de0
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x469cdd
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x24]
push eax
push ebx
push edi
push ecx
push edx
call fcn.00448000
mov ecx, dword [esp + 0x10]
cmp eax, dword [ecx + 0x14]
jb 0x460eb2
cmp edi, ebx
jne 0x460ea7
mov edx, dword [esp + 0x2c]
push edx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov eax, dword [esi]
mov dword [edi], eax
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x460e54
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
jmp 0x460ed0
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x469cdd
mov eax, dword [esp + 0x10]
mov ecx, dword [esi]
push eax
push ecx
call fcn.00431140
test eax, eax
je 0x460f20
cmp edi, ebx
jne 0x460f15
mov edx, dword [esp + 0x2c]
push edx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov eax, dword [esi]
mov dword [edi], eax
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x460ed0
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
jmp 0x460f40
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x469cdd
mov eax, dword [esp + 0x10]
mov ecx, dword [esi]
push eax
push ecx
call fcn.00431140
test eax, eax
jne 0x460f90
cmp edi, ebx
jne 0x460f85
mov edx, dword [esp + 0x2c]
push edx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov eax, dword [esi]
mov dword [edi], eax
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x460f40
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
jmp 0x460fb0
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x469cdd
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x460fdc
mov ecx, dword [eax - 4]
lea eax, [ecx + eax + 5]
jmp 0x460fe3
movzx edx, cl
lea eax, [edx + eax + 5]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [esp + 0x10]
cmp eax, dword [edx + 0x1c]
jb 0x461045
ja 0x461004
cmp ecx, dword [edx + 0x18]
jb 0x461045
cmp eax, dword [edx + 0x24]
ja 0x461045
jb 0x46101c
cmp ecx, dword [edx + 0x20]
ja 0x461045
cmp edi, ebx
jne 0x46103a
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x460fb0
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
nop
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x46108c
mov ecx, dword [eax - 4]
lea eax, [ecx + eax + 5]
jmp 0x461093
movzx edx, cl
lea eax, [edx + eax + 5]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [esp + 0x10]
cmp eax, dword [edx + 0x1c]
jb 0x4610cc
ja 0x4610b4
cmp ecx, dword [edx + 0x18]
jb 0x4610cc
cmp eax, dword [edx + 0x24]
jb 0x4610f5
ja 0x4610cc
cmp ecx, dword [edx + 0x20]
jbe 0x4610f5
cmp edi, ebx
jne 0x4610ea
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x461060
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
nop
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x46113c
mov ecx, dword [eax - 4]
lea ecx, [ecx + eax + 5]
jmp 0x461143
movzx edx, cl
lea ecx, [edx + eax + 5]
mov eax, dword [esp + 0x6c]
mov eax, dword [eax + 0x364]
mov edx, dword [ecx + eax]
mov eax, dword [ecx + eax + 4]
mov ecx, dword [esp + 0x10]
cmp eax, dword [ecx + 0x1c]
jb 0x4611b1
ja 0x461170
cmp edx, dword [ecx + 0x18]
jb 0x4611b1
cmp eax, dword [ecx + 0x24]
ja 0x4611b1
jb 0x461188
cmp edx, dword [ecx + 0x20]
ja 0x4611b1
cmp edi, ebx
jne 0x4611a6
mov edx, dword [esp + 0x2c]
push edx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov eax, dword [esi]
mov dword [edi], eax
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x461110
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
jmp 0x4611d0
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x469cdd
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x4611fc
mov ecx, dword [eax - 4]
lea ecx, [ecx + eax + 5]
jmp 0x461203
movzx edx, cl
lea ecx, [edx + eax + 5]
mov eax, dword [esp + 0x6c]
mov eax, dword [eax + 0x364]
mov edx, dword [ecx + eax]
mov eax, dword [ecx + eax + 4]
mov ecx, dword [esp + 0x10]
cmp eax, dword [ecx + 0x1c]
jb 0x461248
ja 0x461230
cmp edx, dword [ecx + 0x18]
jb 0x461248
cmp eax, dword [ecx + 0x24]
jb 0x461271
ja 0x461248
cmp edx, dword [ecx + 0x20]
jbe 0x461271
cmp edi, ebx
jne 0x461266
mov edx, dword [esp + 0x2c]
push edx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov eax, dword [esi]
mov dword [edi], eax
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x4611d0
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
jmp 0x461290
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x469cdd
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x4612bc
mov ecx, dword [eax - 4]
lea ecx, [ecx + eax + 5]
jmp 0x4612c3
movzx edx, cl
lea ecx, [edx + eax + 5]
mov eax, dword [esp + 0x6c]
mov eax, dword [eax + 0x35c]
mov edx, dword [ecx + eax]
mov eax, dword [ecx + eax + 4]
mov ecx, dword [esp + 0x10]
cmp eax, dword [ecx + 0x1c]
jb 0x461331
ja 0x4612f0
cmp edx, dword [ecx + 0x18]
jb 0x461331
cmp eax, dword [ecx + 0x24]
ja 0x461331
jb 0x461308
cmp edx, dword [ecx + 0x20]
ja 0x461331
cmp edi, ebx
jne 0x461326
mov edx, dword [esp + 0x2c]
push edx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov eax, dword [esi]
mov dword [edi], eax
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x461290
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
jmp 0x461350
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x469cdd
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x46137c
mov ecx, dword [eax - 4]
lea ecx, [ecx + eax + 5]
jmp 0x461383
movzx edx, cl
lea ecx, [edx + eax + 5]
mov eax, dword [esp + 0x6c]
mov eax, dword [eax + 0x35c]
mov edx, dword [ecx + eax]
mov eax, dword [ecx + eax + 4]
mov ecx, dword [esp + 0x10]
cmp eax, dword [ecx + 0x1c]
jb 0x4613c8
ja 0x4613b0
cmp edx, dword [ecx + 0x18]
jb 0x4613c8
cmp eax, dword [ecx + 0x24]
jb 0x4613f1
ja 0x4613c8
cmp edx, dword [ecx + 0x20]
jbe 0x4613f1
cmp edi, ebx
jne 0x4613e6
mov edx, dword [esp + 0x2c]
push edx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov eax, dword [esi]
mov dword [edi], eax
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x461350
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
jmp 0x461410
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x469cdd
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x46143c
mov ecx, dword [eax - 4]
lea ecx, [ecx + eax + 5]
jmp 0x461443
movzx edx, cl
lea ecx, [edx + eax + 5]
mov eax, dword [esp + 0x6c]
mov eax, dword [eax + 0x36c]
mov edx, dword [ecx + eax]
mov eax, dword [ecx + eax + 4]
mov ecx, dword [esp + 0x10]
cmp eax, dword [ecx + 0x1c]
jb 0x4614b1
ja 0x461470
cmp edx, dword [ecx + 0x18]
jb 0x4614b1
cmp eax, dword [ecx + 0x24]
ja 0x4614b1
jb 0x461488
cmp edx, dword [ecx + 0x20]
ja 0x4614b1
cmp edi, ebx
jne 0x4614a6
mov edx, dword [esp + 0x2c]
push edx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov eax, dword [esi]
mov dword [edi], eax
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x461410
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
jmp 0x4614d0
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x469cdd
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x4614fc
mov ecx, dword [eax - 4]
lea ecx, [ecx + eax + 5]
jmp 0x461503
movzx edx, cl
lea ecx, [edx + eax + 5]
mov eax, dword [esp + 0x6c]
mov eax, dword [eax + 0x36c]
mov edx, dword [ecx + eax]
mov eax, dword [ecx + eax + 4]
mov ecx, dword [esp + 0x10]
cmp eax, dword [ecx + 0x1c]
jb 0x461548
ja 0x461530
cmp edx, dword [ecx + 0x18]
jb 0x461548
cmp eax, dword [ecx + 0x24]
jb 0x461571
ja 0x461548
cmp edx, dword [ecx + 0x20]
jbe 0x461571
cmp edi, ebx
jne 0x461566
mov edx, dword [esp + 0x2c]
push edx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov eax, dword [esi]
mov dword [edi], eax
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x4614d0
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x469cdd
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x4615b7
mov ecx, dword [eax - 4]
lea eax, [ecx + eax + 5]
jmp 0x4615be
movzx edx, cl
lea eax, [edx + eax + 5]
mov edx, dword [esp + 0x6c]
mov ecx, dword [esp + 0x10]
mov edx, dword [edx + 0x374]
mov ecx, dword [ecx + 0x14]
mov eax, dword [eax + edx]
and eax, ecx
cmp eax, ecx
jne 0x461605
cmp edi, ebx
jne 0x4615fa
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov edx, dword [esi]
mov dword [edi], edx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x46158b
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x469cdd
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x46164b
mov edx, dword [eax - 4]
lea eax, [edx + eax + 5]
jmp 0x461652
movzx ecx, cl
lea eax, [ecx + eax + 5]
mov edx, dword [esp + 0x10]
mov ecx, dword [edx + 0x14]
mov edx, dword [esp + 0x6c]
mov edx, dword [edx + 0x374]
mov eax, dword [eax + edx]
and eax, ecx
cmp eax, ecx
je 0x461699
cmp edi, ebx
jne 0x46168e
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov edx, dword [esi]
mov dword [edi], edx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x46161f
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x469cdd
mov eax, dword [esi]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x10]
mov ebx, dword [edx + 0x14]
push eax
push ecx
call fcn.0042d2f0
and eax, ebx
cmp eax, ebx
jne 0x46170e
cmp edi, dword [esp + 0x20]
jne 0x461703
mov edx, dword [esp + 0x2c]
push edx
call fcn.004021c0
mov edi, eax
lea eax, [edi + 0xff0]
mov dword [esp + 0x20], eax
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x4616b3
mov ebx, dword [esp + 0x20]
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
jmp 0x461730
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov edx, dword [esi]
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x10]
mov ebx, dword [ecx + 0x14]
push edx
push eax
call fcn.0042d2f0
and eax, ebx
cmp eax, ebx
je 0x46178b
cmp edi, dword [esp + 0x20]
jne 0x461780
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edi, eax
lea edx, [edi + 0xff0]
mov dword [esp + 0x20], edx
mov eax, dword [esi]
mov dword [edi], eax
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x461730
mov ebx, dword [esp + 0x20]
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
jmp 0x4617b0
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x469cdd
mov eax, dword [esi]
push eax
push ecx
call fcn.0042d3b0
mov ecx, dword [esp + 0x10]
cmp edx, dword [ecx + 0x1c]
jb 0x461828
ja 0x4617e7
cmp eax, dword [ecx + 0x18]
jb 0x461828
cmp edx, dword [ecx + 0x24]
ja 0x461828
jb 0x4617ff
cmp eax, dword [ecx + 0x20]
ja 0x461828
cmp edi, ebx
jne 0x46181d
mov edx, dword [esp + 0x2c]
push edx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov eax, dword [esi]
mov dword [edi], eax
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x4617b0
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x469cdd
mov eax, dword [esi]
push eax
push ecx
call fcn.0042d3b0
mov ecx, dword [esp + 0x10]
cmp edx, dword [ecx + 0x1c]
jb 0x461891
ja 0x461879
cmp eax, dword [ecx + 0x18]
jb 0x461891
cmp edx, dword [ecx + 0x24]
jb 0x4618ba
ja 0x461891
cmp eax, dword [ecx + 0x20]
jbe 0x4618ba
cmp edi, ebx
jne 0x4618af
mov edx, dword [esp + 0x2c]
push edx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov eax, dword [esi]
mov dword [edi], eax
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x461842
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x469cdd
mov eax, dword [esi]
push eax
push ecx
call fcn.0042d3b0
mov dword [esp + 0x1ac], edx
mov edx, dword [esi]
mov ebx, eax
mov eax, dword [esp + 0x24]
push edx
push eax
call fcn.0042d440
cmp ebx, eax
jne 0x461945
cmp dword [esp + 0x1ac], edx
jne 0x461945
cmp edi, dword [esp + 0x20]
jne 0x46193a
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edi, eax
lea edx, [edi + 0xff0]
mov dword [esp + 0x20], edx
mov eax, dword [esi]
mov dword [edi], eax
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x4618d4
mov ebx, dword [esp + 0x20]
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
nop
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x469cdd
mov eax, dword [esi]
push eax
push ecx
call fcn.0042d3b0
mov dword [esp + 0x1a4], edx
mov edx, dword [esi]
mov ebx, eax
mov eax, dword [esp + 0x24]
push edx
push eax
call fcn.0042d440
cmp ebx, eax
jne 0x4619a6
cmp dword [esp + 0x1a4], edx
je 0x4619d1
cmp edi, dword [esp + 0x20]
jne 0x4619c6
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edi, eax
lea edx, [edi + 0xff0]
mov dword [esp + 0x20], edx
mov eax, dword [esi]
mov dword [edi], eax
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x461960
mov ebx, dword [esp + 0x20]
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
jmp 0x4619f0
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x469cdd
mov eax, dword [esi]
push eax
push ecx
call fcn.0042d3b0
mov ebx, edx
mov edx, dword [esi]
mov dword [esp + 0x1b0], eax
mov eax, dword [esp + 0x24]
push edx
push eax
call fcn.0042d440
cmp ebx, edx
jb 0x461a67
ja 0x461a3c
cmp dword [esp + 0x1b0], eax
jb 0x461a67
cmp edi, dword [esp + 0x20]
jne 0x461a5c
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edi, eax
lea edx, [edi + 0xff0]
mov dword [esp + 0x20], edx
mov eax, dword [esi]
mov dword [edi], eax
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x4619f0
mov ebx, dword [esp + 0x20]
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x469cdd
mov eax, dword [esi]
push eax
push ecx
call fcn.0042d3b0
mov ebx, edx
mov edx, dword [esi]
mov dword [esp + 0x188], eax
mov eax, dword [esp + 0x24]
push edx
push eax
call fcn.0042d440
cmp ebx, edx
ja 0x461af4
jb 0x461ac9
cmp dword [esp + 0x188], eax
jae 0x461af4
cmp edi, dword [esp + 0x20]
jne 0x461ae9
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edi, eax
lea edx, [edi + 0xff0]
mov dword [esp + 0x20], edx
mov eax, dword [esi]
mov dword [edi], eax
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x461a81
mov ebx, dword [esp + 0x20]
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
mov edi, edi
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x469cdd
mov eax, dword [esi]
push eax
push ecx
call fcn.0042d3b0
mov ebx, edx
mov edx, dword [esi]
mov dword [esp + 0x190], eax
mov eax, dword [esp + 0x24]
push edx
push eax
call fcn.0042d440
cmp ebx, edx
jb 0x461b83
ja 0x461b58
cmp dword [esp + 0x190], eax
jbe 0x461b83
cmp edi, dword [esp + 0x20]
jne 0x461b78
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edi, eax
lea edx, [edi + 0xff0]
mov dword [esp + 0x20], edx
mov eax, dword [esi]
mov dword [edi], eax
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x461b10
mov ebx, dword [esp + 0x20]
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea ecx, [ecx]
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x469cdd
mov eax, dword [esi]
push eax
push ecx
call fcn.0042d3b0
mov ebx, edx
mov edx, dword [esi]
mov dword [esp + 0x198], eax
mov eax, dword [esp + 0x24]
push edx
push eax
call fcn.0042d440
cmp ebx, edx
ja 0x461c0f
jb 0x461be4
cmp dword [esp + 0x198], eax
ja 0x461c0f
cmp edi, dword [esp + 0x20]
jne 0x461c04
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edi, eax
lea edx, [edi + 0xff0]
mov dword [esp + 0x20], edx
mov eax, dword [esi]
mov dword [edi], eax
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x461ba0
mov ebx, dword [esp + 0x20]
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea esp, [esp]
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x469cdd
mov eax, dword [esi]
push eax
push ecx
call fcn.0042d350
mov ecx, dword [esp + 0x10]
cmp edx, dword [ecx + 0x1c]
jb 0x461c98
ja 0x461c5f
cmp eax, dword [ecx + 0x18]
jb 0x461c98
cmp edx, dword [ecx + 0x24]
ja 0x461c98
jb 0x461c6f
cmp eax, dword [ecx + 0x20]
ja 0x461c98
cmp edi, ebx
jne 0x461c8d
mov edx, dword [esp + 0x2c]
push edx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov eax, dword [esi]
mov dword [edi], eax
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x461c30
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
mov edi, edi
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x469cdd
mov eax, dword [esi]
push eax
push ecx
call fcn.0042d350
mov ecx, dword [esp + 0x10]
cmp edx, dword [ecx + 0x1c]
jb 0x461cf7
ja 0x461ce7
cmp eax, dword [ecx + 0x18]
jb 0x461cf7
cmp edx, dword [ecx + 0x24]
jb 0x461d20
ja 0x461cf7
cmp eax, dword [ecx + 0x20]
jbe 0x461d20
cmp edi, ebx
jne 0x461d15
mov edx, dword [esp + 0x2c]
push edx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov eax, dword [esi]
mov dword [edi], eax
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x461cb0
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
jmp 0x461d40
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x469cdd
mov eax, dword [esi]
push eax
push ecx
call fcn.0042d410
mov ecx, dword [esp + 0x10]
cmp edx, dword [ecx + 0x1c]
jb 0x461da8
ja 0x461d6f
cmp eax, dword [ecx + 0x18]
jb 0x461da8
cmp edx, dword [ecx + 0x24]
ja 0x461da8
jb 0x461d7f
cmp eax, dword [ecx + 0x20]
ja 0x461da8
cmp edi, ebx
jne 0x461d9d
mov edx, dword [esp + 0x2c]
push edx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov eax, dword [esi]
mov dword [edi], eax
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x461d40
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
mov edi, edi
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x469cdd
mov eax, dword [esi]
push eax
push ecx
call fcn.0042d410
mov ecx, dword [esp + 0x10]
cmp edx, dword [ecx + 0x1c]
jb 0x461e03
ja 0x461df3
cmp eax, dword [ecx + 0x18]
jb 0x461e03
cmp edx, dword [ecx + 0x24]
jb 0x461e28
ja 0x461e03
cmp eax, dword [ecx + 0x20]
jbe 0x461e28
cmp edi, ebx
jne 0x461e1d
mov edx, dword [esp + 0x2c]
push edx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov eax, dword [esi]
mov dword [edi], eax
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x461dc0
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
mov edi, edi
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x469cdd
mov eax, dword [esi]
push eax
push ecx
call fcn.0042d440
mov ecx, dword [esp + 0x10]
cmp edx, dword [ecx + 0x1c]
jb 0x461ea4
ja 0x461e6f
cmp eax, dword [ecx + 0x18]
jb 0x461ea4
cmp edx, dword [ecx + 0x24]
ja 0x461ea4
jb 0x461e7f
cmp eax, dword [ecx + 0x20]
ja 0x461ea4
cmp edi, ebx
jne 0x461e99
mov edx, dword [esp + 0x2c]
push edx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov eax, dword [esi]
mov dword [edi], eax
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x461e40
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea ebx, [ebx]
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x469cdd
mov eax, dword [esi]
push eax
push ecx
call fcn.0042d440
mov ecx, dword [esp + 0x10]
cmp edx, dword [ecx + 0x1c]
jb 0x461eff
ja 0x461eef
cmp eax, dword [ecx + 0x18]
jb 0x461eff
cmp edx, dword [ecx + 0x24]
jb 0x461f24
ja 0x461eff
cmp eax, dword [ecx + 0x20]
jbe 0x461f24
cmp edi, ebx
jne 0x461f19
mov edx, dword [esp + 0x2c]
push edx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov eax, dword [esi]
mov dword [edi], eax
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x461ec0
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea ebx, [ebx]
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x2e4]
test eax, eax
jne 0x469cdd
cmp edi, ebx
jne 0x461f70
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edx, dword [esp + 0x30]
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov eax, dword [esi]
mov dword [edi], eax
add edi, 4
add esi, 4
cmp esi, edx
mov dword [esp + 0x28], edi
jne 0x461f40
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
nop
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x469cdd
mov eax, dword [esi]
mov edx, dword [ecx]
push eax
push edx
call fcn.00431100
mov ebx, eax
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x20]
push ecx
add eax, 0x24
push eax
push ebx
call fcn.00403620
mov edx, dword [esp + 0x18]
push eax
mov eax, dword [edx + 0x14]
push ebx
call eax
test eax, eax
je 0x461ff7
cmp edi, dword [esp + 0x20]
jne 0x461fec
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edi, eax
lea edx, [edi + 0xff0]
mov dword [esp + 0x20], edx
mov eax, dword [esi]
mov dword [edi], eax
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x461f90
mov ebx, dword [esp + 0x20]
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x469cdd
mov eax, dword [esi]
mov edx, dword [ecx]
push eax
push edx
call fcn.00431100
mov ebx, eax
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x20]
push ecx
add eax, 0x24
push eax
push ebx
call fcn.00403620
mov edx, dword [esp + 0x18]
push eax
mov eax, dword [edx + 0x14]
push ebx
call eax
test eax, eax
jne 0x462078
cmp edi, dword [esp + 0x20]
jne 0x46206d
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edi, eax
lea edx, [edi + 0xff0]
mov dword [esp + 0x20], edx
mov eax, dword [esi]
mov dword [edi], eax
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x462011
mov ebx, dword [esp + 0x20]
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x469cdd
mov dword [esp + 0x258], edx
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x4620ba
mov eax, dword [eax - 4]
jmp 0x4620bd
movzx eax, cl
mov edx, dword [esp + 0x10]
push 0x80
mov dword [esp + 0x260], eax
mov ecx, dword [esi]
lea eax, [esp + 0x25c]
push eax
push 0xa
add ecx, 5
push ecx
add edx, 0x14
push edx
call fcn.00543c20
test eax, eax
jne 0x46210f
cmp edi, ebx
jne 0x462104
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x462092
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea esp, [esp]
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov ecx, dword [esi]
push ecx
lea edx, [esp + 0x74]
push edx
call fcn.004240c0
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0x78]
push 0x80
lea ecx, [esp + 0x3ec]
push ecx
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x18]
push 0xa
push edx
add eax, 0x14
push eax
mov dword [esp + 0x3fc], 0
call fcn.00543c20
test eax, eax
jne 0x4621af
cmp edi, ebx
jne 0x4621a4
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov edx, dword [esi]
mov dword [edi], edx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x462130
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea esp, [esp]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x469cdd
mov dword [esp + 0x1b8], ecx
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x4621f8
mov eax, dword [eax - 4]
jmp 0x4621fb
movzx eax, cl
mov ecx, dword [esp + 0x10]
push 0x80
mov dword [esp + 0x1c0], eax
mov eax, dword [esi]
lea edx, [esp + 0x1bc]
push edx
push 0xa
add eax, 5
push eax
add ecx, 0x14
push ecx
call fcn.00543c20
test eax, eax
je 0x46224d
cmp edi, ebx
jne 0x462242
mov edx, dword [esp + 0x2c]
push edx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov eax, dword [esi]
mov dword [edi], eax
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x4621d0
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
jmp 0x462270
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x469cdd
mov eax, dword [esi]
push eax
lea ecx, [esp + 0x74]
push ecx
call fcn.004240c0
mov edx, dword [esp + 0x70]
mov ecx, dword [esp + 0x78]
push 0x80
lea eax, [esp + 0x39c]
push eax
mov dword [esp + 0x3a4], edx
mov edx, dword [esp + 0x18]
push 0xa
push ecx
add edx, 0x14
push edx
mov dword [esp + 0x3ac], 0
call fcn.00543c20
test eax, eax
je 0x4622ef
cmp edi, ebx
jne 0x4622e4
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x462270
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea esp, [esp]
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esi]
push ecx
add eax, 0x1c
push eax
push edx
call fcn.00430a40
test eax, eax
je 0x46235f
cmp edi, ebx
jne 0x462354
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x462310
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
jmp 0x462380
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esi]
push ecx
add eax, 0x1c
push eax
push edx
call fcn.00430a40
test eax, eax
jne 0x4623cf
cmp edi, ebx
jne 0x4623c4
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x462380
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
jmp 0x4623f0
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esi]
push ecx
add eax, 0x1c
push eax
push edx
call fcn.00430b40
test eax, eax
je 0x46243f
cmp edi, ebx
jne 0x462434
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x4623f0
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
jmp 0x462460
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esi]
push ecx
add eax, 0x1c
push eax
push edx
call fcn.00430b40
test eax, eax
jne 0x4624af
cmp edi, ebx
jne 0x4624a4
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x462460
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
jmp 0x4624d0
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esi]
push ecx
add eax, 0x1c
push eax
push edx
call fcn.00430ae0
test eax, eax
je 0x46251f
cmp edi, ebx
jne 0x462514
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x4624d0
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
jmp 0x462540
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esi]
push ecx
add eax, 0x1c
push eax
push edx
call fcn.00430ae0
test eax, eax
jne 0x46258f
cmp edi, ebx
jne 0x462584
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x462540
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
jmp 0x4625b0
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 0x14]
mov eax, dword [esi]
push edx
push eax
call fcn.00430be0
test eax, eax
je 0x4625ff
cmp edi, ebx
jne 0x4625f4
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov edx, dword [esi]
mov dword [edi], edx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x4625b0
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
jmp 0x462620
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x469cdd
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x14]
mov ecx, dword [esi]
push eax
push ecx
call fcn.00430be0
test eax, eax
jne 0x46266f
cmp edi, ebx
jne 0x462664
mov edx, dword [esp + 0x2c]
push edx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov eax, dword [esi]
mov dword [edi], eax
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x462620
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
jmp 0x462690
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x469cdd
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esi]
push ecx
push edx
call fcn.00430bb0
test eax, eax
je 0x4626db
cmp edi, ebx
jne 0x4626d0
mov eax, dword [esp + 0x2c]
push eax
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x462690
jmp case.0x45563b.1
cmp esi, edx
je case.0x45563b.1
lea ebx, [ebx]
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x469cdd
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 0x14]
mov eax, dword [esi]
push edx
push eax
call fcn.00430bb0
test eax, eax
jne 0x46273b
cmp edi, ebx
jne 0x462730
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
mov edi, eax
lea ebx, [edi + 0xff0]
mov dword [esp + 0x20], ebx
mov edx, dword [esi]
mov dword [edi], edx
add edi, 4
mov dword [esp + 0x28], edi
add esi, 4
cmp esi, dword [esp + 0x30]
jne 0x4626f0
mov eax, 1
add dword [esp + 0x68], eax
sub dword [esp + 0x180], eax
jne 0x455604
jmp 0x469cdd
cmp dword [esp + 0x180], ebx
je 0x469cdd
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x24]
mov edx, dword [ecx]
mov eax, dword [esp + 0x68]
mov eax, dword [edx + eax*4]
mov ecx, dword [eax + 8]
mov esi, dword [eax + 0xc]
lea edx, [ecx + eax]
lea ecx, [ecx + esi*4]
add ecx, eax
cmp edx, ecx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x30], ecx
je 0x469cc7
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x469cdd
mov eax, ecx
mov edi, dword [eax + 0xac]
mov dword [esp + 0x10], edi
jmp 0x4627c0
mov eax, dword [edi + 0xc]
cmp eax, 0x183
ja case.0x4627ce.1
jmp dword [eax*4 + 0x46a318]
mov ecx, dword [esp + 0x1c]
mov ecx, dword [ecx]
mov al, byte [ecx + 4]
cmp al, 0xff
jne 0x4627ee
mov ebx, dword [ecx - 4]
jmp 0x4627f1
movzx ebx, al
mov edx, dword [edi + 0x14]
add ecx, 5
cmp edx, ebx
lea eax, [edi + 0x18]
jg case.0x4627ce.1
lea esi, [ecx + ebx]
sub ecx, eax
mov dword [esp + 0x4c], esi
lea esi, [eax + edx]
mov dword [esp + 0x44], esi
mov esi, ecx
sub ecx, edx
add ecx, ebx
mov dword [esp + 0x64], ecx
lea edx, [eax + 3]
mov dword [esp + 0x54], edx
lea ecx, [eax + 2]
lea edx, [eax + 4]
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x5c], edx
mov edx, dword [esp + 0x4c]
sub ecx, eax
sub edx, eax
mov dword [esp + 0x34], esi
mov dword [esp + 0x58], ecx
mov dword [esp + 0x4c], edx
lea esp, [esp]
mov eax, dword [esp + 0x54]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x10], esi
lea esi, [edi + 0x18]
mov dword [esp + 0x18], eax
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x14], edx
jmp 0x462880
cmp esi, dword [esp + 0x44]
jae case.0x4627ce.0
mov ecx, dword [esp + 0x10]
mov al, byte [esi + ecx]
mov bl, byte [esi]
mov edx, dword [0x58b5d0]
movzx ecx, al
cmp byte [ecx + edx], bl
jne 0x4628be
mov eax, 1
add dword [esp + 0x18], eax
add dword [esp + 0x40], eax
add dword [esp + 0x38], eax
sub dword [esp + 0x14], eax
add esi, eax
sub dword [esp + 0x3c], eax
jmp 0x462880
test al, al
jns 0x462ae6
mov edx, dword [esp + 0x14]
sub edx, dword [esp + 0x10]
cmp edx, 2
mov dword [esp + 0x48], edx
jl 0x462909
mov dl, al
and dl, 0xe0
cmp dl, 0xc0
jne 0x462905
mov eax, dword [esp + 0x10]
movzx edx, byte [esi + eax + 1]
and ecx, 0x1f
and edx, 0x3f
shl ecx, 6
or edx, ecx
push edx
call fcn.00409960
add dword [esp + 0x10], 1
jmp 0x462995
mov edx, dword [esp + 0x48]
cmp edx, 3
jl 0x46294a
mov dl, al
and dl, 0xf0
cmp dl, 0xe0
jne 0x462946
mov eax, dword [esp + 0x10]
movzx edx, byte [esi + eax + 1]
movzx eax, byte [esi + eax + 2]
and edx, 0x3f
and ecx, 0xf
shl ecx, 6
or edx, ecx
shl edx, 6
and eax, 0x3f
or edx, eax
push edx
call fcn.00409960
add dword [esp + 0x10], 2
jmp 0x462995
mov edx, dword [esp + 0x48]
cmp edx, 4
jl 0x462993
and al, 0xf8
cmp al, 0xf0
jne 0x462993
mov eax, dword [esp + 0x10]
movzx edx, byte [esi + eax + 1]
and edx, 0x3f
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + eax + 2]
movzx eax, byte [esi + eax + 3]
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
and eax, 0x3f
or edx, eax
push edx
call fcn.00409960
add dword [esp + 0x10], 3
jmp 0x462995
xor eax, eax
test bl, bl
mov ecx, 1
jns 0x462aae
mov ecx, dword [esp + 0x44]
cmp dword [esp + 0x40], ecx
ja 0x4629ea
mov dl, bl
and dl, 0xe0
cmp dl, 0xc0
jne 0x4629ea
movzx ecx, byte [esi + 1]
and ebx, 0x1f
and ecx, 0x3f
shl ebx, 6
or ebx, ecx
mov ecx, 2
add dword [esp + 0x18], ecx
add dword [esp + 0x40], ecx
add dword [esp + 0x38], ecx
sub dword [esp + 0x14], ecx
sub dword [esp + 0x3c], ecx
add esi, ecx
sub dword [esp + 0x10], 1
jmp 0x462ac7
cmp dword [esp + 0x38], ecx
ja 0x462a41
mov dl, bl
and dl, 0xf0
cmp dl, 0xe0
jne 0x462a41
movzx ecx, byte [esi + 1]
add dword [esp + 0x18], 3
and ebx, 0xf
shl ebx, 6
and ecx, 0x3f
or ebx, ecx
mov ecx, dword [esp + 0x40]
movzx edx, byte [ecx]
and edx, 0x3f
shl ebx, 6
or ebx, edx
mov edx, 3
add dword [esp + 0x38], edx
sub dword [esp + 0x14], edx
sub dword [esp + 0x3c], edx
add ecx, edx
add esi, 3
sub dword [esp + 0x10], 2
mov dword [esp + 0x40], ecx
jmp 0x462ac7
cmp dword [esp + 0x18], ecx
ja 0x462aa4
mov cl, bl
and cl, 0xf8
cmp cl, 0xf0
jne 0x462aa4
movzx edx, byte [esi + 1]
mov ecx, dword [esp + 0x40]
add dword [esp + 0x18], 4
and ebx, 7
and edx, 0x3f
shl ebx, 6
or ebx, edx
movzx edx, byte [ecx]
and edx, 0x3f
shl ebx, 6
or ebx, edx
mov edx, dword [esp + 0x38]
movzx edx, byte [edx]
and edx, 0x3f
shl ebx, 6
or ebx, edx
mov edx, 4
add dword [esp + 0x38], edx
sub dword [esp + 0x14], edx
sub dword [esp + 0x3c], edx
add ecx, edx
add esi, 4
sub dword [esp + 0x10], 3
mov dword [esp + 0x40], ecx
jmp 0x462ac7
xor ebx, ebx
lea ecx, [ebx + 1]
jmp 0x462ab1
movzx ebx, bl
add dword [esp + 0x18], ecx
add dword [esp + 0x40], ecx
add dword [esp + 0x38], ecx
sub dword [esp + 0x14], ecx
add esi, ecx
sub dword [esp + 0x3c], ecx
cmp eax, ebx
jne 0x462ae6
mov eax, dword [esp + 0x14]
sub eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x3c]
jge 0x462880
jmp case.0x4627ce.1
mov ecx, dword [esp + 0x34]
cmp ecx, dword [esp + 0x64]
je case.0x4627ce.1
add dword [esp + 0x34], 1
mov esi, dword [esp + 0x34]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x4c]
jmp 0x462850
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x462b24
mov ecx, dword [eax - 4]
jmp 0x462b27
movzx ecx, cl
mov edx, dword [edi + 0x14]
test edx, edx
mov dword [esp + 0x4c], edx
je case.0x4627ce.0
lea edx, [eax + 5]
mov dword [esp + 0x44], edx
mov esi, ecx
mov dword [esp + 0x34], ecx
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], edx
lea esi, [edi + 0x18]
mov dword [esp + 0x18], eax
cmp dword [esp + 0x14], 0
je case.0x4627ce.1
mov ecx, dword [esp + 0x10]
mov cl, byte [ecx]
mov bl, byte [esi]
mov edx, dword [0x58b5d0]
movzx eax, cl
cmp byte [eax + edx], bl
jne 0x462b95
mov edx, dword [esp + 0x18]
mov eax, 1
add dword [esp + 0x10], eax
sub dword [esp + 0x14], eax
add esi, eax
sub edx, eax
mov dword [esp + 0x18], edx
jmp 0x462d2b
test cl, cl
jns 0x462dbf
cmp dword [esp + 0x14], 2
jl 0x462bd1
mov dl, cl
and dl, 0xe0
cmp dl, 0xc0
jne 0x462bd1
mov ecx, dword [esp + 0x10]
movzx edx, byte [ecx + 1]
and eax, 0x1f
and edx, 0x3f
shl eax, 6
or edx, eax
push edx
call fcn.00409960
mov ecx, 2
jmp 0x462c5f
cmp dword [esp + 0x14], 3
jl 0x462c0e
mov dl, cl
and dl, 0xf0
cmp dl, 0xe0
jne 0x462c0e
mov ecx, dword [esp + 0x10]
movzx edx, byte [ecx + 1]
and eax, 0xf
and edx, 0x3f
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
push edx
call fcn.00409960
mov ecx, 3
jmp 0x462c5f
cmp dword [esp + 0x14], 4
jl 0x462c58
and cl, 0xf8
cmp cl, 0xf0
jne 0x462c58
mov ecx, dword [esp + 0x10]
movzx edx, byte [ecx + 1]
and edx, 0x3f
and eax, 7
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
movzx ecx, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
shl edx, 6
and ecx, 0x3f
or edx, ecx
push edx
call fcn.00409960
mov ecx, 4
jmp 0x462c5f
xor eax, eax
mov ecx, 1
add dword [esp + 0x10], ecx
sub dword [esp + 0x14], ecx
test bl, bl
mov edx, dword [esp + 0x18]
jns 0x462d16
cmp edx, 2
jl 0x462c9c
mov cl, bl
and cl, 0xe0
cmp cl, 0xc0
jne 0x462c9c
movzx ecx, byte [esi + 1]
and ebx, 0x1f
and ecx, 0x3f
shl ebx, 6
or ecx, ebx
add esi, 2
sub edx, 2
jmp 0x462d1f
cmp edx, 3
jl 0x462cce
mov cl, bl
and cl, 0xf0
cmp cl, 0xe0
jne 0x462cce
movzx ecx, byte [esi + 1]
and ebx, 0xf
and ecx, 0x3f
shl ebx, 6
or ecx, ebx
movzx ebx, byte [esi + 2]
shl ecx, 6
and ebx, 0x3f
or ecx, ebx
add esi, 3
sub edx, 3
jmp 0x462d1f
cmp edx, 4
jl 0x462d0f
mov cl, bl
and cl, 0xf8
cmp cl, 0xf0
jne 0x462d0f
movzx ecx, byte [esi + 1]
and ebx, 7
and ecx, 0x3f
shl ebx, 6
or ecx, ebx
movzx ebx, byte [esi + 2]
shl ecx, 6
and ebx, 0x3f
or ecx, ebx
movzx ebx, byte [esi + 3]
shl ecx, 6
and ebx, 0x3f
or ecx, ebx
add esi, 4
sub edx, 4
jmp 0x462d1f
xor ecx, ecx
jmp 0x462d19
movzx ecx, bl
add esi, 1
sub edx, 1
cmp eax, ecx
mov dword [esp + 0x18], edx
jne 0x462dbf
test edx, edx
jne 0x462b56
mov al, byte [esi - 1]
cmp al, 0x61
jb 0x462d42
cmp al, 0x7a
jbe 0x462d72
cmp al, 0x41
jb 0x462d52
cmp al, 0x5a
jbe 0x462d72
cmp al, 0x30
jb 0x462d62
cmp al, 0x39
jbe 0x462d72
cmp al, 0x5f
je 0x462d72
test al, al
jns case.0x4627ce.0
cmp dword [esp + 0x14], 0
je case.0x4627ce.0
mov edx, dword [esp + 0x10]
mov al, byte [edx]
cmp al, 0x61
jb 0x462d8f
cmp al, 0x7a
jbe 0x462dbf
cmp al, 0x41
jb 0x462d9f
cmp al, 0x5a
jbe 0x462dbf
cmp al, 0x30
jb 0x462daf
cmp al, 0x39
jbe 0x462dbf
cmp al, 0x5f
je 0x462dbf
test al, al
jns case.0x4627ce.0
mov cl, byte [edi + 0x18]
mov edx, dword [esp + 0x44]
mov esi, dword [esp + 0x34]
lea ebx, [ebx]
add edx, 1
sub esi, 1
cmp cl, 0x61
mov dword [esp + 0x44], edx
mov dword [esp + 0x34], esi
jb 0x462dec
cmp cl, 0x7a
jbe 0x462e21
cmp cl, 0x41
jb 0x462dfe
cmp cl, 0x5a
jbe 0x462e21
cmp cl, 0x30
jb 0x462e10
cmp cl, 0x39
jbe 0x462e21
cmp cl, 0x5f
je 0x462e21
test cl, cl
jns 0x462b43
test esi, esi
je 0x462b43
mov al, byte [edx - 1]
cmp al, 0x61
jb 0x462e38
cmp al, 0x7a
jbe 0x462dd0
cmp al, 0x41
jb 0x462e44
cmp al, 0x5a
jbe 0x462dd0
cmp al, 0x30
jb 0x462e50
cmp al, 0x39
jbe 0x462dd0
cmp al, 0x5f
je 0x462dd0
test al, al
js 0x462dd0
jmp 0x462b43
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
mov al, byte [ecx + 4]
cmp al, 0xff
jne 0x462e7e
mov ebx, dword [ecx - 4]
jmp 0x462e81
movzx ebx, al
mov edx, dword [edi + 0x14]
add ecx, 5
cmp edx, ebx
lea eax, [edi + 0x18]
jg case.0x4627ce.1
lea esi, [ecx + ebx]
sub ecx, eax
mov dword [esp + 0x4c], esi
lea esi, [eax + edx]
mov dword [esp + 0x44], esi
mov esi, ecx
sub ecx, edx
add ecx, ebx
mov dword [esp + 0x64], ecx
lea ecx, [eax + 3]
mov dword [esp + 0x54], ecx
lea ecx, [eax + 4]
lea edx, [eax + 2]
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x60], edx
mov edx, dword [esp + 0x4c]
sub ecx, eax
sub edx, eax
mov dword [esp + 0x34], esi
mov dword [esp + 0x58], ecx
mov dword [esp + 0x4c], edx
lea esp, [esp]
mov eax, dword [esp + 0x54]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x10], esi
lea esi, [edi + 0x18]
mov dword [esp + 0x18], eax
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x14], edx
jmp 0x462f10
cmp esi, dword [esp + 0x44]
jae case.0x4627ce.0
mov ecx, dword [esp + 0x10]
mov al, byte [esi + ecx]
mov bl, byte [esi]
mov edx, dword [0x58b5d4]
movzx ecx, al
cmp byte [ecx + edx], bl
jne 0x462f4e
mov eax, 1
add dword [esp + 0x18], eax
add dword [esp + 0x40], eax
add dword [esp + 0x38], eax
sub dword [esp + 0x14], eax
add esi, eax
sub dword [esp + 0x3c], eax
jmp 0x462f10
test al, al
jns 0x463176
mov edx, dword [esp + 0x14]
sub edx, dword [esp + 0x10]
cmp edx, 2
mov dword [esp + 0x48], edx
jl 0x462f99
mov dl, al
and dl, 0xe0
cmp dl, 0xc0
jne 0x462f95
mov eax, dword [esp + 0x10]
movzx edx, byte [esi + eax + 1]
and ecx, 0x1f
and edx, 0x3f
shl ecx, 6
or edx, ecx
push edx
call fcn.00421a20
add dword [esp + 0x10], 1
jmp 0x463025
mov edx, dword [esp + 0x48]
cmp edx, 3
jl 0x462fda
mov dl, al
and dl, 0xf0
cmp dl, 0xe0
jne 0x462fd6
mov eax, dword [esp + 0x10]
movzx edx, byte [esi + eax + 1]
movzx eax, byte [esi + eax + 2]
and edx, 0x3f
and ecx, 0xf
shl ecx, 6
or edx, ecx
shl edx, 6
and eax, 0x3f
or edx, eax
push edx
call fcn.00421a20
add dword [esp + 0x10], 2
jmp 0x463025
mov edx, dword [esp + 0x48]
cmp edx, 4
jl 0x463023
and al, 0xf8
cmp al, 0xf0
jne 0x463023
mov eax, dword [esp + 0x10]
movzx edx, byte [esi + eax + 1]
and edx, 0x3f
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi + eax + 2]
movzx eax, byte [esi + eax + 3]
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
and eax, 0x3f
or edx, eax
push edx
call fcn.00421a20
add dword [esp + 0x10], 3
jmp 0x463025
xor eax, eax
test bl, bl
mov edx, 1
jns 0x46313e
mov ecx, dword [esp + 0x44]
cmp dword [esp + 0x40], ecx
ja 0x46307a
mov dl, bl
and dl, 0xe0
cmp dl, 0xc0
jne 0x46307a
movzx ecx, byte [esi + 1]
mov edx, 2
add dword [esp + 0x18], edx
add dword [esp + 0x40], edx
add dword [esp + 0x38], edx
sub dword [esp + 0x14], edx
sub dword [esp + 0x3c], edx
and ebx, 0x1f
and ecx, 0x3f
shl ebx, 6
or ecx, ebx
add esi, edx
sub dword [esp + 0x10], 1
jmp 0x463157
cmp dword [esp + 0x38], ecx
ja 0x4630d1
mov dl, bl
and dl, 0xf0
cmp dl, 0xe0
jne 0x4630d1
movzx ecx, byte [esi + 1]
mov edx, dword [esp + 0x40]
add dword [esp + 0x18], 3
and ebx, 0xf
shl ebx, 6
and ecx, 0x3f
or ecx, ebx
movzx ebx, byte [edx]
and ebx, 0x3f
shl ecx, 6
or ecx, ebx
mov ebx, 3
add dword [esp + 0x38], ebx
sub dword [esp + 0x14], ebx
sub dword [esp + 0x3c], ebx
add edx, ebx
add esi, 3
sub dword [esp + 0x10], 2
mov dword [esp + 0x40], edx
jmp 0x463157
cmp dword [esp + 0x18], ecx
ja 0x463134
mov cl, bl
and cl, 0xf8
cmp cl, 0xf0
jne 0x463134
movzx ecx, byte [esi + 1]
mov edx, dword [esp + 0x40]
add dword [esp + 0x18], 4
and ebx, 7
shl ebx, 6
and ecx, 0x3f
or ecx, ebx
movzx ebx, byte [edx]
and ebx, 0x3f
shl ecx, 6
or ecx, ebx
mov ebx, dword [esp + 0x38]
movzx ebx, byte [ebx]
and ebx, 0x3f
shl ecx, 6
or ecx, ebx
mov ebx, 4
add dword [esp + 0x38], ebx
sub dword [esp + 0x14], ebx
sub dword [esp + 0x3c], ebx
add edx, ebx
add esi, 4
sub dword [esp + 0x10], 3
mov dword [esp + 0x40], edx
jmp 0x463157
xor ecx, ecx
lea edx, [ecx + 1]
jmp 0x463141
movzx ecx, bl
add dword [esp + 0x18], edx
add dword [esp + 0x40], edx
add dword [esp + 0x38], edx
sub dword [esp + 0x14], edx
add esi, edx
sub dword [esp + 0x3c], edx
cmp eax, ecx
jne 0x463176
mov edx, dword [esp + 0x14]
sub edx, dword [esp + 0x10]
cmp edx, dword [esp + 0x3c]
jge 0x462f10
jmp case.0x4627ce.1
mov eax, dword [esp + 0x34]
cmp eax, dword [esp + 0x64]
je case.0x4627ce.1
add dword [esp + 0x34], 1
mov esi, dword [esp + 0x34]
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x58]
jmp 0x462ee0
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x4631b4
mov ecx, dword [eax - 4]
jmp 0x4631b7
movzx ecx, cl
mov edx, dword [edi + 0x14]
test edx, edx
mov dword [esp + 0x4c], edx
je case.0x4627ce.0
lea edx, [eax + 5]
mov dword [esp + 0x44], edx
mov esi, ecx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x14], esi
lea esi, [edi + 0x18]
mov dword [esp + 0x18], edx
cmp dword [esp + 0x14], 0
je case.0x4627ce.1
mov eax, dword [esp + 0x10]
mov cl, byte [eax]
mov bl, byte [esi]
mov edx, dword [0x58b5d4]
movzx eax, cl
cmp byte [eax + edx], bl
jne 0x463225
mov edx, dword [esp + 0x18]
mov eax, 1
add dword [esp + 0x10], eax
sub dword [esp + 0x14], eax
add esi, eax
sub edx, eax
mov dword [esp + 0x18], edx
jmp 0x4633bb
test cl, cl
jns 0x46344f
cmp dword [esp + 0x14], 2
jl 0x463261
mov dl, cl
and dl, 0xe0
cmp dl, 0xc0
jne 0x463261
mov ecx, dword [esp + 0x10]
movzx edx, byte [ecx + 1]
and eax, 0x1f
and edx, 0x3f
shl eax, 6
or edx, eax
push edx
call fcn.00421a20
mov ecx, 2
jmp 0x4632ef
cmp dword [esp + 0x14], 3
jl 0x46329e
mov dl, cl
and dl, 0xf0
cmp dl, 0xe0
jne 0x46329e
mov ecx, dword [esp + 0x10]
movzx edx, byte [ecx + 1]
and eax, 0xf
and edx, 0x3f
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
push edx
call fcn.00421a20
mov ecx, 3
jmp 0x4632ef
cmp dword [esp + 0x14], 4
jl 0x4632e8
and cl, 0xf8
cmp cl, 0xf0
jne 0x4632e8
mov ecx, dword [esp + 0x10]
movzx edx, byte [ecx + 1]
and edx, 0x3f
and eax, 7
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
movzx ecx, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
shl edx, 6
and ecx, 0x3f
or edx, ecx
push edx
call fcn.00421a20
mov ecx, 4
jmp 0x4632ef
xor eax, eax
mov ecx, 1
add dword [esp + 0x10], ecx
sub dword [esp + 0x14], ecx
test bl, bl
mov edx, dword [esp + 0x18]
jns 0x4633a6
cmp edx, 2
jl 0x46332c
mov cl, bl
and cl, 0xe0
cmp cl, 0xc0
jne 0x46332c
movzx ecx, byte [esi + 1]
and ebx, 0x1f
and ecx, 0x3f
shl ebx, 6
or ecx, ebx
add esi, 2
sub edx, 2
jmp 0x4633af
cmp edx, 3
jl 0x46335e
mov cl, bl
and cl, 0xf0
cmp cl, 0xe0
jne 0x46335e
movzx ecx, byte [esi + 1]
and ebx, 0xf
and ecx, 0x3f
shl ebx, 6
or ecx, ebx
movzx ebx, byte [esi + 2]
shl ecx, 6
and ebx, 0x3f
or ecx, ebx
add esi, 3
sub edx, 3
jmp 0x4633af
cmp edx, 4
jl 0x46339f
mov cl, bl
and cl, 0xf8
cmp cl, 0xf0
jne 0x46339f
movzx ecx, byte [esi + 1]
and ebx, 7
and ecx, 0x3f
shl ebx, 6
or ecx, ebx
movzx ebx, byte [esi + 2]
shl ecx, 6
and ebx, 0x3f
or ecx, ebx
movzx ebx, byte [esi + 3]
shl ecx, 6
and ebx, 0x3f
or ecx, ebx
add esi, 4
sub edx, 4
jmp 0x4633af
xor ecx, ecx
jmp 0x4633a9
movzx ecx, bl
add esi, 1
sub edx, 1
cmp eax, ecx
mov dword [esp + 0x18], edx
jne 0x46344f
test edx, edx
jne 0x4631e6
mov al, byte [esi - 1]
cmp al, 0x61
jb 0x4633d2
cmp al, 0x7a
jbe 0x463402
cmp al, 0x41
jb 0x4633e2
cmp al, 0x5a
jbe 0x463402
cmp al, 0x30
jb 0x4633f2
cmp al, 0x39
jbe 0x463402
cmp al, 0x5f
je 0x463402
test al, al
jns case.0x4627ce.0
cmp dword [esp + 0x14], 0
je case.0x4627ce.0
mov edx, dword [esp + 0x10]
mov al, byte [edx]
cmp al, 0x61
jb 0x46341f
cmp al, 0x7a
jbe 0x46344f
cmp al, 0x41
jb 0x46342f
cmp al, 0x5a
jbe 0x46344f
cmp al, 0x30
jb 0x46343f
cmp al, 0x39
jbe 0x46344f
cmp al, 0x5f
je 0x46344f
test al, al
jns case.0x4627ce.0
mov cl, byte [edi + 0x18]
mov edx, dword [esp + 0x44]
mov esi, dword [esp + 0x34]
lea ebx, [ebx]
add edx, 1
sub esi, 1
cmp cl, 0x61
mov dword [esp + 0x44], edx
mov dword [esp + 0x34], esi
jb 0x46347c
cmp cl, 0x7a
jbe 0x4634b1
cmp cl, 0x41
jb 0x46348e
cmp cl, 0x5a
jbe 0x4634b1
cmp cl, 0x30
jb 0x4634a0
cmp cl, 0x39
jbe 0x4634b1
cmp cl, 0x5f
je 0x4634b1
test cl, cl
jns 0x4631d3
test esi, esi
je 0x4631d3
mov al, byte [edx - 1]
cmp al, 0x61
jb 0x4634c8
cmp al, 0x7a
jbe 0x463460
cmp al, 0x41
jb 0x4634d4
cmp al, 0x5a
jbe 0x463460
cmp al, 0x30
jb 0x4634e0
cmp al, 0x39
jbe 0x463460
cmp al, 0x5f
je 0x463460
test al, al
js 0x463460
jmp 0x4631d3
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
push ecx
lea edx, [esp + 0x74]
push edx
call fcn.00424170
mov esi, dword [edi + 0x14]
mov ebx, dword [esp + 0x70]
cmp esi, ebx
lea eax, [edi + 0x18]
jg case.0x4627ce.1
mov ecx, dword [esp + 0x78]
lea edx, [ecx + ebx]
mov dword [esp + 0x4c], edx
lea edx, [eax + esi]
mov dword [esp + 0x44], edx
sub ecx, eax
mov edx, ecx
sub edx, esi
add edx, ebx
mov ebx, dword [esp + 0x4c]
mov dword [esp + 0x64], edx
lea edx, [eax + 3]
mov dword [esp + 0x54], edx
lea edx, [eax + 2]
mov dword [esp + 0x60], edx
lea edx, [eax + 4]
mov dword [esp + 0x5c], edx
mov edx, dword [esp + 0x44]
sub edx, eax
sub ebx, eax
mov dword [esp + 0x48], ecx
mov dword [esp + 0x58], edx
mov dword [esp + 0x4c], ebx
mov eax, dword [esp + 0x54]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x5c]
lea esi, [edi + 0x18]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], eax
mov dword [esp + 0x3c], edx
mov dword [esp + 0x38], ebx
lea ebx, [ebx]
cmp esi, dword [esp + 0x44]
jae case.0x4627ce.0
mov ecx, dword [esp + 0x10]
mov cl, byte [ecx + esi]
mov bl, byte [esi]
mov edx, dword [0x58b5d0]
movzx eax, cl
cmp byte [eax + edx], bl
jne 0x4635ce
mov eax, 1
add dword [esp + 0x18], eax
add dword [esp + 0x14], eax
add dword [esp + 0x40], eax
sub dword [esp + 0x38], eax
add esi, eax
sub dword [esp + 0x3c], eax
jmp 0x463590
test cl, cl
jns 0x46380e
mov edx, dword [esp + 0x38]
sub edx, dword [esp + 0x10]
cmp edx, 2
mov dword [esp + 0x34], edx
jl 0x46361d
mov dl, cl
and dl, 0xe0
cmp dl, 0xc0
jne 0x463619
mov ecx, dword [esp + 0x10]
movzx edx, byte [ecx + esi + 1]
and eax, 0x1f
and edx, 0x3f
shl eax, 6
or edx, eax
push edx
call fcn.00409960
add dword [esp + 0x10], 1
mov dword [esp + 0x34], eax
jmp 0x4636b9
mov edx, dword [esp + 0x34]
cmp edx, 3
jl 0x463662
mov dl, cl
and dl, 0xf0
cmp dl, 0xe0
jne 0x46365e
mov ecx, dword [esp + 0x10]
movzx edx, byte [ecx + esi + 1]
and eax, 0xf
and edx, 0x3f
shl eax, 6
or edx, eax
movzx eax, byte [ecx + esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
push edx
call fcn.00409960
add dword [esp + 0x10], 2
mov dword [esp + 0x34], eax
jmp 0x4636b9
mov edx, dword [esp + 0x34]
cmp edx, 4
jl 0x4636b1
and cl, 0xf8
cmp cl, 0xf0
jne 0x4636b1
mov ecx, dword [esp + 0x10]
movzx edx, byte [ecx + esi + 1]
and edx, 0x3f
and eax, 7
shl eax, 6
or edx, eax
movzx eax, byte [ecx + esi + 2]
movzx ecx, byte [ecx + esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
shl edx, 6
and ecx, 0x3f
or edx, ecx
push edx
call fcn.00409960
add dword [esp + 0x10], 3
mov dword [esp + 0x34], eax
jmp 0x4636b9
mov dword [esp + 0x34], 0
test bl, bl
jns 0x4637cf
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x44]
cmp ecx, eax
ja 0x46370d
mov dl, bl
and dl, 0xe0
cmp dl, 0xc0
jne 0x46370d
movzx eax, byte [esi + 1]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, 2
add dword [esp + 0x18], eax
add dword [esp + 0x40], eax
sub dword [esp + 0x38], eax
sub dword [esp + 0x3c], eax
add ecx, eax
add esi, eax
sub dword [esp + 0x10], 1
mov dword [esp + 0x14], ecx
jmp 0x4637ed
cmp dword [esp + 0x40], eax
ja 0x46375e
mov dl, bl
and dl, 0xf0
cmp dl, 0xe0
jne 0x46375e
movzx eax, byte [esi + 1]
movzx edx, byte [ecx]
and ebx, 0xf
shl ebx, 6
and eax, 0x3f
or ebx, eax
mov eax, 3
add dword [esp + 0x18], eax
add dword [esp + 0x40], eax
sub dword [esp + 0x38], eax
sub dword [esp + 0x3c], eax
shl ebx, 6
and edx, 0x3f
add ecx, eax
or ebx, edx
add esi, eax
sub dword [esp + 0x10], 2
mov dword [esp + 0x14], ecx
jmp 0x4637ed
cmp dword [esp + 0x18], eax
ja 0x4637bd
mov al, bl
and al, 0xf8
cmp al, 0xf0
jne 0x4637bd
movzx edx, byte [esi + 1]
movzx eax, byte [ecx]
add dword [esp + 0x18], 4
and ebx, 7
shl ebx, 6
and edx, 0x3f
or ebx, edx
shl ebx, 6
and eax, 0x3f
or ebx, eax
mov eax, dword [esp + 0x40]
movzx edx, byte [eax]
and edx, 0x3f
shl ebx, 6
or ebx, edx
mov edx, 4
sub dword [esp + 0x38], edx
sub dword [esp + 0x3c], edx
add ecx, edx
add eax, edx
add esi, 4
sub dword [esp + 0x10], 3
mov dword [esp + 0x14], ecx
mov dword [esp + 0x40], eax
jmp 0x4637ed
mov eax, 1
xor ebx, ebx
add ecx, eax
mov dword [esp + 0x14], ecx
jmp 0x4637db
mov eax, 1
add dword [esp + 0x14], eax
movzx ebx, bl
add dword [esp + 0x18], eax
add dword [esp + 0x40], eax
sub dword [esp + 0x38], eax
add esi, eax
sub dword [esp + 0x3c], eax
cmp dword [esp + 0x34], ebx
jne 0x46380e
mov eax, dword [esp + 0x38]
sub eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x3c]
jge 0x463590
jmp case.0x4627ce.1
mov ecx, dword [esp + 0x64]
cmp dword [esp + 0x48], ecx
je case.0x4627ce.1
add dword [esp + 0x48], 1
mov edx, dword [esp + 0x58]
mov ecx, dword [esp + 0x48]
mov ebx, dword [esp + 0x4c]
jmp 0x463563
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
push eax
lea ecx, [esp + 0x74]
push ecx
call fcn.00424170
mov eax, dword [edi + 0x14]
test eax, eax
mov dword [esp + 0x4c], eax
je case.0x4627ce.0
mov edx, dword [esp + 0x78]
mov eax, dword [esp + 0x70]
mov dword [esp + 0x48], edx
mov dword [esp + 0x34], eax
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
lea esi, [edi + 0x18]
mov dword [esp + 0x18], eax
lea ecx, [ecx]
cmp dword [esp + 0x14], 0
je case.0x4627ce.1
mov ecx, dword [esp + 0x10]
mov cl, byte [ecx]
mov bl, byte [esi]
mov edx, dword [0x58b5d0]
movzx eax, cl
cmp byte [eax + edx], bl
jne 0x4638bf
mov ecx, dword [esp + 0x18]
mov eax, 1
add dword [esp + 0x10], eax
sub dword [esp + 0x14], eax
add esi, eax
sub ecx, eax
mov dword [esp + 0x18], ecx
jmp 0x463a55
test cl, cl
jns 0x463ae9
cmp dword [esp + 0x14], 2
jl 0x4638fb
mov dl, cl
and dl, 0xe0
cmp dl, 0xc0
jne 0x4638fb
mov ecx, dword [esp + 0x10]
movzx edx, byte [ecx + 1]
and eax, 0x1f
and edx, 0x3f
shl eax, 6
or edx, eax
push edx
call fcn.00409960
mov ecx, 2
jmp 0x463989
cmp dword [esp + 0x14], 3
jl 0x463938
mov dl, cl
and dl, 0xf0
cmp dl, 0xe0
jne 0x463938
mov ecx, dword [esp + 0x10]
movzx edx, byte [ecx + 1]
and eax, 0xf
and edx, 0x3f
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
push edx
call fcn.00409960
mov ecx, 3
jmp 0x463989
cmp dword [esp + 0x14], 4
jl 0x463982
and cl, 0xf8
cmp cl, 0xf0
jne 0x463982
mov ecx, dword [esp + 0x10]
movzx edx, byte [ecx + 1]
and edx, 0x3f
and eax, 7
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
movzx ecx, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
shl edx, 6
and ecx, 0x3f
or edx, ecx
push edx
call fcn.00409960
mov ecx, 4
jmp 0x463989
xor eax, eax
mov ecx, 1
add dword [esp + 0x10], ecx
sub dword [esp + 0x14], ecx
test bl, bl
mov ecx, dword [esp + 0x18]
jns 0x463a40
cmp ecx, 2
jl 0x4639c6
mov dl, bl
and dl, 0xe0
cmp dl, 0xc0
jne 0x4639c6
movzx edx, byte [esi + 1]
and ebx, 0x1f
shl ebx, 6
and edx, 0x3f
or ebx, edx
add esi, 2
sub ecx, 2
jmp 0x463a49
cmp ecx, 3
jl 0x4639f8
mov dl, bl
and dl, 0xf0
cmp dl, 0xe0
jne 0x4639f8
movzx edx, byte [esi + 1]
and ebx, 0xf
shl ebx, 6
and edx, 0x3f
or ebx, edx
movzx edx, byte [esi + 2]
shl ebx, 6
and edx, 0x3f
or ebx, edx
add esi, 3
sub ecx, 3
jmp 0x463a49
cmp ecx, 4
jl 0x463a39
mov dl, bl
and dl, 0xf8
cmp dl, 0xf0
jne 0x463a39
movzx edx, byte [esi + 1]
and ebx, 7
shl ebx, 6
and edx, 0x3f
or ebx, edx
movzx edx, byte [esi + 2]
shl ebx, 6
and edx, 0x3f
or ebx, edx
movzx edx, byte [esi + 3]
shl ebx, 6
and edx, 0x3f
or ebx, edx
add esi, 4
sub ecx, 4
jmp 0x463a49
xor ebx, ebx
jmp 0x463a43
movzx ebx, bl
add esi, 1
sub ecx, 1
cmp eax, ebx
mov dword [esp + 0x18], ecx
jne 0x463ae9
test ecx, ecx
jne 0x463880
mov al, byte [esi - 1]
cmp al, 0x61
jb 0x463a6c
cmp al, 0x7a
jbe 0x463a9c
cmp al, 0x41
jb 0x463a7c
cmp al, 0x5a
jbe 0x463a9c
cmp al, 0x30
jb 0x463a8c
cmp al, 0x39
jbe 0x463a9c
cmp al, 0x5f
je 0x463a9c
test al, al
jns case.0x4627ce.0
cmp dword [esp + 0x14], 0
je case.0x4627ce.0
mov eax, dword [esp + 0x10]
mov al, byte [eax]
cmp al, 0x61
jb 0x463ab9
cmp al, 0x7a
jbe 0x463ae9
cmp al, 0x41
jb 0x463ac9
cmp al, 0x5a
jbe 0x463ae9
cmp al, 0x30
jb 0x463ad9
cmp al, 0x39
jbe 0x463ae9
cmp al, 0x5f
je 0x463ae9
test al, al
jns case.0x4627ce.0
mov cl, byte [edi + 0x18]
mov eax, 1
add dword [esp + 0x48], eax
sub dword [esp + 0x34], eax
cmp cl, 0x61
jb 0x463b07
cmp cl, 0x7a
jbe 0x463b3c
cmp cl, 0x41
jb 0x463b19
cmp cl, 0x5a
jbe 0x463b3c
cmp cl, 0x30
jb 0x463b2b
cmp cl, 0x39
jbe 0x463b3c
cmp cl, 0x5f
je 0x463b3c
test cl, cl
jns 0x463862
cmp dword [esp + 0x34], 0
je 0x463862
mov edx, dword [esp + 0x48]
mov al, byte [edx - 1]
cmp al, 0x61
jb 0x463b5a
cmp al, 0x7a
jbe 0x463aec
cmp al, 0x41
jb 0x463b66
cmp al, 0x5a
jbe 0x463aec
cmp al, 0x30
jb 0x463b76
cmp al, 0x39
jbe 0x463aec
cmp al, 0x5f
je 0x463aec
test al, al
jns 0x463862
jmp 0x463aec
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
push ecx
lea edx, [esp + 0x74]
push edx
call fcn.00424170
mov edx, dword [edi + 0x14]
mov esi, dword [esp + 0x70]
cmp edx, esi
lea eax, [edi + 0x18]
jg 0x463e62
mov ecx, dword [esp + 0x78]
lea edi, [ecx + esi]
sub ecx, eax
mov dword [esp + 0x34], ecx
sub ecx, edx
add ecx, esi
lea ebx, [eax + edx]
mov dword [esp + 0x58], ecx
lea ecx, [eax + 3]
mov dword [esp + 0x48], ebx
sub ebx, eax
mov dword [esp + 0x4c], ecx
lea edx, [eax + 2]
lea ecx, [eax + 4]
sub edi, eax
mov dword [esp + 0x54], edx
mov dword [esp + 0x60], ecx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x64], edi
jmp 0x463bf0
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x54]
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x60]
mov edi, dword [esp + 0x34]
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x64]
add esi, 0x18
mov dword [esp + 0x18], ecx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x14], eax
cmp esi, dword [esp + 0x48]
jae 0x463e8c
mov cl, byte [esi + edi]
mov bl, byte [esi]
mov edx, dword [0x58b5d4]
movzx eax, cl
cmp byte [eax + edx], bl
jne 0x463c5d
mov eax, 1
add dword [esp + 0x18], eax
add dword [esp + 0x40], eax
add dword [esp + 0x38], eax
sub dword [esp + 0x14], eax
add esi, eax
sub dword [esp + 0x3c], eax
jmp 0x463c23
test cl, cl
jns 0x463e78
mov edx, dword [esp + 0x14]
sub edx, edi
cmp edx, 2
mov dword [esp + 0x44], edx
jl 0x463ca0
mov dl, cl
and dl, 0xe0
cmp dl, 0xc0
jne 0x463c9c
movzx ecx, byte [esi + edi + 1]
and eax, 0x1f
and ecx, 0x3f
shl eax, 6
or ecx, eax
push ecx
call fcn.00421a20
add edi, 1
jmp 0x463d22
mov edx, dword [esp + 0x44]
cmp edx, 3
jl 0x463cdb
mov dl, cl
and dl, 0xf0
cmp dl, 0xe0
jne 0x463cd7
movzx ecx, byte [esi + edi + 1]
movzx edx, byte [esi + edi + 2]
and ecx, 0x3f
and eax, 0xf
shl eax, 6
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
push ecx
call fcn.00421a20
add edi, 2
jmp 0x463d22
mov edx, dword [esp + 0x44]
cmp edx, 4
jl 0x463d20
and cl, 0xf8
cmp cl, 0xf0
jne 0x463d20
movzx ecx, byte [esi + edi + 1]
movzx edx, byte [esi + edi + 2]
and ecx, 0x3f
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [esi + edi + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
push ecx
call fcn.00421a20
add edi, 3
jmp 0x463d22
xor eax, eax
test bl, bl
mov ecx, 1
jns 0x463e35
mov ecx, dword [esp + 0x48]
cmp dword [esp + 0x40], ecx
ja 0x463d75
mov dl, bl
and dl, 0xe0
cmp dl, 0xc0
jne 0x463d75
movzx ecx, byte [esi + 1]
and ebx, 0x1f
and ecx, 0x3f
shl ebx, 6
or ebx, ecx
mov ecx, 2
add dword [esp + 0x18], ecx
add dword [esp + 0x40], ecx
add dword [esp + 0x38], ecx
sub dword [esp + 0x14], ecx
sub dword [esp + 0x3c], ecx
add esi, ecx
sub edi, 1
jmp 0x463e4e
cmp dword [esp + 0x38], ecx
ja 0x463dca
mov dl, bl
and dl, 0xf0
cmp dl, 0xe0
jne 0x463dca
movzx ecx, byte [esi + 1]
add dword [esp + 0x18], 3
and ebx, 0xf
shl ebx, 6
and ecx, 0x3f
or ebx, ecx
mov ecx, dword [esp + 0x40]
movzx edx, byte [ecx]
and edx, 0x3f
shl ebx, 6
or ebx, edx
mov edx, 3
add dword [esp + 0x38], edx
sub dword [esp + 0x14], edx
sub dword [esp + 0x3c], edx
add ecx, edx
add esi, 3
mov dword [esp + 0x40], ecx
sub edi, 2
jmp 0x463e4e
cmp dword [esp + 0x18], ecx
ja 0x463e2b
mov cl, bl
and cl, 0xf8
cmp cl, 0xf0
jne 0x463e2b
movzx edx, byte [esi + 1]
mov ecx, dword [esp + 0x40]
add dword [esp + 0x18], 4
and ebx, 7
and edx, 0x3f
shl ebx, 6
or ebx, edx
movzx edx, byte [ecx]
and edx, 0x3f
shl ebx, 6
or ebx, edx
mov edx, dword [esp + 0x38]
movzx edx, byte [edx]
and edx, 0x3f
shl ebx, 6
or ebx, edx
mov edx, 4
add dword [esp + 0x38], edx
sub dword [esp + 0x14], edx
sub dword [esp + 0x3c], edx
add ecx, edx
add esi, 4
mov dword [esp + 0x40], ecx
sub edi, 3
jmp 0x463e4e
xor ebx, ebx
lea ecx, [ebx + 1]
jmp 0x463e38
movzx ebx, bl
add dword [esp + 0x18], ecx
add dword [esp + 0x40], ecx
add dword [esp + 0x38], ecx
sub dword [esp + 0x14], ecx
add esi, ecx
sub dword [esp + 0x3c], ecx
cmp eax, ebx
jne 0x463e78
mov eax, dword [esp + 0x14]
sub eax, edi
cmp eax, dword [esp + 0x3c]
jge 0x463c23
mov eax, dword [esp + 0x10]
cmp dword [eax + 8], 0
je 0x469cb2
mov edi, dword [eax + 8]
jmp 0x4627b3
mov ecx, dword [esp + 0x34]
cmp ecx, dword [esp + 0x58]
je 0x463e62
add dword [esp + 0x34], 1
jmp 0x463bf0
mov edx, dword [esp + 0x10]
cmp dword [edx + 4], 0
je 0x469c85
mov eax, edx
mov ecx, dword [eax + 4]
mov dword [esp + 0x10], ecx
mov edi, ecx
jmp 0x4627c0
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
push eax
lea ecx, [esp + 0x74]
push ecx
call fcn.00424170
mov eax, dword [edi + 0x14]
test eax, eax
mov dword [esp + 0x4c], eax
je case.0x4627ce.0
mov edx, dword [esp + 0x78]
mov eax, dword [esp + 0x70]
mov dword [esp + 0x48], edx
mov dword [esp + 0x34], eax
lea ebx, [ebx]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
lea esi, [edi + 0x18]
mov dword [esp + 0x18], eax
jmp 0x463f00
cmp dword [esp + 0x14], 0
je case.0x4627ce.1
mov ecx, dword [esp + 0x10]
mov cl, byte [ecx]
mov bl, byte [esi]
mov edx, dword [0x58b5d4]
movzx eax, cl
cmp byte [eax + edx], bl
jne 0x463f3f
mov ecx, dword [esp + 0x18]
mov eax, 1
add dword [esp + 0x10], eax
sub dword [esp + 0x14], eax
add esi, eax
sub ecx, eax
mov dword [esp + 0x18], ecx
jmp 0x4640d2
test cl, cl
jns 0x46415e
cmp dword [esp + 0x14], 2
jl 0x463f7b
mov dl, cl
and dl, 0xe0
cmp dl, 0xc0
jne 0x463f7b
mov ecx, dword [esp + 0x10]
movzx edx, byte [ecx + 1]
and eax, 0x1f
and edx, 0x3f
shl eax, 6
or edx, eax
push edx
call fcn.00421a20
mov ecx, 2
jmp 0x464009
cmp dword [esp + 0x14], 3
jl 0x463fb8
mov dl, cl
and dl, 0xf0
cmp dl, 0xe0
jne 0x463fb8
mov ecx, dword [esp + 0x10]
movzx edx, byte [ecx + 1]
and eax, 0xf
and edx, 0x3f
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
push edx
call fcn.00421a20
mov ecx, 3
jmp 0x464009
cmp dword [esp + 0x14], 4
jl 0x464002
and cl, 0xf8
cmp cl, 0xf0
jne 0x464002
mov ecx, dword [esp + 0x10]
movzx edx, byte [ecx + 1]
and edx, 0x3f
and eax, 7
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
movzx ecx, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
shl edx, 6
and ecx, 0x3f
or edx, ecx
push edx
call fcn.00421a20
mov ecx, 4
jmp 0x464009
xor eax, eax
mov ecx, 1
add dword [esp + 0x10], ecx
sub dword [esp + 0x14], ecx
test bl, bl
mov ecx, dword [esp + 0x18]
jns 0x4640bd
cmp ecx, 2
jl 0x464046
mov dl, bl
and dl, 0xe0
cmp dl, 0xc0
jne 0x464046
movzx edx, byte [esi + 1]
and ebx, 0x1f
shl ebx, 6
and edx, 0x3f
or ebx, edx
add esi, 2
sub ecx, 2
jmp 0x4640c6
cmp ecx, 3
jl 0x464078
mov dl, bl
and dl, 0xf0
cmp dl, 0xe0
jne 0x464078
movzx edx, byte [esi + 1]
and ebx, 0xf
shl ebx, 6
and edx, 0x3f
or ebx, edx
movzx edx, byte [esi + 2]
shl ebx, 6
and edx, 0x3f
or ebx, edx
add esi, 3
sub ecx, 3
jmp 0x4640c6
cmp ecx, 4
jl 0x4640b6
mov dl, bl
and dl, 0xf8
cmp dl, 0xf0
jne 0x4640b6
movzx edx, byte [esi + 1]
and ebx, 7
shl ebx, 6
and edx, 0x3f
or ebx, edx
movzx edx, byte [esi + 2]
shl ebx, 6
and edx, 0x3f
or ebx, edx
movzx edx, byte [esi + 3]
shl ebx, 6
and edx, 0x3f
or ebx, edx
add esi, 4
sub ecx, 4
jmp 0x4640c6
xor ebx, ebx
jmp 0x4640c0
movzx ebx, bl
add esi, 1
sub ecx, 1
cmp eax, ebx
mov dword [esp + 0x18], ecx
jne 0x46415e
test ecx, ecx
jne 0x463f00
mov al, byte [esi - 1]
cmp al, 0x61
jb 0x4640e9
cmp al, 0x7a
jbe 0x464115
cmp al, 0x41
jb 0x4640f5
cmp al, 0x5a
jbe 0x464115
cmp al, 0x30
jb 0x464105
cmp al, 0x39
jbe 0x464115
cmp al, 0x5f
je 0x464115
test al, al
jns case.0x4627ce.0
cmp dword [esp + 0x14], 0
je case.0x4627ce.0
mov eax, dword [esp + 0x10]
mov al, byte [eax]
cmp al, 0x61
jb 0x464132
cmp al, 0x7a
jbe 0x46415e
cmp al, 0x41
jb 0x46413e
cmp al, 0x5a
jbe 0x46415e
cmp al, 0x30
jb 0x46414e
cmp al, 0x39
jbe 0x46415e
cmp al, 0x5f
je 0x46415e
test al, al
jns case.0x4627ce.0
mov cl, byte [edi + 0x18]
mov eax, 1
add dword [esp + 0x48], eax
sub dword [esp + 0x34], eax
cmp cl, 0x61
jb 0x46417c
cmp cl, 0x7a
jbe 0x4641ad
cmp cl, 0x41
jb 0x46418a
cmp cl, 0x5a
jbe 0x4641ad
cmp cl, 0x30
jb 0x46419c
cmp cl, 0x39
jbe 0x4641ad
cmp cl, 0x5f
je 0x4641ad
test cl, cl
jns 0x463ee0
cmp dword [esp + 0x34], 0
je 0x463ee0
mov edx, dword [esp + 0x48]
mov al, byte [edx - 1]
cmp al, 0x61
jb 0x4641cb
cmp al, 0x7a
jbe 0x464161
cmp al, 0x41
jb 0x4641d7
cmp al, 0x5a
jbe 0x464161
cmp al, 0x30
jb 0x4641e7
cmp al, 0x39
jbe 0x464161
cmp al, 0x5f
je 0x464161
test al, al
jns 0x463ee0
jmp 0x464161
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
mov al, byte [ecx + 4]
cmp al, 0xff
jne 0x464215
mov esi, dword [ecx - 4]
jmp 0x464218
movzx esi, al
mov edx, dword [edi + 0x14]
add ecx, 5
cmp edx, esi
lea eax, [edi + 0x18]
jg 0x4644d4
lea edi, [ecx + esi]
sub ecx, eax
mov dword [esp + 0x34], ecx
sub ecx, edx
add ecx, esi
lea ebx, [eax + edx]
mov dword [esp + 0x58], ecx
lea ecx, [eax + 3]
mov dword [esp + 0x48], ebx
sub ebx, eax
mov dword [esp + 0x4c], ecx
lea edx, [eax + 2]
lea ecx, [eax + 4]
sub edi, eax
mov dword [esp + 0x54], edx
mov dword [esp + 0x60], ecx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x64], edi
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x54]
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x60]
mov edi, dword [esp + 0x34]
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x64]
add esi, 0x18
mov dword [esp + 0x18], ecx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x14], eax
cmp esi, dword [esp + 0x48]
jae 0x464b2f
mov cl, byte [esi + edi]
mov bl, byte [esi]
mov edx, dword [0x58b5d0]
movzx eax, cl
cmp byte [eax + edx], bl
jne 0x4642cf
mov eax, 1
add dword [esp + 0x18], eax
add dword [esp + 0x40], eax
add dword [esp + 0x38], eax
sub dword [esp + 0x14], eax
add esi, eax
sub dword [esp + 0x3c], eax
jmp 0x464295
test cl, cl
jns 0x4644ea
mov edx, dword [esp + 0x14]
sub edx, edi
cmp edx, 2
mov dword [esp + 0x44], edx
jl 0x464312
mov dl, cl
and dl, 0xe0
cmp dl, 0xc0
jne 0x46430e
movzx ecx, byte [esi + edi + 1]
and eax, 0x1f
and ecx, 0x3f
shl eax, 6
or ecx, eax
push ecx
call fcn.00409960
add edi, 1
jmp 0x464394
mov edx, dword [esp + 0x44]
cmp edx, 3
jl 0x46434d
mov dl, cl
and dl, 0xf0
cmp dl, 0xe0
jne 0x464349
movzx ecx, byte [esi + edi + 1]
movzx edx, byte [esi + edi + 2]
and ecx, 0x3f
and eax, 0xf
shl eax, 6
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
push ecx
call fcn.00409960
add edi, 2
jmp 0x464394
mov edx, dword [esp + 0x44]
cmp edx, 4
jl 0x464392
and cl, 0xf8
cmp cl, 0xf0
jne 0x464392
movzx ecx, byte [esi + edi + 1]
movzx edx, byte [esi + edi + 2]
and ecx, 0x3f
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [esi + edi + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
push ecx
call fcn.00409960
add edi, 3
jmp 0x464394
xor eax, eax
test bl, bl
mov edx, 1
jns 0x4644a7
mov ecx, dword [esp + 0x48]
cmp dword [esp + 0x40], ecx
ja 0x4643e7
mov dl, bl
and dl, 0xe0
cmp dl, 0xc0
jne 0x4643e7
movzx ecx, byte [esi + 1]
mov edx, 2
add dword [esp + 0x18], edx
add dword [esp + 0x40], edx
add dword [esp + 0x38], edx
sub dword [esp + 0x14], edx
sub dword [esp + 0x3c], edx
and ebx, 0x1f
and ecx, 0x3f
shl ebx, 6
or ecx, ebx
add esi, edx
sub edi, 1
jmp 0x4644c0
cmp dword [esp + 0x38], ecx
ja 0x46443c
mov dl, bl
and dl, 0xf0
cmp dl, 0xe0
jne 0x46443c
movzx ecx, byte [esi + 1]
mov edx, dword [esp + 0x40]
add dword [esp + 0x18], 3
and ebx, 0xf
shl ebx, 6
and ecx, 0x3f
or ecx, ebx
movzx ebx, byte [edx]
and ebx, 0x3f
shl ecx, 6
or ecx, ebx
mov ebx, 3
add dword [esp + 0x38], ebx
sub dword [esp + 0x14], ebx
sub dword [esp + 0x3c], ebx
add edx, ebx
add esi, 3
mov dword [esp + 0x40], edx
sub edi, 2
jmp 0x4644c0
cmp dword [esp + 0x18], ecx
ja 0x46449d
mov cl, bl
and cl, 0xf8
cmp cl, 0xf0
jne 0x46449d
movzx ecx, byte [esi + 1]
mov edx, dword [esp + 0x40]
add dword [esp + 0x18], 4
and ebx, 7
shl ebx, 6
and ecx, 0x3f
or ecx, ebx
movzx ebx, byte [edx]
and ebx, 0x3f
shl ecx, 6
or ecx, ebx
mov ebx, dword [esp + 0x38]
movzx ebx, byte [ebx]
and ebx, 0x3f
shl ecx, 6
or ecx, ebx
mov ebx, 4
add dword [esp + 0x38], ebx
sub dword [esp + 0x14], ebx
sub dword [esp + 0x3c], ebx
add edx, ebx
add esi, 4
mov dword [esp + 0x40], edx
sub edi, 3
jmp 0x4644c0
xor ecx, ecx
lea edx, [ecx + 1]
jmp 0x4644aa
movzx ecx, bl
add dword [esp + 0x18], edx
add dword [esp + 0x40], edx
add dword [esp + 0x38], edx
sub dword [esp + 0x14], edx
add esi, edx
sub dword [esp + 0x3c], edx
cmp eax, ecx
jne 0x4644ea
mov edx, dword [esp + 0x14]
sub edx, edi
cmp edx, dword [esp + 0x3c]
jge 0x464295
mov eax, dword [esp + 0x10]
cmp dword [eax + 4], 0
je 0x469c85
mov edi, dword [eax + 4]
jmp 0x4627b3
mov eax, dword [esp + 0x34]
cmp eax, dword [esp + 0x58]
je 0x4644d4
add dword [esp + 0x34], 1
jmp 0x464262
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x464518
mov ecx, dword [eax - 4]
jmp 0x46451b
movzx ecx, cl
mov edx, dword [edi + 0x14]
test edx, edx
mov dword [esp + 0x4c], edx
je case.0x4627ce.1
lea edx, [eax + 5]
mov dword [esp + 0x44], edx
mov esi, ecx
mov dword [esp + 0x34], ecx
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], edx
lea esi, [edi + 0x18]
mov dword [esp + 0x18], eax
cmp dword [esp + 0x14], 0
je case.0x4627ce.0
mov ecx, dword [esp + 0x10]
mov cl, byte [ecx]
mov bl, byte [esi]
mov edx, dword [0x58b5d0]
movzx eax, cl
cmp byte [eax + edx], bl
jne 0x464589
mov edx, dword [esp + 0x18]
mov eax, 1
add dword [esp + 0x10], eax
sub dword [esp + 0x14], eax
add esi, eax
sub edx, eax
mov dword [esp + 0x18], edx
jmp 0x464719
test cl, cl
jns 0x46479d
cmp dword [esp + 0x14], 2
jl 0x4645c5
mov dl, cl
and dl, 0xe0
cmp dl, 0xc0
jne 0x4645c5
mov ecx, dword [esp + 0x10]
movzx edx, byte [ecx + 1]
and eax, 0x1f
and edx, 0x3f
shl eax, 6
or edx, eax
push edx
call fcn.00409960
mov ecx, 2
jmp 0x464650
cmp dword [esp + 0x14], 3
jl 0x464602
mov dl, cl
and dl, 0xf0
cmp dl, 0xe0
jne 0x464602
mov ecx, dword [esp + 0x10]
movzx edx, byte [ecx + 1]
and eax, 0xf
and edx, 0x3f
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
push edx
call fcn.00409960
mov ecx, 3
jmp 0x464650
cmp dword [esp + 0x14], 4
jl 0x464649
and cl, 0xf8
cmp cl, 0xf0
jne 0x464649
mov ecx, dword [esp + 0x10]
movzx edx, byte [ecx + 1]
and edx, 0x3f
and eax, 7
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
movzx ecx, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
shl edx, 6
and ecx, 0x3f
or edx, ecx
push edx
call fcn.00409960
mov ecx, 4
jmp 0x464650
xor eax, eax
mov ecx, 1
add dword [esp + 0x10], ecx
sub dword [esp + 0x14], ecx
test bl, bl
mov edx, dword [esp + 0x18]
jns 0x464704
cmp edx, 2
jl 0x46468d
mov cl, bl
and cl, 0xe0
cmp cl, 0xc0
jne 0x46468d
movzx ecx, byte [esi + 1]
and ebx, 0x1f
and ecx, 0x3f
shl ebx, 6
or ecx, ebx
add esi, 2
sub edx, 2
jmp 0x46470d
cmp edx, 3
jl 0x4646bf
mov cl, bl
and cl, 0xf0
cmp cl, 0xe0
jne 0x4646bf
movzx ecx, byte [esi + 1]
and ebx, 0xf
and ecx, 0x3f
shl ebx, 6
or ecx, ebx
movzx ebx, byte [esi + 2]
shl ecx, 6
and ebx, 0x3f
or ecx, ebx
add esi, 3
sub edx, 3
jmp 0x46470d
cmp edx, 4
jl 0x4646fd
mov cl, bl
and cl, 0xf8
cmp cl, 0xf0
jne 0x4646fd
movzx ecx, byte [esi + 1]
and ebx, 7
and ecx, 0x3f
shl ebx, 6
or ecx, ebx
movzx ebx, byte [esi + 2]
shl ecx, 6
and ebx, 0x3f
or ecx, ebx
movzx ebx, byte [esi + 3]
shl ecx, 6
and ebx, 0x3f
or ecx, ebx
add esi, 4
sub edx, 4
jmp 0x46470d
xor ecx, ecx
jmp 0x464707
movzx ecx, bl
add esi, 1
sub edx, 1
cmp eax, ecx
mov dword [esp + 0x18], edx
jne 0x46479d
test edx, edx
jne 0x46454a
mov al, byte [esi - 1]
cmp al, 0x61
jb 0x464730
cmp al, 0x7a
jbe 0x464758
cmp al, 0x41
jb 0x46473c
cmp al, 0x5a
jbe 0x464758
cmp al, 0x30
jb 0x464748
cmp al, 0x39
jbe 0x464758
cmp al, 0x5f
je 0x464758
test al, al
jns case.0x4627ce.1
cmp dword [esp + 0x14], 0
je case.0x4627ce.1
mov edx, dword [esp + 0x10]
mov al, byte [edx]
cmp al, 0x61
jb 0x464775
cmp al, 0x7a
jbe 0x46479d
cmp al, 0x41
jb 0x464781
cmp al, 0x5a
jbe 0x46479d
cmp al, 0x30
jb 0x46478d
cmp al, 0x39
jbe 0x46479d
cmp al, 0x5f
je 0x46479d
test al, al
jns case.0x4627ce.1
mov cl, byte [edi + 0x18]
mov edx, dword [esp + 0x44]
mov esi, dword [esp + 0x34]
jmp 0x4647b0
add edx, 1
sub esi, 1
cmp cl, 0x61
mov dword [esp + 0x44], edx
mov dword [esp + 0x34], esi
jb 0x4647cc
cmp cl, 0x7a
jbe 0x4647f9
cmp cl, 0x41
jb 0x4647da
cmp cl, 0x5a
jbe 0x4647f9
cmp cl, 0x30
jb 0x4647e8
cmp cl, 0x39
jbe 0x4647f9
cmp cl, 0x5f
je 0x4647f9
test cl, cl
jns 0x464537
test esi, esi
je 0x464537
mov al, byte [edx - 1]
cmp al, 0x61
jb 0x464810
cmp al, 0x7a
jbe 0x4647b0
cmp al, 0x41
jb 0x46481c
cmp al, 0x5a
jbe 0x4647b0
cmp al, 0x30
jb 0x464828
cmp al, 0x39
jbe 0x4647b0
cmp al, 0x5f
je 0x4647b0
test al, al
js 0x4647b0
jmp 0x464537
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
mov al, byte [ecx + 4]
cmp al, 0xff
jne 0x46484e
mov esi, dword [ecx - 4]
jmp 0x464851
movzx esi, al
mov edx, dword [edi + 0x14]
add ecx, 5
cmp edx, esi
lea eax, [edi + 0x18]
jg 0x4644d4
lea edi, [ecx + esi]
sub ecx, eax
mov dword [esp + 0x34], ecx
sub ecx, edx
add ecx, esi
lea ebx, [eax + edx]
mov dword [esp + 0x58], ecx
lea ecx, [eax + 3]
mov dword [esp + 0x48], ebx
sub ebx, eax
mov dword [esp + 0x4c], ecx
lea edx, [eax + 2]
lea ecx, [eax + 4]
sub edi, eax
mov dword [esp + 0x54], edx
mov dword [esp + 0x60], ecx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x64], edi
jmp 0x4648a0
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x54]
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x60]
mov edi, dword [esp + 0x34]
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x64]
add esi, 0x18
mov dword [esp + 0x18], ecx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x14], eax
cmp esi, dword [esp + 0x48]
jae 0x464b2f
mov cl, byte [esi + edi]
mov bl, byte [esi]
mov edx, dword [0x58b5d4]
movzx eax, cl
cmp byte [eax + edx], bl
jne 0x46490d
mov eax, 1
add dword [esp + 0x18], eax
add dword [esp + 0x40], eax
add dword [esp + 0x38], eax
sub dword [esp + 0x14], eax
add esi, eax
sub dword [esp + 0x3c], eax
jmp 0x4648d3
test cl, cl
jns 0x464b17
mov edx, dword [esp + 0x14]
sub edx, edi
cmp edx, 2
mov dword [esp + 0x44], edx
jl 0x464950
mov dl, cl
and dl, 0xe0
cmp dl, 0xc0
jne 0x46494c
movzx ecx, byte [esi + edi + 1]
and eax, 0x1f
and ecx, 0x3f
shl eax, 6
or ecx, eax
push ecx
call fcn.00421a20
add edi, 1
jmp 0x4649d2
mov edx, dword [esp + 0x44]
cmp edx, 3
jl 0x46498b
mov dl, cl
and dl, 0xf0
cmp dl, 0xe0
jne 0x464987
movzx ecx, byte [esi + edi + 1]
movzx edx, byte [esi + edi + 2]
and ecx, 0x3f
and eax, 0xf
shl eax, 6
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
push ecx
call fcn.00421a20
add edi, 2
jmp 0x4649d2
mov edx, dword [esp + 0x44]
cmp edx, 4
jl 0x4649d0
and cl, 0xf8
cmp cl, 0xf0
jne 0x4649d0
movzx ecx, byte [esi + edi + 1]
movzx edx, byte [esi + edi + 2]
and ecx, 0x3f
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [esi + edi + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
push ecx
call fcn.00421a20
add edi, 3
jmp 0x4649d2
xor eax, eax
test bl, bl
mov edx, 1
jns 0x464ae5
mov ecx, dword [esp + 0x48]
cmp dword [esp + 0x40], ecx
ja 0x464a25
mov dl, bl
and dl, 0xe0
cmp dl, 0xc0
jne 0x464a25
movzx ecx, byte [esi + 1]
mov edx, 2
add dword [esp + 0x18], edx
add dword [esp + 0x40], edx
add dword [esp + 0x38], edx
sub dword [esp + 0x14], edx
sub dword [esp + 0x3c], edx
and ebx, 0x1f
and ecx, 0x3f
shl ebx, 6
or ecx, ebx
add esi, edx
sub edi, 1
jmp 0x464afe
cmp dword [esp + 0x38], ecx
ja 0x464a7a
mov dl, bl
and dl, 0xf0
cmp dl, 0xe0
jne 0x464a7a
movzx ecx, byte [esi + 1]
mov edx, dword [esp + 0x40]
add dword [esp + 0x18], 3
and ebx, 0xf
shl ebx, 6
and ecx, 0x3f
or ecx, ebx
movzx ebx, byte [edx]
and ebx, 0x3f
shl ecx, 6
or ecx, ebx
mov ebx, 3
add dword [esp + 0x38], ebx
sub dword [esp + 0x14], ebx
sub dword [esp + 0x3c], ebx
add edx, ebx
add esi, 3
mov dword [esp + 0x40], edx
sub edi, 2
jmp 0x464afe
cmp dword [esp + 0x18], ecx
ja 0x464adb
mov cl, bl
and cl, 0xf8
cmp cl, 0xf0
jne 0x464adb
movzx ecx, byte [esi + 1]
mov edx, dword [esp + 0x40]
add dword [esp + 0x18], 4
and ebx, 7
shl ebx, 6
and ecx, 0x3f
or ecx, ebx
movzx ebx, byte [edx]
and ebx, 0x3f
shl ecx, 6
or ecx, ebx
mov ebx, dword [esp + 0x38]
movzx ebx, byte [ebx]
and ebx, 0x3f
shl ecx, 6
or ecx, ebx
mov ebx, 4
add dword [esp + 0x38], ebx
sub dword [esp + 0x14], ebx
sub dword [esp + 0x3c], ebx
add edx, ebx
add esi, 4
mov dword [esp + 0x40], edx
sub edi, 3
jmp 0x464afe
xor ecx, ecx
lea edx, [ecx + 1]
jmp 0x464ae8
movzx ecx, bl
add dword [esp + 0x18], edx
add dword [esp + 0x40], edx
add dword [esp + 0x38], edx
sub dword [esp + 0x14], edx
add esi, edx
sub dword [esp + 0x3c], edx
cmp eax, ecx
jne 0x464b17
mov edx, dword [esp + 0x14]
sub edx, edi
cmp edx, dword [esp + 0x3c]
jge 0x4648d3
jmp 0x4644d4
mov eax, dword [esp + 0x34]
cmp eax, dword [esp + 0x58]
je 0x4644d4
add dword [esp + 0x34], 1
jmp 0x4648a0
mov eax, dword [esp + 0x10]
cmp dword [eax + 8], 0
je 0x469cb2
mov ecx, dword [eax + 8]
mov dword [esp + 0x10], ecx
mov edi, ecx
jmp 0x4627c0
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x464b65
mov ecx, dword [eax - 4]
jmp 0x464b68
movzx ecx, cl
mov edx, dword [edi + 0x14]
test edx, edx
mov dword [esp + 0x4c], edx
je case.0x4627ce.1
lea edx, [eax + 5]
mov dword [esp + 0x44], edx
mov esi, ecx
mov dword [esp + 0x34], ecx
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], edx
lea esi, [edi + 0x18]
mov dword [esp + 0x18], eax
cmp dword [esp + 0x14], 0
je case.0x4627ce.0
mov ecx, dword [esp + 0x10]
mov cl, byte [ecx]
mov bl, byte [esi]
mov edx, dword [0x58b5d4]
movzx eax, cl
cmp byte [eax + edx], bl
jne 0x464bd6
mov edx, dword [esp + 0x18]
mov eax, 1
add dword [esp + 0x10], eax
sub dword [esp + 0x14], eax
add esi, eax
sub edx, eax
mov dword [esp + 0x18], edx
jmp 0x464d69
test cl, cl
jns 0x464df5
cmp dword [esp + 0x14], 2
jl 0x464c12
mov dl, cl
and dl, 0xe0
cmp dl, 0xc0
jne 0x464c12
mov ecx, dword [esp + 0x10]
movzx edx, byte [ecx + 1]
and eax, 0x1f
and edx, 0x3f
shl eax, 6
or edx, eax
push edx
call fcn.00421a20
mov ecx, 2
jmp 0x464ca0
cmp dword [esp + 0x14], 3
jl 0x464c4f
mov dl, cl
and dl, 0xf0
cmp dl, 0xe0
jne 0x464c4f
mov ecx, dword [esp + 0x10]
movzx edx, byte [ecx + 1]
and eax, 0xf
and edx, 0x3f
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
push edx
call fcn.00421a20
mov ecx, 3
jmp 0x464ca0
cmp dword [esp + 0x14], 4
jl 0x464c99
and cl, 0xf8
cmp cl, 0xf0
jne 0x464c99
mov ecx, dword [esp + 0x10]
movzx edx, byte [ecx + 1]
and edx, 0x3f
and eax, 7
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
movzx ecx, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
shl edx, 6
and ecx, 0x3f
or edx, ecx
push edx
call fcn.00421a20
mov ecx, 4
jmp 0x464ca0
xor eax, eax
mov ecx, 1
add dword [esp + 0x10], ecx
sub dword [esp + 0x14], ecx
test bl, bl
mov edx, dword [esp + 0x18]
jns 0x464d54
cmp edx, 2
jl 0x464cdd
mov cl, bl
and cl, 0xe0
cmp cl, 0xc0
jne 0x464cdd
movzx ecx, byte [esi + 1]
and ebx, 0x1f
and ecx, 0x3f
shl ebx, 6
or ecx, ebx
add esi, 2
sub edx, 2
jmp 0x464d5d
cmp edx, 3
jl 0x464d0f
mov cl, bl
and cl, 0xf0
cmp cl, 0xe0
jne 0x464d0f
movzx ecx, byte [esi + 1]
and ebx, 0xf
and ecx, 0x3f
shl ebx, 6
or ecx, ebx
movzx ebx, byte [esi + 2]
shl ecx, 6
and ebx, 0x3f
or ecx, ebx
add esi, 3
sub edx, 3
jmp 0x464d5d
cmp edx, 4
jl 0x464d4d
mov cl, bl
and cl, 0xf8
cmp cl, 0xf0
jne 0x464d4d
movzx ecx, byte [esi + 1]
and ebx, 7
and ecx, 0x3f
shl ebx, 6
or ecx, ebx
movzx ebx, byte [esi + 2]
shl ecx, 6
and ebx, 0x3f
or ecx, ebx
movzx ebx, byte [esi + 3]
shl ecx, 6
and ebx, 0x3f
or ecx, ebx
add esi, 4
sub edx, 4
jmp 0x464d5d
xor ecx, ecx
jmp 0x464d57
movzx ecx, bl
add esi, 1
sub edx, 1
cmp eax, ecx
mov dword [esp + 0x18], edx
jne 0x464df5
test edx, edx
jne 0x464b97
mov al, byte [esi - 1]
cmp al, 0x61
jb 0x464d80
cmp al, 0x7a
jbe 0x464dac
cmp al, 0x41
jb 0x464d8c
cmp al, 0x5a
jbe 0x464dac
cmp al, 0x30
jb 0x464d9c
cmp al, 0x39
jbe 0x464dac
cmp al, 0x5f
je 0x464dac
test al, al
jns case.0x4627ce.1
cmp dword [esp + 0x14], 0
je case.0x4627ce.1
mov edx, dword [esp + 0x10]
mov al, byte [edx]
cmp al, 0x61
jb 0x464dc9
cmp al, 0x7a
jbe 0x464df5
cmp al, 0x41
jb 0x464dd5
cmp al, 0x5a
jbe 0x464df5
cmp al, 0x30
jb 0x464de5
cmp al, 0x39
jbe 0x464df5
cmp al, 0x5f
je 0x464df5
test al, al
jns case.0x4627ce.1
mov cl, byte [edi + 0x18]
mov esi, dword [esp + 0x34]
mov edx, dword [esp + 0x44]
add edx, 1
sub esi, 1
cmp cl, 0x61
mov dword [esp + 0x44], edx
mov dword [esp + 0x34], esi
jb 0x464e1c
cmp cl, 0x7a
jbe 0x464e49
cmp cl, 0x41
jb 0x464e2a
cmp cl, 0x5a
jbe 0x464e49
cmp cl, 0x30
jb 0x464e38
cmp cl, 0x39
jbe 0x464e49
cmp cl, 0x5f
je 0x464e49
test cl, cl
jns 0x464b84
test esi, esi
je 0x464b84
mov al, byte [edx - 1]
cmp al, 0x61
jb 0x464e60
cmp al, 0x7a
jbe 0x464e00
cmp al, 0x41
jb 0x464e6c
cmp al, 0x5a
jbe 0x464e00
cmp al, 0x30
jb 0x464e78
cmp al, 0x39
jbe 0x464e00
cmp al, 0x5f
je 0x464e00
test al, al
js 0x464e00
jmp 0x464b84
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
push ecx
lea edx, [esp + 0x74]
push edx
call fcn.00424170
mov edx, dword [edi + 0x14]
mov esi, dword [esp + 0x70]
cmp edx, esi
lea eax, [edi + 0x18]
jg 0x4644d4
mov ecx, dword [esp + 0x78]
lea edi, [ecx + esi]
sub ecx, eax
mov dword [esp + 0x34], ecx
sub ecx, edx
add ecx, esi
lea ebx, [eax + edx]
mov dword [esp + 0x58], ecx
lea ecx, [eax + 3]
mov dword [esp + 0x48], ebx
sub ebx, eax
mov dword [esp + 0x4c], ecx
lea edx, [eax + 2]
lea ecx, [eax + 4]
sub edi, eax
mov dword [esp + 0x54], edx
mov dword [esp + 0x60], ecx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x64], edi
jmp 0x464ef0
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x54]
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x60]
mov edi, dword [esp + 0x34]
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x64]
add esi, 0x18
mov dword [esp + 0x18], ecx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x14], eax
cmp esi, dword [esp + 0x48]
jae 0x4657bc
mov cl, byte [esi + edi]
mov bl, byte [esi]
mov edx, dword [0x58b5d0]
movzx eax, cl
cmp byte [eax + edx], bl
jne 0x464f5d
mov eax, 1
add dword [esp + 0x18], eax
add dword [esp + 0x40], eax
add dword [esp + 0x38], eax
sub dword [esp + 0x14], eax
add esi, eax
sub dword [esp + 0x3c], eax
jmp 0x464f23
test cl, cl
jns 0x465167
mov edx, dword [esp + 0x14]
sub edx, edi
cmp edx, 2
mov dword [esp + 0x44], edx
jl 0x464fa0
mov dl, cl
and dl, 0xe0
cmp dl, 0xc0
jne 0x464f9c
movzx ecx, byte [esi + edi + 1]
and eax, 0x1f
and ecx, 0x3f
shl eax, 6
or ecx, eax
push ecx
call fcn.00409960
add edi, 1
jmp 0x465022
mov edx, dword [esp + 0x44]
cmp edx, 3
jl 0x464fdb
mov dl, cl
and dl, 0xf0
cmp dl, 0xe0
jne 0x464fd7
movzx ecx, byte [esi + edi + 1]
movzx edx, byte [esi + edi + 2]
and ecx, 0x3f
and eax, 0xf
shl eax, 6
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
push ecx
call fcn.00409960
add edi, 2
jmp 0x465022
mov edx, dword [esp + 0x44]
cmp edx, 4
jl 0x465020
and cl, 0xf8
cmp cl, 0xf0
jne 0x465020
movzx ecx, byte [esi + edi + 1]
movzx edx, byte [esi + edi + 2]
and ecx, 0x3f
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [esi + edi + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
push ecx
call fcn.00409960
add edi, 3
jmp 0x465022
xor eax, eax
test bl, bl
mov ecx, 1
jns 0x465135
mov ecx, dword [esp + 0x48]
cmp dword [esp + 0x40], ecx
ja 0x465075
mov dl, bl
and dl, 0xe0
cmp dl, 0xc0
jne 0x465075
movzx ecx, byte [esi + 1]
and ebx, 0x1f
and ecx, 0x3f
shl ebx, 6
or ebx, ecx
mov ecx, 2
add dword [esp + 0x18], ecx
add dword [esp + 0x40], ecx
add dword [esp + 0x38], ecx
sub dword [esp + 0x14], ecx
sub dword [esp + 0x3c], ecx
add esi, ecx
sub edi, 1
jmp 0x46514e
cmp dword [esp + 0x38], ecx
ja 0x4650ca
mov dl, bl
and dl, 0xf0
cmp dl, 0xe0
jne 0x4650ca
movzx ecx, byte [esi + 1]
add dword [esp + 0x18], 3
and ebx, 0xf
shl ebx, 6
and ecx, 0x3f
or ebx, ecx
mov ecx, dword [esp + 0x40]
movzx edx, byte [ecx]
and edx, 0x3f
shl ebx, 6
or ebx, edx
mov edx, 3
add dword [esp + 0x38], edx
sub dword [esp + 0x14], edx
sub dword [esp + 0x3c], edx
add ecx, edx
add esi, 3
mov dword [esp + 0x40], ecx
sub edi, 2
jmp 0x46514e
cmp dword [esp + 0x18], ecx
ja 0x46512b
mov cl, bl
and cl, 0xf8
cmp cl, 0xf0
jne 0x46512b
movzx edx, byte [esi + 1]
mov ecx, dword [esp + 0x40]
add dword [esp + 0x18], 4
and ebx, 7
and edx, 0x3f
shl ebx, 6
or ebx, edx
movzx edx, byte [ecx]
and edx, 0x3f
shl ebx, 6
or ebx, edx
mov edx, dword [esp + 0x38]
movzx edx, byte [edx]
and edx, 0x3f
shl ebx, 6
or ebx, edx
mov edx, 4
add dword [esp + 0x38], edx
sub dword [esp + 0x14], edx
sub dword [esp + 0x3c], edx
add ecx, edx
add esi, 4
mov dword [esp + 0x40], ecx
sub edi, 3
jmp 0x46514e
xor ebx, ebx
lea ecx, [ebx + 1]
jmp 0x465138
movzx ebx, bl
add dword [esp + 0x18], ecx
add dword [esp + 0x40], ecx
add dword [esp + 0x38], ecx
sub dword [esp + 0x14], ecx
add esi, ecx
sub dword [esp + 0x3c], ecx
cmp eax, ebx
jne 0x465167
mov eax, dword [esp + 0x14]
sub eax, edi
cmp eax, dword [esp + 0x3c]
jge 0x464f23
jmp 0x4644d4
mov ecx, dword [esp + 0x34]
cmp ecx, dword [esp + 0x58]
je 0x4644d4
add dword [esp + 0x34], 1
jmp 0x464ef0
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
push eax
lea ecx, [esp + 0x74]
push ecx
call fcn.00424170
mov eax, dword [edi + 0x14]
test eax, eax
mov dword [esp + 0x4c], eax
je case.0x4627ce.1
mov edx, dword [esp + 0x78]
mov eax, dword [esp + 0x70]
mov dword [esp + 0x48], edx
mov dword [esp + 0x34], eax
nop
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
lea esi, [edi + 0x18]
mov dword [esp + 0x18], eax
jmp 0x4651d0
cmp dword [esp + 0x14], 0
je case.0x4627ce.0
mov ecx, dword [esp + 0x10]
mov cl, byte [ecx]
mov bl, byte [esi]
mov edx, dword [0x58b5d0]
movzx eax, cl
cmp byte [eax + edx], bl
jne 0x46520f
mov ecx, dword [esp + 0x18]
mov eax, 1
add dword [esp + 0x10], eax
sub dword [esp + 0x14], eax
add esi, eax
sub ecx, eax
mov dword [esp + 0x18], ecx
jmp 0x4653a2
test cl, cl
jns 0x46542e
cmp dword [esp + 0x14], 2
jl 0x46524b
mov dl, cl
and dl, 0xe0
cmp dl, 0xc0
jne 0x46524b
mov ecx, dword [esp + 0x10]
movzx edx, byte [ecx + 1]
and eax, 0x1f
and edx, 0x3f
shl eax, 6
or edx, eax
push edx
call fcn.00409960
mov ecx, 2
jmp 0x4652d9
cmp dword [esp + 0x14], 3
jl 0x465288
mov dl, cl
and dl, 0xf0
cmp dl, 0xe0
jne 0x465288
mov ecx, dword [esp + 0x10]
movzx edx, byte [ecx + 1]
and eax, 0xf
and edx, 0x3f
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
push edx
call fcn.00409960
mov ecx, 3
jmp 0x4652d9
cmp dword [esp + 0x14], 4
jl 0x4652d2
and cl, 0xf8
cmp cl, 0xf0
jne 0x4652d2
mov ecx, dword [esp + 0x10]
movzx edx, byte [ecx + 1]
and edx, 0x3f
and eax, 7
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
movzx ecx, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
shl edx, 6
and ecx, 0x3f
or edx, ecx
push edx
call fcn.00409960
mov ecx, 4
jmp 0x4652d9
xor eax, eax
mov ecx, 1
add dword [esp + 0x10], ecx
sub dword [esp + 0x14], ecx
test bl, bl
mov ecx, dword [esp + 0x18]
jns 0x46538d
cmp ecx, 2
jl 0x465316
mov dl, bl
and dl, 0xe0
cmp dl, 0xc0
jne 0x465316
movzx edx, byte [esi + 1]
and ebx, 0x1f
shl ebx, 6
and edx, 0x3f
or ebx, edx
add esi, 2
sub ecx, 2
jmp 0x465396
cmp ecx, 3
jl 0x465348
mov dl, bl
and dl, 0xf0
cmp dl, 0xe0
jne 0x465348
movzx edx, byte [esi + 1]
and ebx, 0xf
shl ebx, 6
and edx, 0x3f
or ebx, edx
movzx edx, byte [esi + 2]
shl ebx, 6
and edx, 0x3f
or ebx, edx
add esi, 3
sub ecx, 3
jmp 0x465396
cmp ecx, 4
jl 0x465386
mov dl, bl
and dl, 0xf8
cmp dl, 0xf0
jne 0x465386
movzx edx, byte [esi + 1]
and ebx, 7
shl ebx, 6
and edx, 0x3f
or ebx, edx
movzx edx, byte [esi + 2]
shl ebx, 6
and edx, 0x3f
or ebx, edx
movzx edx, byte [esi + 3]
shl ebx, 6
and edx, 0x3f
or ebx, edx
add esi, 4
sub ecx, 4
jmp 0x465396
xor ebx, ebx
jmp 0x465390
movzx ebx, bl
add esi, 1
sub ecx, 1
cmp eax, ebx
mov dword [esp + 0x18], ecx
jne 0x46542e
test ecx, ecx
jne 0x4651d0
mov al, byte [esi - 1]
cmp al, 0x61
jb 0x4653b9
cmp al, 0x7a
jbe 0x4653e5
cmp al, 0x41
jb 0x4653c5
cmp al, 0x5a
jbe 0x4653e5
cmp al, 0x30
jb 0x4653d5
cmp al, 0x39
jbe 0x4653e5
cmp al, 0x5f
je 0x4653e5
test al, al
jns case.0x4627ce.1
cmp dword [esp + 0x14], 0
je case.0x4627ce.1
mov eax, dword [esp + 0x10]
mov al, byte [eax]
cmp al, 0x61
jb 0x465402
cmp al, 0x7a
jbe 0x46542e
cmp al, 0x41
jb 0x46540e
cmp al, 0x5a
jbe 0x46542e
cmp al, 0x30
jb 0x46541e
cmp al, 0x39
jbe 0x46542e
cmp al, 0x5f
je 0x46542e
test al, al
jns case.0x4627ce.1
mov cl, byte [edi + 0x18]
mov eax, 1
add dword [esp + 0x48], eax
sub dword [esp + 0x34], eax
cmp cl, 0x61
jb 0x46544c
cmp cl, 0x7a
jbe 0x465479
cmp cl, 0x41
jb 0x46545a
cmp cl, 0x5a
jbe 0x465479
cmp cl, 0x30
jb 0x465468
cmp cl, 0x39
jbe 0x465479
cmp cl, 0x5f
je 0x465479
test cl, cl
jns 0x4651b0
cmp dword [esp + 0x34], 0
je 0x4651b0
mov edx, dword [esp + 0x48]
mov al, byte [edx - 1]
cmp al, 0x61
jb 0x465497
cmp al, 0x7a
jbe 0x465431
cmp al, 0x41
jb 0x4654a3
cmp al, 0x5a
jbe 0x465431
cmp al, 0x30
jb 0x4654af
cmp al, 0x39
jbe 0x465431
cmp al, 0x5f
je 0x465431
test al, al
jns 0x4651b0
jmp 0x465431
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
push ecx
lea edx, [esp + 0x74]
push edx
call fcn.00424170
mov edx, dword [edi + 0x14]
mov esi, dword [esp + 0x70]
cmp edx, esi
lea eax, [edi + 0x18]
jg 0x4644d4
mov ecx, dword [esp + 0x78]
lea edi, [ecx + esi]
sub ecx, eax
mov dword [esp + 0x34], ecx
sub ecx, edx
add ecx, esi
lea ebx, [eax + edx]
mov dword [esp + 0x58], ecx
lea ecx, [eax + 3]
mov dword [esp + 0x48], ebx
sub ebx, eax
mov dword [esp + 0x4c], ecx
lea edx, [eax + 2]
lea ecx, [eax + 4]
sub edi, eax
mov dword [esp + 0x54], edx
mov dword [esp + 0x60], ecx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x64], edi
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x54]
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x60]
mov edi, dword [esp + 0x34]
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x64]
add esi, 0x18
mov dword [esp + 0x18], ecx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x14], eax
jmp 0x465560
cmp esi, dword [esp + 0x48]
jae 0x4657bc
mov cl, byte [esi + edi]
mov bl, byte [esi]
mov edx, dword [0x58b5d4]
movzx eax, cl
cmp byte [eax + edx], bl
jne 0x46559a
mov eax, 1
add dword [esp + 0x18], eax
add dword [esp + 0x40], eax
add dword [esp + 0x38], eax
sub dword [esp + 0x14], eax
add esi, eax
sub dword [esp + 0x3c], eax
jmp 0x465560
test cl, cl
jns 0x4657a4
mov edx, dword [esp + 0x14]
sub edx, edi
cmp edx, 2
mov dword [esp + 0x44], edx
jl 0x4655dd
mov dl, cl
and dl, 0xe0
cmp dl, 0xc0
jne 0x4655d9
movzx ecx, byte [esi + edi + 1]
and eax, 0x1f
and ecx, 0x3f
shl eax, 6
or ecx, eax
push ecx
call fcn.00421a20
add edi, 1
jmp 0x46565f
mov edx, dword [esp + 0x44]
cmp edx, 3
jl 0x465618
mov dl, cl
and dl, 0xf0
cmp dl, 0xe0
jne 0x465614
movzx ecx, byte [esi + edi + 1]
movzx edx, byte [esi + edi + 2]
and ecx, 0x3f
and eax, 0xf
shl eax, 6
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
push ecx
call fcn.00421a20
add edi, 2
jmp 0x46565f
mov edx, dword [esp + 0x44]
cmp edx, 4
jl 0x46565d
and cl, 0xf8
cmp cl, 0xf0
jne 0x46565d
movzx ecx, byte [esi + edi + 1]
movzx edx, byte [esi + edi + 2]
and ecx, 0x3f
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [esi + edi + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
push ecx
call fcn.00421a20
add edi, 3
jmp 0x46565f
xor eax, eax
test bl, bl
mov ecx, 1
jns 0x465772
mov ecx, dword [esp + 0x48]
cmp dword [esp + 0x40], ecx
ja 0x4656b2
mov dl, bl
and dl, 0xe0
cmp dl, 0xc0
jne 0x4656b2
movzx ecx, byte [esi + 1]
and ebx, 0x1f
and ecx, 0x3f
shl ebx, 6
or ebx, ecx
mov ecx, 2
add dword [esp + 0x18], ecx
add dword [esp + 0x40], ecx
add dword [esp + 0x38], ecx
sub dword [esp + 0x14], ecx
sub dword [esp + 0x3c], ecx
add esi, ecx
sub edi, 1
jmp 0x46578b
cmp dword [esp + 0x38], ecx
ja 0x465707
mov dl, bl
and dl, 0xf0
cmp dl, 0xe0
jne 0x465707
movzx ecx, byte [esi + 1]
add dword [esp + 0x18], 3
and ebx, 0xf
shl ebx, 6
and ecx, 0x3f
or ebx, ecx
mov ecx, dword [esp + 0x40]
movzx edx, byte [ecx]
and edx, 0x3f
shl ebx, 6
or ebx, edx
mov edx, 3
add dword [esp + 0x38], edx
sub dword [esp + 0x14], edx
sub dword [esp + 0x3c], edx
add ecx, edx
add esi, 3
mov dword [esp + 0x40], ecx
sub edi, 2
jmp 0x46578b
cmp dword [esp + 0x18], ecx
ja 0x465768
mov cl, bl
and cl, 0xf8
cmp cl, 0xf0
jne 0x465768
movzx edx, byte [esi + 1]
mov ecx, dword [esp + 0x40]
add dword [esp + 0x18], 4
and ebx, 7
and edx, 0x3f
shl ebx, 6
or ebx, edx
movzx edx, byte [ecx]
and edx, 0x3f
shl ebx, 6
or ebx, edx
mov edx, dword [esp + 0x38]
movzx edx, byte [edx]
and edx, 0x3f
shl ebx, 6
or ebx, edx
mov edx, 4
add dword [esp + 0x38], edx
sub dword [esp + 0x14], edx
sub dword [esp + 0x3c], edx
add ecx, edx
add esi, 4
mov dword [esp + 0x40], ecx
sub edi, 3
jmp 0x46578b
xor ebx, ebx
lea ecx, [ebx + 1]
jmp 0x465775
movzx ebx, bl
add dword [esp + 0x18], ecx
add dword [esp + 0x40], ecx
add dword [esp + 0x38], ecx
sub dword [esp + 0x14], ecx
add esi, ecx
sub dword [esp + 0x3c], ecx
cmp eax, ebx
jne 0x4657a4
mov eax, dword [esp + 0x14]
sub eax, edi
cmp eax, dword [esp + 0x3c]
jge 0x465560
jmp 0x4644d4
mov ecx, dword [esp + 0x34]
cmp ecx, dword [esp + 0x58]
je 0x4644d4
add dword [esp + 0x34], 1
jmp 0x465524
mov edx, dword [esp + 0x10]
cmp dword [edx + 8], 0
je 0x469cb2
mov eax, edx
mov ecx, dword [eax + 8]
mov dword [esp + 0x10], ecx
mov edi, ecx
jmp 0x4627c0
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
push eax
lea ecx, [esp + 0x74]
push ecx
call fcn.00424170
mov eax, dword [edi + 0x14]
test eax, eax
mov dword [esp + 0x4c], eax
je case.0x4627ce.1
mov edx, dword [esp + 0x78]
mov eax, dword [esp + 0x70]
mov dword [esp + 0x48], edx
mov dword [esp + 0x34], eax
lea ebx, [ebx]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
lea esi, [edi + 0x18]
mov dword [esp + 0x18], eax
jmp 0x465830
cmp dword [esp + 0x14], 0
je case.0x4627ce.0
mov ecx, dword [esp + 0x10]
mov cl, byte [ecx]
mov bl, byte [esi]
mov edx, dword [0x58b5d4]
movzx eax, cl
cmp byte [edx + eax], bl
jne 0x46586f
mov ecx, dword [esp + 0x18]
mov eax, 1
add dword [esp + 0x10], eax
sub dword [esp + 0x14], eax
add esi, eax
sub ecx, eax
mov dword [esp + 0x18], ecx
jmp 0x4659ff
test cl, cl
jns 0x465a83
cmp dword [esp + 0x14], 2
jl 0x4658ab
mov dl, cl
and dl, 0xe0
cmp dl, 0xc0
jne 0x4658ab
mov ecx, dword [esp + 0x10]
movzx edx, byte [ecx + 1]
and eax, 0x1f
and edx, 0x3f
shl eax, 6
or edx, eax
push edx
call fcn.00421a20
mov ecx, 2
jmp 0x465936
cmp dword [esp + 0x14], 3
jl 0x4658e8
mov dl, cl
and dl, 0xf0
cmp dl, 0xe0
jne 0x4658e8
mov ecx, dword [esp + 0x10]
movzx edx, byte [ecx + 1]
and eax, 0xf
and edx, 0x3f
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
push edx
call fcn.00421a20
mov ecx, 3
jmp 0x465936
cmp dword [esp + 0x14], 4
jl 0x46592f
and cl, 0xf8
cmp cl, 0xf0
jne 0x46592f
mov ecx, dword [esp + 0x10]
movzx edx, byte [ecx + 1]
and edx, 0x3f
and eax, 7
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
movzx ecx, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
shl edx, 6
and ecx, 0x3f
or edx, ecx
push edx
call fcn.00421a20
mov ecx, 4
jmp 0x465936
xor eax, eax
mov ecx, 1
add dword [esp + 0x10], ecx
sub dword [esp + 0x14], ecx
test bl, bl
mov ecx, dword [esp + 0x18]
jns 0x4659ea
cmp ecx, 2
jl 0x465973
mov dl, bl
and dl, 0xe0
cmp dl, 0xc0
jne 0x465973
movzx edx, byte [esi + 1]
and ebx, 0x1f
and edx, 0x3f
shl ebx, 6
or edx, ebx
add esi, 2
sub ecx, 2
jmp 0x4659f3
cmp ecx, 3
jl 0x4659a5
mov dl, bl
and dl, 0xf0
cmp dl, 0xe0
jne 0x4659a5
movzx edx, byte [esi + 1]
and ebx, 0xf
and edx, 0x3f
shl ebx, 6
or edx, ebx
movzx ebx, byte [esi + 2]
shl edx, 6
and ebx, 0x3f
or edx, ebx
add esi, 3
sub ecx, 3
jmp 0x4659f3
cmp ecx, 4
jl 0x4659e3
mov dl, bl
and dl, 0xf8
cmp dl, 0xf0
jne 0x4659e3
movzx edx, byte [esi + 1]
and ebx, 7
and edx, 0x3f
shl ebx, 6
or edx, ebx
movzx ebx, byte [esi + 2]
shl edx, 6
and ebx, 0x3f
or edx, ebx
movzx ebx, byte [esi + 3]
shl edx, 6
and ebx, 0x3f
or edx, ebx
add esi, 4
sub ecx, 4
jmp 0x4659f3
xor edx, edx
jmp 0x4659ed
movzx edx, bl
add esi, 1
sub ecx, 1
cmp eax, edx
mov dword [esp + 0x18], ecx
jne 0x465a83
test ecx, ecx
jne 0x465830
mov al, byte [esi - 1]
cmp al, 0x61
jb 0x465a16
cmp al, 0x7a
jbe 0x465a3e
cmp al, 0x41
jb 0x465a22
cmp al, 0x5a
jbe 0x465a3e
cmp al, 0x30
jb 0x465a2e
cmp al, 0x39
jbe 0x465a3e
cmp al, 0x5f
je 0x465a3e
test al, al
jns case.0x4627ce.1
cmp dword [esp + 0x14], 0
je case.0x4627ce.1
mov eax, dword [esp + 0x10]
mov al, byte [eax]
cmp al, 0x61
jb 0x465a5b
cmp al, 0x7a
jbe 0x465a83
cmp al, 0x41
jb 0x465a67
cmp al, 0x5a
jbe 0x465a83
cmp al, 0x30
jb 0x465a73
cmp al, 0x39
jbe 0x465a83
cmp al, 0x5f
je 0x465a83
test al, al
jns case.0x4627ce.1
mov cl, byte [edi + 0x18]
mov eax, 1
add dword [esp + 0x48], eax
sub dword [esp + 0x34], eax
cmp cl, 0x61
jb 0x465aa1
cmp cl, 0x7a
jbe 0x465ace
cmp cl, 0x41
jb 0x465aaf
cmp cl, 0x5a
jbe 0x465ace
cmp cl, 0x30
jb 0x465abd
cmp cl, 0x39
jbe 0x465ace
cmp cl, 0x5f
je 0x465ace
test cl, cl
jns 0x465810
cmp dword [esp + 0x34], 0
je 0x465810
mov edx, dword [esp + 0x48]
mov al, byte [edx - 1]
cmp al, 0x61
jb 0x465aec
cmp al, 0x7a
jbe 0x465a86
cmp al, 0x41
jb 0x465af8
cmp al, 0x5a
jbe 0x465a86
cmp al, 0x30
jb 0x465b04
cmp al, 0x39
jbe 0x465a86
cmp al, 0x5f
je 0x465a86
test al, al
jns 0x465810
jmp 0x465a86
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x465b33
mov ecx, dword [eax - 4]
jmp 0x465b36
movzx ecx, cl
mov edx, dword [edi + 0x14]
push edx
lea edx, [edi + 0x18]
push edx
push ecx
add eax, 5
push eax
call fcn.0041d620
jmp 0x469c51
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x465b67
mov ecx, dword [eax - 4]
jmp 0x465b6a
movzx ecx, cl
mov edx, dword [edi + 0x14]
test edx, edx
mov dword [esp + 0x4c], edx
je case.0x4627ce.0
lea edx, [eax + 5]
mov dword [esp + 0x44], edx
mov esi, ecx
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], edx
lea esi, [edi + 0x18]
mov dword [esp + 0x18], ecx
cmp dword [esp + 0x14], 0
je case.0x4627ce.1
mov edx, dword [esp + 0x10]
mov cl, byte [edx]
mov bl, byte [esi]
mov edx, dword [0x58b5d0]
movzx eax, cl
cmp byte [eax + edx], bl
jne 0x465bd8
mov edx, dword [esp + 0x18]
mov eax, 1
add dword [esp + 0x10], eax
sub dword [esp + 0x14], eax
add esi, eax
sub edx, eax
mov dword [esp + 0x18], edx
jmp 0x465d68
test cl, cl
jns 0x465dec
cmp dword [esp + 0x14], 2
jl 0x465c14
mov dl, cl
and dl, 0xe0
cmp dl, 0xc0
jne 0x465c14
mov ecx, dword [esp + 0x10]
movzx edx, byte [ecx + 1]
and eax, 0x1f
and edx, 0x3f
shl eax, 6
or edx, eax
push edx
call fcn.00409910
mov ecx, 2
jmp 0x465c9f
cmp dword [esp + 0x14], 3
jl 0x465c51
mov dl, cl
and dl, 0xf0
cmp dl, 0xe0
jne 0x465c51
mov ecx, dword [esp + 0x10]
movzx edx, byte [ecx + 1]
and eax, 0xf
and edx, 0x3f
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
push edx
call fcn.00409910
mov ecx, 3
jmp 0x465c9f
cmp dword [esp + 0x14], 4
jl 0x465c98
and cl, 0xf8
cmp cl, 0xf0
jne 0x465c98
mov ecx, dword [esp + 0x10]
movzx edx, byte [ecx + 1]
and edx, 0x3f
and eax, 7
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
movzx ecx, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
shl edx, 6
and ecx, 0x3f
or edx, ecx
push edx
call fcn.00409910
mov ecx, 4
jmp 0x465c9f
xor eax, eax
mov ecx, 1
add dword [esp + 0x10], ecx
sub dword [esp + 0x14], ecx
test bl, bl
mov edx, dword [esp + 0x18]
jns 0x465d53
cmp edx, 2
jl 0x465cdc
mov cl, bl
and cl, 0xe0
cmp cl, 0xc0
jne 0x465cdc
movzx ecx, byte [esi + 1]
and ebx, 0x1f
and ecx, 0x3f
shl ebx, 6
or ecx, ebx
add esi, 2
sub edx, 2
jmp 0x465d5c
cmp edx, 3
jl 0x465d0e
mov cl, bl
and cl, 0xf0
cmp cl, 0xe0
jne 0x465d0e
movzx ecx, byte [esi + 1]
and ebx, 0xf
and ecx, 0x3f
shl ebx, 6
or ecx, ebx
movzx ebx, byte [esi + 2]
shl ecx, 6
and ebx, 0x3f
or ecx, ebx
add esi, 3
sub edx, 3
jmp 0x465d5c
cmp edx, 4
jl 0x465d4c
mov cl, bl
and cl, 0xf8
cmp cl, 0xf0
jne 0x465d4c
movzx ecx, byte [esi + 1]
and ebx, 7
and ecx, 0x3f
shl ebx, 6
or ecx, ebx
movzx ebx, byte [esi + 2]
shl ecx, 6
and ebx, 0x3f
or ecx, ebx
movzx ebx, byte [esi + 3]
shl ecx, 6
and ebx, 0x3f
or ecx, ebx
add esi, 4
sub edx, 4
jmp 0x465d5c
xor ecx, ecx
jmp 0x465d56
movzx ecx, bl
add esi, 1
sub edx, 1
cmp eax, ecx
mov dword [esp + 0x18], edx
jne 0x465dec
test edx, edx
jne 0x465b99
mov al, byte [esi - 1]
cmp al, 0x61
jb 0x465d7f
cmp al, 0x7a
jbe 0x465da7
cmp al, 0x41
jb 0x465d8b
cmp al, 0x5a
jbe 0x465da7
cmp al, 0x30
jb 0x465d97
cmp al, 0x39
jbe 0x465da7
cmp al, 0x5f
je 0x465da7
test al, al
jns case.0x4627ce.0
cmp dword [esp + 0x14], 0
je case.0x4627ce.0
mov edx, dword [esp + 0x10]
mov al, byte [edx]
cmp al, 0x61
jb 0x465dc4
cmp al, 0x7a
jbe 0x465dec
cmp al, 0x41
jb 0x465dd0
cmp al, 0x5a
jbe 0x465dec
cmp al, 0x30
jb 0x465ddc
cmp al, 0x39
jbe 0x465dec
cmp al, 0x5f
je 0x465dec
test al, al
jns case.0x4627ce.0
mov cl, byte [edi + 0x18]
mov esi, dword [esp + 0x34]
mov edx, dword [esp + 0x44]
add edx, 1
sub esi, 1
cmp cl, 0x61
mov dword [esp + 0x44], edx
mov dword [esp + 0x34], esi
jb 0x465e13
cmp cl, 0x7a
jbe 0x465e40
cmp cl, 0x41
jb 0x465e21
cmp cl, 0x5a
jbe 0x465e40
cmp cl, 0x30
jb 0x465e2f
cmp cl, 0x39
jbe 0x465e40
cmp cl, 0x5f
je 0x465e40
test cl, cl
jns 0x465b86
test esi, esi
je 0x465b86
mov al, byte [edx - 1]
cmp al, 0x61
jb 0x465e57
cmp al, 0x7a
jbe 0x465df7
cmp al, 0x41
jb 0x465e63
cmp al, 0x5a
jbe 0x465df7
cmp al, 0x30
jb 0x465e6f
cmp al, 0x39
jbe 0x465df7
cmp al, 0x5f
je 0x465df7
test al, al
js 0x465df7
jmp 0x465b86
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x465e96
mov ecx, dword [eax - 4]
jmp 0x465e99
movzx ecx, cl
mov edx, dword [edi + 0x14]
push edx
lea edx, [edi + 0x18]
push edx
push ecx
add eax, 5
push eax
call fcn.0051dff0
jmp 0x469c51
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x465eca
mov ecx, dword [eax - 4]
jmp 0x465ecd
movzx ecx, cl
mov edx, dword [edi + 0x14]
push edx
lea edx, [edi + 0x18]
push edx
push ecx
add eax, 5
push eax
call fcn.0043f5f0
jmp 0x469c51
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
push ecx
lea edx, [esp + 0x74]
push edx
call fcn.00424170
mov eax, dword [edi + 0x14]
mov edx, dword [esp + 0x70]
push eax
mov eax, dword [esp + 0x7c]
lea ecx, [edi + 0x18]
push ecx
push edx
push eax
call fcn.0041d620
jmp 0x469c51
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
push edx
lea eax, [esp + 0x74]
push eax
call fcn.00424170
mov eax, dword [edi + 0x14]
test eax, eax
mov dword [esp + 0x4c], eax
je case.0x4627ce.0
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x70]
mov dword [esp + 0x48], ecx
mov dword [esp + 0x34], edx
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ecx
lea esi, [edi + 0x18]
mov dword [esp + 0x18], edx
lea esp, [esp]
cmp dword [esp + 0x14], 0
je case.0x4627ce.1
mov eax, dword [esp + 0x10]
mov cl, byte [eax]
mov bl, byte [esi]
mov edx, dword [0x58b5d0]
movzx eax, cl
cmp byte [eax + edx], bl
jne 0x465f9f
mov ecx, dword [esp + 0x18]
mov eax, 1
add dword [esp + 0x10], eax
sub dword [esp + 0x14], eax
add esi, eax
sub ecx, eax
mov dword [esp + 0x18], ecx
jmp 0x46612b
test cl, cl
jns 0x46618f
cmp dword [esp + 0x14], 2
jl 0x465fdb
mov dl, cl
and dl, 0xe0
cmp dl, 0xc0
jne 0x465fdb
mov ecx, dword [esp + 0x10]
movzx edx, byte [ecx + 1]
and eax, 0x1f
and edx, 0x3f
shl eax, 6
or edx, eax
push edx
call fcn.00409910
mov ecx, 2
jmp 0x466066
cmp dword [esp + 0x14], 3
jl 0x466018
mov dl, cl
and dl, 0xf0
cmp dl, 0xe0
jne 0x466018
mov ecx, dword [esp + 0x10]
movzx edx, byte [ecx + 1]
and eax, 0xf
and edx, 0x3f
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
push edx
call fcn.00409910
mov ecx, 3
jmp 0x466066
cmp dword [esp + 0x14], 4
jl 0x46605f
and cl, 0xf8
cmp cl, 0xf0
jne 0x46605f
mov ecx, dword [esp + 0x10]
movzx edx, byte [ecx + 1]
and edx, 0x3f
and eax, 7
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
movzx ecx, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
shl edx, 6
and ecx, 0x3f
or edx, ecx
push edx
call fcn.00409910
mov ecx, 4
jmp 0x466066
xor eax, eax
mov ecx, 1
add dword [esp + 0x10], ecx
sub dword [esp + 0x14], ecx
test bl, bl
mov ecx, dword [esp + 0x18]
jns 0x46611a
cmp ecx, 2
jl 0x4660a3
mov dl, bl
and dl, 0xe0
cmp dl, 0xc0
jne 0x4660a3
movzx edx, byte [esi + 1]
and ebx, 0x1f
and edx, 0x3f
shl ebx, 6
or edx, ebx
add esi, 2
sub ecx, 2
jmp 0x466123
cmp ecx, 3
jl 0x4660d5
mov dl, bl
and dl, 0xf0
cmp dl, 0xe0
jne 0x4660d5
movzx edx, byte [esi + 1]
and ebx, 0xf
and edx, 0x3f
shl ebx, 6
or edx, ebx
movzx ebx, byte [esi + 2]
shl edx, 6
and ebx, 0x3f
or edx, ebx
add esi, 3
sub ecx, 3
jmp 0x466123
cmp ecx, 4
jl 0x466113
mov dl, bl
and dl, 0xf8
cmp dl, 0xf0
jne 0x466113
movzx edx, byte [esi + 1]
and ebx, 7
and edx, 0x3f
shl ebx, 6
or edx, ebx
movzx ebx, byte [esi + 2]
shl edx, 6
and ebx, 0x3f
or edx, ebx
movzx ebx, byte [esi + 3]
shl edx, 6
and ebx, 0x3f
or edx, ebx
add esi, 4
sub ecx, 4
jmp 0x466123
xor edx, edx
jmp 0x46611d
movzx edx, bl
add esi, 1
sub ecx, 1
cmp eax, edx
mov dword [esp + 0x18], ecx
jne 0x46618f
test ecx, ecx
jne 0x465f60
mov al, byte [esi - 1]
cmp al, 0x61
jb 0x46613e
cmp al, 0x7a
jbe 0x46615a
cmp al, 0x41
jb 0x466146
cmp al, 0x5a
jbe 0x46615a
cmp al, 0x30
jb 0x46614e
cmp al, 0x39
jbe 0x46615a
cmp al, 0x5f
je 0x46615a
test al, al
jns case.0x4627ce.0
cmp dword [esp + 0x14], 0
je case.0x4627ce.0
mov eax, dword [esp + 0x10]
mov al, byte [eax]
cmp al, 0x61
jb 0x466173
cmp al, 0x7a
jbe 0x46618f
cmp al, 0x41
jb 0x46617b
cmp al, 0x5a
jbe 0x46618f
cmp al, 0x30
jb 0x466183
cmp al, 0x39
jbe 0x46618f
cmp al, 0x5f
je 0x46618f
test al, al
jns case.0x4627ce.0
mov cl, byte [edi + 0x18]
mov eax, 1
add dword [esp + 0x48], eax
sub dword [esp + 0x34], eax
cmp cl, 0x61
jb 0x4661a9
cmp cl, 0x7a
jbe 0x4661ca
cmp cl, 0x41
jb 0x4661b3
cmp cl, 0x5a
jbe 0x4661ca
cmp cl, 0x30
jb 0x4661bd
cmp cl, 0x39
jbe 0x4661ca
cmp cl, 0x5f
je 0x4661ca
test cl, cl
jns 0x465f41
cmp dword [esp + 0x34], 0
je 0x465f41
mov edx, dword [esp + 0x48]
mov al, byte [edx - 1]
cmp al, 0x61
jb 0x4661e4
cmp al, 0x7a
jbe 0x466192
cmp al, 0x41
jb 0x4661ec
cmp al, 0x5a
jbe 0x466192
cmp al, 0x30
jb 0x4661f4
cmp al, 0x39
jbe 0x466192
cmp al, 0x5f
je 0x466192
test al, al
jns 0x465f41
jmp 0x466192
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
push ecx
lea edx, [esp + 0x74]
push edx
call fcn.00424170
mov eax, dword [edi + 0x14]
mov edx, dword [esp + 0x70]
push eax
mov eax, dword [esp + 0x7c]
lea ecx, [edi + 0x18]
push ecx
push edx
push eax
call fcn.0051dff0
jmp 0x469c51
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
push edx
lea eax, [esp + 0x74]
push eax
call fcn.00424170
mov ecx, dword [edi + 0x14]
mov eax, dword [esp + 0x70]
push ecx
mov ecx, dword [esp + 0x7c]
lea edx, [edi + 0x18]
push edx
push eax
push ecx
call fcn.0043f5f0
jmp 0x469c51
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x466272
mov ecx, dword [eax - 4]
jmp 0x466275
movzx ecx, cl
mov edx, dword [edi + 0x14]
push edx
lea edx, [edi + 0x18]
push edx
push ecx
add eax, 5
push eax
call fcn.0041d620
test eax, eax
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x4662aa
mov ecx, dword [eax - 4]
jmp 0x4662ad
movzx ecx, cl
mov edx, dword [edi + 0x14]
test edx, edx
mov dword [esp + 0x4c], edx
je case.0x4627ce.1
lea edx, [eax + 5]
mov dword [esp + 0x44], edx
mov esi, ecx
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], edx
lea esi, [edi + 0x18]
mov dword [esp + 0x18], ecx
cmp dword [esp + 0x14], 0
je case.0x4627ce.0
mov edx, dword [esp + 0x10]
mov cl, byte [edx]
mov bl, byte [esi]
mov edx, dword [0x58b5d0]
movzx eax, cl
cmp byte [eax + edx], bl
jne 0x46631b
mov edx, dword [esp + 0x18]
mov eax, 1
add dword [esp + 0x10], eax
sub dword [esp + 0x14], eax
add esi, eax
sub edx, eax
mov dword [esp + 0x18], edx
jmp 0x4664a7
test cl, cl
jns 0x46650b
cmp dword [esp + 0x14], 2
jl 0x466357
mov dl, cl
and dl, 0xe0
cmp dl, 0xc0
jne 0x466357
mov ecx, dword [esp + 0x10]
movzx edx, byte [ecx + 1]
and eax, 0x1f
and edx, 0x3f
shl eax, 6
or edx, eax
push edx
call fcn.00409910
mov ecx, 2
jmp 0x4663e2
cmp dword [esp + 0x14], 3
jl 0x466394
mov dl, cl
and dl, 0xf0
cmp dl, 0xe0
jne 0x466394
mov ecx, dword [esp + 0x10]
movzx edx, byte [ecx + 1]
and eax, 0xf
and edx, 0x3f
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
push edx
call fcn.00409910
mov ecx, 3
jmp 0x4663e2
cmp dword [esp + 0x14], 4
jl 0x4663db
and cl, 0xf8
cmp cl, 0xf0
jne 0x4663db
mov ecx, dword [esp + 0x10]
movzx edx, byte [ecx + 1]
and edx, 0x3f
and eax, 7
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
movzx ecx, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
shl edx, 6
and ecx, 0x3f
or edx, ecx
push edx
call fcn.00409910
mov ecx, 4
jmp 0x4663e2
xor eax, eax
mov ecx, 1
add dword [esp + 0x10], ecx
sub dword [esp + 0x14], ecx
test bl, bl
mov edx, dword [esp + 0x18]
jns 0x466496
cmp edx, 2
jl 0x46641f
mov cl, bl
and cl, 0xe0
cmp cl, 0xc0
jne 0x46641f
movzx ecx, byte [esi + 1]
and ebx, 0x1f
and ecx, 0x3f
shl ebx, 6
or ecx, ebx
add esi, 2
sub edx, 2
jmp 0x46649f
cmp edx, 3
jl 0x466451
mov cl, bl
and cl, 0xf0
cmp cl, 0xe0
jne 0x466451
movzx ecx, byte [esi + 1]
and ebx, 0xf
and ecx, 0x3f
shl ebx, 6
or ecx, ebx
movzx ebx, byte [esi + 2]
shl ecx, 6
and ebx, 0x3f
or ecx, ebx
add esi, 3
sub edx, 3
jmp 0x46649f
cmp edx, 4
jl 0x46648f
mov cl, bl
and cl, 0xf8
cmp cl, 0xf0
jne 0x46648f
movzx ecx, byte [esi + 1]
and ebx, 7
and ecx, 0x3f
shl ebx, 6
or ecx, ebx
movzx ebx, byte [esi + 2]
shl ecx, 6
and ebx, 0x3f
or ecx, ebx
movzx ebx, byte [esi + 3]
shl ecx, 6
and ebx, 0x3f
or ecx, ebx
add esi, 4
sub edx, 4
jmp 0x46649f
xor ecx, ecx
jmp 0x466499
movzx ecx, bl
add esi, 1
sub edx, 1
cmp eax, ecx
mov dword [esp + 0x18], edx
jne 0x46650b
test edx, edx
jne 0x4662dc
mov al, byte [esi - 1]
cmp al, 0x61
jb 0x4664ba
cmp al, 0x7a
jbe 0x4664d6
cmp al, 0x41
jb 0x4664c2
cmp al, 0x5a
jbe 0x4664d6
cmp al, 0x30
jb 0x4664ca
cmp al, 0x39
jbe 0x4664d6
cmp al, 0x5f
je 0x4664d6
test al, al
jns case.0x4627ce.1
cmp dword [esp + 0x14], 0
je case.0x4627ce.1
mov edx, dword [esp + 0x10]
mov al, byte [edx]
cmp al, 0x61
jb 0x4664ef
cmp al, 0x7a
jbe 0x46650b
cmp al, 0x41
jb 0x4664f7
cmp al, 0x5a
jbe 0x46650b
cmp al, 0x30
jb 0x4664ff
cmp al, 0x39
jbe 0x46650b
cmp al, 0x5f
je 0x46650b
test al, al
jns case.0x4627ce.1
mov cl, byte [edi + 0x18]
mov esi, dword [esp + 0x34]
mov edx, dword [esp + 0x44]
add edx, 1
sub esi, 1
cmp cl, 0x61
mov dword [esp + 0x44], edx
mov dword [esp + 0x34], esi
jb 0x46652e
cmp cl, 0x7a
jbe 0x46654f
cmp cl, 0x41
jb 0x466538
cmp cl, 0x5a
jbe 0x46654f
cmp cl, 0x30
jb 0x466542
cmp cl, 0x39
jbe 0x46654f
cmp cl, 0x5f
je 0x46654f
test cl, cl
jns 0x4662c9
test esi, esi
je 0x4662c9
mov al, byte [edx - 1]
cmp al, 0x61
jb 0x466562
cmp al, 0x7a
jbe 0x466516
cmp al, 0x41
jb 0x46656a
cmp al, 0x5a
jbe 0x466516
cmp al, 0x30
jb 0x466572
cmp al, 0x39
jbe 0x466516
cmp al, 0x5f
je 0x466516
test al, al
js 0x466516
jmp 0x4662c9
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x466595
mov ecx, dword [eax - 4]
jmp 0x466598
movzx ecx, cl
mov edx, dword [edi + 0x14]
push edx
lea edx, [edi + 0x18]
push edx
push ecx
add eax, 5
push eax
call fcn.0051dff0
test eax, eax
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x4665cd
mov ecx, dword [eax - 4]
jmp 0x4665d0
movzx ecx, cl
mov edx, dword [edi + 0x14]
push edx
lea edx, [edi + 0x18]
push edx
push ecx
add eax, 5
push eax
call fcn.0043f5f0
test eax, eax
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
push ecx
lea edx, [esp + 0x74]
push edx
call fcn.00424170
mov eax, dword [edi + 0x14]
mov edx, dword [esp + 0x70]
push eax
mov eax, dword [esp + 0x7c]
lea ecx, [edi + 0x18]
push ecx
push edx
push eax
call fcn.0041d620
test eax, eax
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
push edx
lea eax, [esp + 0x74]
push eax
call fcn.00424170
mov eax, dword [edi + 0x14]
test eax, eax
mov dword [esp + 0x4c], eax
je case.0x4627ce.1
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x70]
mov dword [esp + 0x48], ecx
mov dword [esp + 0x34], edx
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ecx
lea esi, [edi + 0x18]
mov dword [esp + 0x18], edx
nop
cmp dword [esp + 0x14], 0
je case.0x4627ce.0
mov eax, dword [esp + 0x10]
mov cl, byte [eax]
mov bl, byte [esi]
mov edx, dword [0x58b5d0]
movzx eax, cl
cmp byte [eax + edx], bl
jne 0x4666af
mov ecx, dword [esp + 0x18]
mov eax, 1
add dword [esp + 0x10], eax
sub dword [esp + 0x14], eax
add esi, eax
sub ecx, eax
mov dword [esp + 0x18], ecx
jmp 0x466838
test cl, cl
jns 0x46689c
cmp dword [esp + 0x14], 2
jl 0x4666eb
mov dl, cl
and dl, 0xe0
cmp dl, 0xc0
jne 0x4666eb
mov ecx, dword [esp + 0x10]
movzx edx, byte [ecx + 1]
and eax, 0x1f
and edx, 0x3f
shl eax, 6
or edx, eax
push edx
call fcn.00409910
mov ecx, 2
jmp 0x466776
cmp dword [esp + 0x14], 3
jl 0x466728
mov dl, cl
and dl, 0xf0
cmp dl, 0xe0
jne 0x466728
mov ecx, dword [esp + 0x10]
movzx edx, byte [ecx + 1]
and eax, 0xf
and edx, 0x3f
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
push edx
call fcn.00409910
mov ecx, 3
jmp 0x466776
cmp dword [esp + 0x14], 4
jl 0x46676f
and cl, 0xf8
cmp cl, 0xf0
jne 0x46676f
mov ecx, dword [esp + 0x10]
movzx edx, byte [ecx + 1]
and edx, 0x3f
and eax, 7
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
movzx ecx, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
shl edx, 6
and ecx, 0x3f
or edx, ecx
push edx
call fcn.00409910
mov ecx, 4
jmp 0x466776
xor eax, eax
mov ecx, 1
add dword [esp + 0x10], ecx
sub dword [esp + 0x14], ecx
test bl, bl
mov ecx, dword [esp + 0x18]
jns 0x466827
cmp ecx, 2
jl 0x4667b3
mov dl, bl
and dl, 0xe0
cmp dl, 0xc0
jne 0x4667b3
movzx edx, byte [esi + 1]
and ebx, 0x1f
shl ebx, 6
and edx, 0x3f
or ebx, edx
add esi, 2
sub ecx, 2
jmp 0x466830
cmp ecx, 3
jl 0x4667e5
mov dl, bl
and dl, 0xf0
cmp dl, 0xe0
jne 0x4667e5
movzx edx, byte [esi + 1]
and ebx, 0xf
shl ebx, 6
and edx, 0x3f
or ebx, edx
movzx edx, byte [esi + 2]
shl ebx, 6
and edx, 0x3f
or ebx, edx
add esi, 3
sub ecx, 3
jmp 0x466830
cmp ecx, 4
jl 0x466823
mov dl, bl
and dl, 0xf8
cmp dl, 0xf0
jne 0x466823
movzx edx, byte [esi + 1]
and ebx, 7
shl ebx, 6
and edx, 0x3f
or ebx, edx
movzx edx, byte [esi + 2]
shl ebx, 6
and edx, 0x3f
or ebx, edx
movzx edx, byte [esi + 3]
shl ebx, 6
and edx, 0x3f
or ebx, edx
add esi, 4
sub ecx, 4
jmp 0x466830
xor ebx, ebx
jmp 0x46682a
movzx ebx, bl
add esi, 1
sub ecx, 1
cmp eax, ebx
mov dword [esp + 0x18], ecx
jne 0x46689c
test ecx, ecx
jne 0x466670
mov al, byte [esi - 1]
cmp al, 0x61
jb 0x46684b
cmp al, 0x7a
jbe 0x466867
cmp al, 0x41
jb 0x466853
cmp al, 0x5a
jbe 0x466867
cmp al, 0x30
jb 0x46685b
cmp al, 0x39
jbe 0x466867
cmp al, 0x5f
je 0x466867
test al, al
jns case.0x4627ce.1
cmp dword [esp + 0x14], 0
je case.0x4627ce.1
mov eax, dword [esp + 0x10]
mov al, byte [eax]
cmp al, 0x61
jb 0x466880
cmp al, 0x7a
jbe 0x46689c
cmp al, 0x41
jb 0x466888
cmp al, 0x5a
jbe 0x46689c
cmp al, 0x30
jb 0x466890
cmp al, 0x39
jbe 0x46689c
cmp al, 0x5f
je 0x46689c
test al, al
jns case.0x4627ce.1
mov cl, byte [edi + 0x18]
mov eax, 1
add dword [esp + 0x48], eax
sub dword [esp + 0x34], eax
cmp cl, 0x61
jb 0x4668b6
cmp cl, 0x7a
jbe 0x4668d7
cmp cl, 0x41
jb 0x4668c0
cmp cl, 0x5a
jbe 0x4668d7
cmp cl, 0x30
jb 0x4668ca
cmp cl, 0x39
jbe 0x4668d7
cmp cl, 0x5f
je 0x4668d7
test cl, cl
jns 0x466654
cmp dword [esp + 0x34], 0
je 0x466654
mov edx, dword [esp + 0x48]
mov al, byte [edx - 1]
cmp al, 0x61
jb 0x4668f1
cmp al, 0x7a
jbe 0x46689f
cmp al, 0x41
jb 0x4668f9
cmp al, 0x5a
jbe 0x46689f
cmp al, 0x30
jb 0x466901
cmp al, 0x39
jbe 0x46689f
cmp al, 0x5f
je 0x46689f
test al, al
jns 0x466654
jmp 0x46689f
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
push ecx
lea edx, [esp + 0x74]
push edx
call fcn.00424170
mov eax, dword [edi + 0x14]
mov edx, dword [esp + 0x70]
push eax
mov eax, dword [esp + 0x7c]
lea ecx, [edi + 0x18]
push ecx
push edx
push eax
call fcn.0051dff0
test eax, eax
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
push edx
lea eax, [esp + 0x74]
push eax
call fcn.00424170
mov ecx, dword [edi + 0x14]
mov eax, dword [esp + 0x70]
push ecx
mov ecx, dword [esp + 0x7c]
lea edx, [edi + 0x18]
push edx
push eax
push ecx
call fcn.0043f5f0
test eax, eax
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x46698c
mov ebx, dword [eax - 4]
jmp 0x46698f
movzx ebx, cl
mov edx, dword [edi + 0x14]
cmp edx, ebx
lea ecx, [edi + 0x18]
jg case.0x4627ce.1
sub eax, ecx
lea esi, [ecx + edx]
add eax, 5
mov dword [esp + 0x4c], esi
mov ecx, eax
mov esi, ecx
sub esi, edx
mov edx, dword [0x58b5d0]
add esi, ebx
jmp 0x4669c0
lea eax, [edi + 0x18]
cmp eax, dword [esp + 0x4c]
jae case.0x4627ce.0
movzx ebx, byte [eax + ecx]
mov bl, byte [ebx + edx]
cmp bl, byte [eax]
jne 0x4669dd
add eax, 1
jmp 0x4669c3
cmp ecx, esi
je case.0x4627ce.1
add ecx, 1
jmp 0x4669c0
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x4669fd
mov ebx, dword [eax - 4]
jmp 0x466a00
movzx ebx, cl
cmp dword [edi + 0x14], 0
je case.0x4627ce.0
lea edx, [eax + 5]
mov dword [esp + 0x34], edx
mov dword [esp + 0x48], ebx
mov esi, dword [edi + 0x14]
mov dword [esp + 0x44], edx
mov ecx, ebx
lea eax, [edi + 0x18]
sub esi, ebx
test ecx, ecx
je case.0x4627ce.1
movzx edx, byte [edx]
mov ebx, dword [0x58b5d0]
mov dl, byte [edx + ebx]
cmp dl, byte [eax]
jne 0x466aac
mov edx, dword [esp + 0x44]
sub ecx, 1
add edx, 1
lea ebx, [ecx + esi]
add eax, 1
test ebx, ebx
mov dword [esp + 0x44], edx
jne 0x466a23
mov al, byte [eax - 1]
cmp al, 0x61
jb 0x466a62
cmp al, 0x7a
jbe 0x466a7e
cmp al, 0x41
jb 0x466a6a
cmp al, 0x5a
jbe 0x466a7e
cmp al, 0x30
jb 0x466a72
cmp al, 0x39
jbe 0x466a7e
cmp al, 0x5f
je 0x466a7e
test al, al
jns case.0x4627ce.0
test ecx, ecx
je case.0x4627ce.0
mov al, byte [edx]
cmp al, 0x61
jb 0x466a90
cmp al, 0x7a
jbe 0x466aac
cmp al, 0x41
jb 0x466a98
cmp al, 0x5a
jbe 0x466aac
cmp al, 0x30
jb 0x466aa0
cmp al, 0x39
jbe 0x466aac
cmp al, 0x5f
je 0x466aac
test al, al
jns case.0x4627ce.0
mov cl, byte [edi + 0x18]
mov ebx, dword [esp + 0x48]
mov edx, dword [esp + 0x34]
add edx, 1
sub ebx, 1
cmp cl, 0x61
mov dword [esp + 0x34], edx
mov dword [esp + 0x48], ebx
jb 0x466acf
cmp cl, 0x7a
jbe 0x466af0
cmp cl, 0x41
jb 0x466ad9
cmp cl, 0x5a
jbe 0x466af0
cmp cl, 0x30
jb 0x466ae3
cmp cl, 0x39
jbe 0x466af0
cmp cl, 0x5f
je 0x466af0
test cl, cl
jns 0x466a15
test ebx, ebx
je 0x466a15
mov al, byte [edx - 1]
cmp al, 0x61
jb 0x466b03
cmp al, 0x7a
jbe 0x466ab7
cmp al, 0x41
jb 0x466b0b
cmp al, 0x5a
jbe 0x466ab7
cmp al, 0x30
jb 0x466b13
cmp al, 0x39
jbe 0x466ab7
cmp al, 0x5f
je 0x466ab7
test al, al
js 0x466ab7
jmp 0x466a15
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
push ecx
lea edx, [esp + 0x74]
push edx
call fcn.00424170
mov eax, dword [edi + 0x14]
mov edx, dword [esp + 0x70]
cmp eax, edx
mov ebx, dword [0x58b5d0]
lea esi, [edi + 0x18]
jg case.0x4627ce.1
lea ecx, [esi + eax]
mov dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0x78]
sub ecx, esi
mov esi, ecx
sub esi, eax
add esi, edx
lea esp, [esp]
lea eax, [edi + 0x18]
cmp eax, dword [esp + 0x4c]
jae case.0x4627ce.0
movzx edx, byte [eax + ecx]
mov dl, byte [edx + ebx]
cmp dl, byte [eax]
jne 0x466b7d
add eax, 1
jmp 0x466b63
cmp ecx, esi
je case.0x4627ce.1
add ecx, 1
jmp 0x466b60
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
push ecx
lea edx, [esp + 0x74]
push edx
call fcn.00424170
mov eax, dword [edi + 0x14]
test eax, eax
mov dword [esp + 0x4c], eax
je case.0x4627ce.0
mov edx, dword [esp + 0x78]
mov ebx, dword [esp + 0x70]
mov dword [esp + 0x34], edx
mov dword [esp + 0x48], ebx
mov esi, dword [esp + 0x4c]
mov dword [esp + 0x44], edx
mov ecx, ebx
lea eax, [edi + 0x18]
sub esi, ebx
test ecx, ecx
je case.0x4627ce.1
movzx edx, byte [edx]
mov ebx, dword [0x58b5d0]
mov dl, byte [edx + ebx]
cmp dl, byte [eax]
jne 0x466c52
mov edx, dword [esp + 0x44]
sub ecx, 1
add edx, 1
lea ebx, [ecx + esi]
add eax, 1
test ebx, ebx
mov dword [esp + 0x44], edx
jne 0x466bc9
mov al, byte [eax - 1]
cmp al, 0x61
jb 0x466c08
cmp al, 0x7a
jbe 0x466c24
cmp al, 0x41
jb 0x466c10
cmp al, 0x5a
jbe 0x466c24
cmp al, 0x30
jb 0x466c18
cmp al, 0x39
jbe 0x466c24
cmp al, 0x5f
je 0x466c24
test al, al
jns case.0x4627ce.0
test ecx, ecx
je case.0x4627ce.0
mov al, byte [edx]
cmp al, 0x61
jb 0x466c36
cmp al, 0x7a
jbe 0x466c52
cmp al, 0x41
jb 0x466c3e
cmp al, 0x5a
jbe 0x466c52
cmp al, 0x30
jb 0x466c46
cmp al, 0x39
jbe 0x466c52
cmp al, 0x5f
je 0x466c52
test al, al
jns case.0x4627ce.0
mov cl, byte [edi + 0x18]
mov edx, dword [esp + 0x34]
mov ebx, dword [esp + 0x48]
lea ecx, [ecx]
add edx, 1
sub ebx, 1
cmp cl, 0x61
mov dword [esp + 0x34], edx
mov dword [esp + 0x48], ebx
jb 0x466c78
cmp cl, 0x7a
jbe 0x466c99
cmp cl, 0x41
jb 0x466c82
cmp cl, 0x5a
jbe 0x466c99
cmp cl, 0x30
jb 0x466c8c
cmp cl, 0x39
jbe 0x466c99
cmp cl, 0x5f
je 0x466c99
test cl, cl
jns 0x466bba
test ebx, ebx
je 0x466bba
mov al, byte [edx - 1]
cmp al, 0x61
jb 0x466cac
cmp al, 0x7a
jbe 0x466c60
cmp al, 0x41
jb 0x466cb4
cmp al, 0x5a
jbe 0x466c60
cmp al, 0x30
jb 0x466cbc
cmp al, 0x39
jbe 0x466c60
cmp al, 0x5f
je 0x466c60
test al, al
js 0x466c60
jmp 0x466bba
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x466cdc
mov ebx, dword [eax - 4]
jmp 0x466cdf
movzx ebx, cl
mov edx, dword [edi + 0x14]
cmp edx, ebx
lea ecx, [edi + 0x18]
jg case.0x4627ce.0
sub eax, ecx
lea esi, [ecx + edx]
add eax, 5
mov dword [esp + 0x4c], esi
mov ecx, eax
mov esi, ecx
sub esi, edx
mov edx, dword [0x58b5d0]
add esi, ebx
jmp 0x466d10
lea eax, [edi + 0x18]
cmp eax, dword [esp + 0x4c]
jae case.0x4627ce.1
movzx ebx, byte [eax + ecx]
mov bl, byte [ebx + edx]
cmp bl, byte [eax]
jne 0x466d2d
add eax, 1
jmp 0x466d13
cmp ecx, esi
je case.0x4627ce.0
add ecx, 1
jmp 0x466d10
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x466d4d
mov ebx, dword [eax - 4]
jmp 0x466d50
movzx ebx, cl
cmp dword [edi + 0x14], 0
je case.0x4627ce.1
lea edx, [eax + 5]
mov dword [esp + 0x34], edx
mov dword [esp + 0x48], ebx
mov esi, dword [edi + 0x14]
mov dword [esp + 0x44], edx
mov ecx, ebx
lea eax, [edi + 0x18]
sub esi, ebx
test ecx, ecx
je case.0x4627ce.0
movzx edx, byte [edx]
mov ebx, dword [0x58b5d0]
mov dl, byte [edx + ebx]
cmp dl, byte [eax]
jne 0x466dfc
mov edx, dword [esp + 0x44]
sub ecx, 1
add edx, 1
lea ebx, [ecx + esi]
add eax, 1
test ebx, ebx
mov dword [esp + 0x44], edx
jne 0x466d73
mov al, byte [eax - 1]
cmp al, 0x61
jb 0x466db2
cmp al, 0x7a
jbe 0x466dce
cmp al, 0x41
jb 0x466dba
cmp al, 0x5a
jbe 0x466dce
cmp al, 0x30
jb 0x466dc2
cmp al, 0x39
jbe 0x466dce
cmp al, 0x5f
je 0x466dce
test al, al
jns case.0x4627ce.1
test ecx, ecx
je case.0x4627ce.1
mov al, byte [edx]
cmp al, 0x61
jb 0x466de0
cmp al, 0x7a
jbe 0x466dfc
cmp al, 0x41
jb 0x466de8
cmp al, 0x5a
jbe 0x466dfc
cmp al, 0x30
jb 0x466df0
cmp al, 0x39
jbe 0x466dfc
cmp al, 0x5f
je 0x466dfc
test al, al
jns case.0x4627ce.1
mov cl, byte [edi + 0x18]
mov edx, dword [esp + 0x34]
mov ebx, dword [esp + 0x48]
add edx, 1
sub ebx, 1
cmp cl, 0x61
mov dword [esp + 0x34], edx
mov dword [esp + 0x48], ebx
jb 0x466e1f
cmp cl, 0x7a
jbe 0x466e40
cmp cl, 0x41
jb 0x466e29
cmp cl, 0x5a
jbe 0x466e40
cmp cl, 0x30
jb 0x466e33
cmp cl, 0x39
jbe 0x466e40
cmp cl, 0x5f
je 0x466e40
test cl, cl
jns 0x466d65
test ebx, ebx
je 0x466d65
mov al, byte [edx - 1]
cmp al, 0x61
jb 0x466e53
cmp al, 0x7a
jbe 0x466e07
cmp al, 0x41
jb 0x466e5b
cmp al, 0x5a
jbe 0x466e07
cmp al, 0x30
jb 0x466e63
cmp al, 0x39
jbe 0x466e07
cmp al, 0x5f
je 0x466e07
test al, al
js 0x466e07
jmp 0x466d65
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
push ecx
lea edx, [esp + 0x74]
push edx
call fcn.00424170
mov eax, dword [edi + 0x14]
mov edx, dword [esp + 0x70]
cmp eax, edx
mov ebx, dword [0x58b5d0]
lea esi, [edi + 0x18]
jg case.0x4627ce.0
lea ecx, [esi + eax]
mov dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0x78]
sub ecx, esi
mov esi, ecx
sub esi, eax
add esi, edx
lea esp, [esp]
lea eax, [edi + 0x18]
cmp eax, dword [esp + 0x4c]
jae case.0x4627ce.1
movzx edx, byte [ecx + eax]
mov dl, byte [edx + ebx]
cmp dl, byte [eax]
jne 0x466ecd
add eax, 1
jmp 0x466eb3
cmp ecx, esi
je case.0x4627ce.0
add ecx, 1
jmp 0x466eb0
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
push ecx
lea edx, [esp + 0x74]
push edx
call fcn.00424170
mov eax, dword [edi + 0x14]
test eax, eax
mov dword [esp + 0x4c], eax
je case.0x4627ce.1
mov edx, dword [esp + 0x78]
mov ebx, dword [esp + 0x70]
mov dword [esp + 0x34], edx
mov dword [esp + 0x48], ebx
mov esi, dword [esp + 0x4c]
mov dword [esp + 0x44], edx
mov ecx, ebx
lea eax, [edi + 0x18]
sub esi, ebx
test ecx, ecx
je case.0x4627ce.0
movzx edx, byte [edx]
mov ebx, dword [0x58b5d0]
mov dl, byte [edx + ebx]
cmp dl, byte [eax]
jne 0x466fa2
mov edx, dword [esp + 0x44]
sub ecx, 1
add edx, 1
lea ebx, [esi + ecx]
add eax, 1
test ebx, ebx
mov dword [esp + 0x44], edx
jne 0x466f19
mov al, byte [eax - 1]
cmp al, 0x61
jb 0x466f58
cmp al, 0x7a
jbe 0x466f74
cmp al, 0x41
jb 0x466f60
cmp al, 0x5a
jbe 0x466f74
cmp al, 0x30
jb 0x466f68
cmp al, 0x39
jbe 0x466f74
cmp al, 0x5f
je 0x466f74
test al, al
jns case.0x4627ce.1
test ecx, ecx
je case.0x4627ce.1
mov al, byte [edx]
cmp al, 0x61
jb 0x466f86
cmp al, 0x7a
jbe 0x466fa2
cmp al, 0x41
jb 0x466f8e
cmp al, 0x5a
jbe 0x466fa2
cmp al, 0x30
jb 0x466f96
cmp al, 0x39
jbe 0x466fa2
cmp al, 0x5f
je 0x466fa2
test al, al
jns case.0x4627ce.1
mov cl, byte [edi + 0x18]
mov ebx, dword [esp + 0x48]
mov edx, dword [esp + 0x34]
lea ecx, [ecx]
add edx, 1
sub ebx, 1
cmp cl, 0x61
mov dword [esp + 0x34], edx
mov dword [esp + 0x48], ebx
jb 0x466fc8
cmp cl, 0x7a
jbe 0x466fe9
cmp cl, 0x41
jb 0x466fd2
cmp cl, 0x5a
jbe 0x466fe9
cmp cl, 0x30
jb 0x466fdc
cmp cl, 0x39
jbe 0x466fe9
cmp cl, 0x5f
je 0x466fe9
test cl, cl
jns 0x466f0a
test ebx, ebx
je 0x466f0a
mov al, byte [edx - 1]
cmp al, 0x61
jb 0x466ffc
cmp al, 0x7a
jbe 0x466fb0
cmp al, 0x41
jb 0x467004
cmp al, 0x5a
jbe 0x466fb0
cmp al, 0x30
jb 0x46700c
cmp al, 0x39
jbe 0x466fb0
cmp al, 0x5f
je 0x466fb0
test al, al
js 0x466fb0
jmp 0x466f0a
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x46702c
mov ecx, dword [eax - 4]
jmp 0x46702f
movzx ecx, cl
mov edx, dword [edi + 0x14]
push edx
lea edx, [edi + 0x18]
push edx
push ecx
add eax, 5
push eax
call fcn.00421a70
test eax, eax
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x467061
mov ecx, dword [eax - 4]
jmp 0x467064
movzx ecx, cl
mov edx, dword [edi + 0x14]
push edx
lea edx, [edi + 0x18]
push edx
push ecx
add eax, 5
push eax
call fcn.00421d10
test eax, eax
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
push ecx
lea edx, [esp + 0x74]
push edx
call fcn.00424170
mov eax, dword [edi + 0x14]
mov edx, dword [esp + 0x70]
push eax
mov eax, dword [esp + 0x7c]
lea ecx, [edi + 0x18]
push ecx
push edx
push eax
call fcn.00421a70
test eax, eax
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
push edx
lea eax, [esp + 0x74]
push eax
call fcn.00424170
mov ecx, dword [edi + 0x14]
mov eax, dword [esp + 0x70]
push ecx
mov ecx, dword [esp + 0x7c]
lea edx, [edi + 0x18]
push edx
push eax
push ecx
call fcn.00421d10
test eax, eax
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x467100
mov ecx, dword [eax - 4]
jmp 0x467103
movzx ecx, cl
mov edx, dword [edi + 0x14]
push edx
lea edx, [edi + 0x18]
push edx
push ecx
add eax, 5
push eax
call fcn.00421a70
jmp 0x469c51
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x46712d
mov ecx, dword [eax - 4]
jmp 0x467130
movzx ecx, cl
mov edx, dword [edi + 0x14]
push edx
lea edx, [edi + 0x18]
push edx
push ecx
add eax, 5
push eax
call fcn.00421d10
jmp 0x469c51
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
push ecx
lea edx, [esp + 0x74]
push edx
call fcn.00424170
mov eax, dword [edi + 0x14]
mov edx, dword [esp + 0x70]
push eax
mov eax, dword [esp + 0x7c]
lea ecx, [edi + 0x18]
push ecx
push edx
push eax
call fcn.00421a70
jmp 0x469c51
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
push edx
lea eax, [esp + 0x74]
push eax
call fcn.00424170
mov ecx, dword [edi + 0x14]
mov eax, dword [esp + 0x70]
push ecx
mov ecx, dword [esp + 0x7c]
lea edx, [edi + 0x18]
push edx
push eax
push ecx
call fcn.00421d10
jmp 0x469c51
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x4671b4
mov ecx, dword [eax - 4]
jmp 0x4671b7
movzx ecx, cl
mov edx, dword [edi + 0x14]
push edx
lea edx, [edi + 0x18]
push edx
push ecx
add eax, 5
push eax
call fcn.00413e80
test eax, eax
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x4671e9
mov ecx, dword [eax - 4]
jmp 0x4671ec
movzx ecx, cl
mov edx, dword [edi + 0x14]
cmp ecx, edx
mov dword [esp + 0x44], ecx
jge 0x4671f9
mov edx, ecx
add eax, 5
test edx, edx
lea esi, [edi + 0x18]
je 0x46721c
sub esi, eax
movzx ebx, byte [esi + eax]
movzx ecx, byte [eax]
sub ecx, ebx
jne 0x46721f
add eax, 1
sub edx, 1
jne 0x467205
mov ecx, dword [esp + 0x44]
sub ecx, dword [edi + 0x14]
test ecx, ecx
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
push edx
lea eax, [esp + 0x74]
push eax
call fcn.00424170
mov ecx, dword [edi + 0x14]
mov eax, dword [esp + 0x70]
push ecx
mov ecx, dword [esp + 0x7c]
lea edx, [edi + 0x18]
push edx
push eax
push ecx
call fcn.00413e80
test eax, eax
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
push eax
lea ecx, [esp + 0x74]
push ecx
call fcn.00424170
mov edx, dword [edi + 0x14]
mov ecx, dword [esp + 0x70]
cmp ecx, edx
mov dword [esp + 0x4c], edx
jge 0x467283
mov edx, ecx
test edx, edx
mov eax, dword [esp + 0x78]
lea esi, [edi + 0x18]
je 0x4672a7
sub esi, eax
movzx ebx, byte [esi + eax]
movzx ecx, byte [eax]
sub ecx, ebx
jne 0x4672ab
add eax, 1
sub edx, 1
jne 0x467290
mov ecx, dword [esp + 0x70]
sub ecx, dword [esp + 0x4c]
test ecx, ecx
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x4672cb
mov ecx, dword [eax - 4]
jmp 0x4672ce
movzx ecx, cl
mov edx, dword [edi + 0x14]
push edx
lea edx, [edi + 0x18]
push edx
push ecx
add eax, 5
push eax
call fcn.00413e80
jmp 0x469c51
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x4672f8
mov ecx, dword [eax - 4]
jmp 0x4672fb
movzx ecx, cl
mov edx, dword [edi + 0x14]
cmp ecx, edx
mov dword [esp + 0x44], ecx
jge 0x467308
mov edx, ecx
add eax, 5
test edx, edx
lea esi, [edi + 0x18]
je 0x46732b
sub esi, eax
movzx ebx, byte [esi + eax]
movzx ecx, byte [eax]
sub ecx, ebx
jne 0x46732e
add eax, 1
sub edx, 1
jne 0x467314
mov ecx, dword [esp + 0x44]
sub ecx, dword [edi + 0x14]
test ecx, ecx
jmp 0x469c53
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
push edx
lea eax, [esp + 0x74]
push eax
call fcn.00424170
mov ecx, dword [edi + 0x14]
mov eax, dword [esp + 0x70]
push ecx
mov ecx, dword [esp + 0x7c]
lea edx, [edi + 0x18]
push edx
push eax
push ecx
call fcn.00413e80
jmp 0x469c51
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
push eax
lea ecx, [esp + 0x74]
push ecx
call fcn.00424170
mov edx, dword [edi + 0x14]
mov ecx, dword [esp + 0x70]
cmp ecx, edx
mov dword [esp + 0x4c], edx
jge 0x467384
mov edx, ecx
test edx, edx
mov eax, dword [esp + 0x78]
lea esi, [edi + 0x18]
je 0x4673a8
sub esi, eax
movzx ebx, byte [esi + eax]
movzx ecx, byte [eax]
sub ecx, ebx
jne 0x4673ac
add eax, 1
sub edx, 1
jne 0x467391
mov ecx, dword [esp + 0x70]
sub ecx, dword [esp + 0x4c]
test ecx, ecx
jmp 0x469c53
mov edx, dword [esp + 0x1c]
mov edx, dword [edx]
mov al, byte [edx + 4]
cmp al, 0xff
jne 0x4673c5
mov ecx, dword [edx - 4]
jmp 0x4673c8
movzx ecx, al
mov esi, dword [edi + 0x14]
add edx, 5
test ecx, ecx
lea eax, [edi + 0x18]
je 0x46740e
sub edx, eax
mov dword [esp + 0x18], edx
jmp 0x4673e4
mov edx, dword [esp + 0x18]
test esi, esi
je 0x46740e
movzx edx, byte [edx + eax]
mov ebx, dword [0x58b5d0]
movzx edx, byte [edx + ebx]
movzx ebx, byte [eax]
sub edx, ebx
jne 0x467474
sub ecx, 1
add eax, 1
sub esi, 1
test ecx, ecx
jne 0x4673e0
sub ecx, esi
test ecx, ecx
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
push ecx
lea edx, [esp + 0x74]
push edx
call fcn.00424170
mov ecx, dword [esp + 0x70]
test ecx, ecx
mov esi, dword [edi + 0x14]
lea eax, [edi + 0x18]
je 0x46740e
mov edx, dword [esp + 0x78]
sub edx, eax
mov dword [esp + 0x18], edx
jmp 0x46744c
mov edx, dword [esp + 0x18]
test esi, esi
je 0x46740e
movzx edx, byte [edx + eax]
mov ebx, dword [0x58b5d0]
movzx edx, byte [edx + ebx]
movzx ebx, byte [eax]
sub edx, ebx
jne 0x467474
sub ecx, 1
add eax, 1
sub esi, 1
test ecx, ecx
jne 0x467448
jmp 0x46740e
mov ecx, edx
jmp 0x467410
mov eax, dword [esp + 0x1c]
mov edx, dword [eax]
mov al, byte [edx + 4]
cmp al, 0xff
jne 0x46748a
mov ecx, dword [edx - 4]
jmp 0x46748d
movzx ecx, al
mov esi, dword [edi + 0x14]
add edx, 5
test ecx, ecx
lea eax, [edi + 0x18]
je 0x4674d0
sub edx, eax
mov dword [esp + 0x18], edx
jmp 0x4674a6
mov edx, dword [esp + 0x18]
test esi, esi
je 0x4674d0
movzx edx, byte [edx + eax]
mov ebx, dword [0x58b5d0]
movzx edx, byte [edx + ebx]
movzx ebx, byte [eax]
sub edx, ebx
jne 0x467537
sub ecx, 1
add eax, 1
sub esi, 1
test ecx, ecx
jne 0x4674a2
sub ecx, esi
test ecx, ecx
jmp 0x469c53
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
push ecx
lea edx, [esp + 0x74]
push edx
call fcn.00424170
mov ecx, dword [esp + 0x70]
test ecx, ecx
mov esi, dword [edi + 0x14]
lea eax, [edi + 0x18]
je 0x4674d0
mov edx, dword [esp + 0x78]
sub edx, eax
mov dword [esp + 0x18], edx
jmp 0x467508
mov edx, dword [esp + 0x18]
test esi, esi
je 0x4674d0
movzx edx, byte [edx + eax]
mov ebx, dword [0x58b5d0]
movzx edx, byte [edx + ebx]
movzx ebx, byte [eax]
sub edx, ebx
jne 0x467537
sub ecx, 1
add eax, 1
sub esi, 1
test ecx, ecx
jne 0x467504
sub ecx, esi
test ecx, ecx
jmp 0x469c53
mov ecx, edx
test ecx, ecx
jmp 0x469c53
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x467553
mov ecx, dword [eax - 4]
jmp 0x467556
movzx ecx, cl
mov edx, dword [edi + 0x14]
push edx
lea edx, [edi + 0x18]
push edx
push ecx
add eax, 5
push eax
call fcn.0051d790
jmp 0x469c51
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x467580
mov ecx, dword [eax - 4]
jmp 0x467583
movzx ecx, cl
mov edx, dword [edi + 0x14]
push edx
lea edx, [edi + 0x18]
push edx
push ecx
add eax, 5
push eax
call fcn.0051c6a0
jmp 0x469c51
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x4675ad
mov ecx, dword [eax - 4]
jmp 0x4675b0
movzx ecx, cl
mov edx, dword [edi + 0x14]
push edx
lea edx, [edi + 0x18]
push edx
push ecx
add eax, 5
push eax
call fcn.0051d7e0
jmp 0x469c51
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x4675da
mov ecx, dword [eax - 4]
jmp 0x4675dd
movzx ecx, cl
mov edx, dword [edi + 0x14]
push edx
lea edx, [edi + 0x18]
push edx
push ecx
add eax, 5
push eax
call fcn.0051c7a0
jmp 0x469c51
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
push ecx
lea edx, [esp + 0x74]
push edx
call fcn.00424170
mov eax, dword [edi + 0x14]
mov edx, dword [esp + 0x70]
push eax
mov eax, dword [esp + 0x7c]
lea ecx, [edi + 0x18]
push ecx
push edx
push eax
call fcn.0051d790
jmp 0x469c51
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
push edx
lea eax, [esp + 0x74]
push eax
call fcn.00424170
mov ecx, dword [edi + 0x14]
mov eax, dword [esp + 0x70]
push ecx
mov ecx, dword [esp + 0x7c]
lea edx, [edi + 0x18]
push edx
push eax
push ecx
call fcn.0051c6a0
jmp 0x469c51
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
push eax
lea ecx, [esp + 0x74]
push ecx
call fcn.00424170
mov edx, dword [edi + 0x14]
mov ecx, dword [esp + 0x70]
push edx
mov edx, dword [esp + 0x7c]
lea eax, [edi + 0x18]
push eax
push ecx
push edx
call fcn.0051d7e0
jmp 0x469c51
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
push ecx
lea edx, [esp + 0x74]
push edx
call fcn.00424170
mov eax, dword [edi + 0x14]
mov edx, dword [esp + 0x70]
push eax
mov eax, dword [esp + 0x7c]
lea ecx, [edi + 0x18]
push ecx
push edx
push eax
call fcn.0051c7a0
jmp 0x469c51
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x4676bb
mov ecx, dword [eax - 4]
jmp 0x4676be
movzx ecx, cl
mov edx, dword [edi + 0x14]
push edx
lea edx, [edi + 0x18]
push edx
push ecx
add eax, 5
push eax
call fcn.0051d790
test eax, eax
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x4676f0
mov ecx, dword [eax - 4]
jmp 0x4676f3
movzx ecx, cl
mov edx, dword [edi + 0x14]
push edx
lea edx, [edi + 0x18]
push edx
push ecx
add eax, 5
push eax
call fcn.0051c6a0
test eax, eax
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x467725
mov ecx, dword [eax - 4]
jmp 0x467728
movzx ecx, cl
mov edx, dword [edi + 0x14]
push edx
lea edx, [edi + 0x18]
push edx
push ecx
add eax, 5
push eax
call fcn.0051d7e0
test eax, eax
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x46775a
mov ecx, dword [eax - 4]
jmp 0x46775d
movzx ecx, cl
mov edx, dword [edi + 0x14]
push edx
lea edx, [edi + 0x18]
push edx
push ecx
add eax, 5
push eax
call fcn.0051c7a0
test eax, eax
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
push ecx
lea edx, [esp + 0x74]
push edx
call fcn.00424170
mov eax, dword [edi + 0x14]
mov edx, dword [esp + 0x70]
push eax
mov eax, dword [esp + 0x7c]
lea ecx, [edi + 0x18]
push ecx
push edx
push eax
call fcn.0051d790
test eax, eax
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
push edx
lea eax, [esp + 0x74]
push eax
call fcn.00424170
mov ecx, dword [edi + 0x14]
mov eax, dword [esp + 0x70]
push ecx
mov ecx, dword [esp + 0x7c]
lea edx, [edi + 0x18]
push edx
push eax
push ecx
call fcn.0051c6a0
test eax, eax
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
push eax
lea ecx, [esp + 0x74]
push ecx
call fcn.00424170
mov edx, dword [edi + 0x14]
mov ecx, dword [esp + 0x70]
push edx
mov edx, dword [esp + 0x7c]
lea eax, [edi + 0x18]
push eax
push ecx
push edx
call fcn.0051d7e0
test eax, eax
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
push ecx
lea edx, [esp + 0x74]
push edx
call fcn.00424170
mov eax, dword [edi + 0x14]
mov edx, dword [esp + 0x70]
push eax
mov eax, dword [esp + 0x7c]
lea ecx, [edi + 0x18]
push ecx
push edx
push eax
call fcn.0051c7a0
test eax, eax
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x467863
mov ecx, dword [eax - 4]
jmp 0x467866
movzx ecx, cl
mov edx, dword [edi + 0x14]
push edx
lea edx, [edi + 0x18]
push edx
push ecx
add eax, 5
push eax
call fcn.0051d740
jmp 0x469c51
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x467890
mov ecx, dword [eax - 4]
jmp 0x467893
movzx ecx, cl
mov edx, dword [edi + 0x14]
push edx
lea edx, [edi + 0x18]
push edx
push ecx
add eax, 5
push eax
call fcn.0051c5a0
jmp 0x469c51
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x4678bd
mov ecx, dword [eax - 4]
jmp 0x4678c0
movzx ecx, cl
mov edx, dword [edi + 0x14]
push edx
lea edx, [edi + 0x18]
push edx
push ecx
add eax, 5
push eax
call fcn.0051d6a0
jmp 0x469c51
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x4678ea
mov ecx, dword [eax - 4]
jmp 0x4678ed
movzx ecx, cl
mov edx, dword [edi + 0x14]
push edx
lea edx, [edi + 0x18]
push edx
push ecx
add eax, 5
push eax
call fcn.0051c460
jmp 0x469c51
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
push ecx
lea edx, [esp + 0x74]
push edx
call fcn.00424170
mov eax, dword [edi + 0x14]
mov edx, dword [esp + 0x70]
push eax
mov eax, dword [esp + 0x7c]
lea ecx, [edi + 0x18]
push ecx
push edx
push eax
call fcn.0051d740
jmp 0x469c51
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
push edx
lea eax, [esp + 0x74]
push eax
call fcn.00424170
mov ecx, dword [edi + 0x14]
mov eax, dword [esp + 0x70]
push ecx
mov ecx, dword [esp + 0x7c]
lea edx, [edi + 0x18]
push edx
push eax
push ecx
call fcn.0051c5a0
jmp 0x469c51
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
push eax
lea ecx, [esp + 0x74]
push ecx
call fcn.00424170
mov edx, dword [edi + 0x14]
mov ecx, dword [esp + 0x70]
push edx
mov edx, dword [esp + 0x7c]
lea eax, [edi + 0x18]
push eax
push ecx
push edx
call fcn.0051d6a0
jmp 0x469c51
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
push ecx
lea edx, [esp + 0x74]
push edx
call fcn.00424170
mov eax, dword [edi + 0x14]
mov edx, dword [esp + 0x70]
push eax
mov eax, dword [esp + 0x7c]
lea ecx, [edi + 0x18]
push ecx
push edx
push eax
call fcn.0051c460
jmp 0x469c51
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x4679cb
mov ecx, dword [eax - 4]
jmp 0x4679ce
movzx ecx, cl
mov edx, dword [edi + 0x14]
push edx
lea edx, [edi + 0x18]
push edx
push ecx
add eax, 5
push eax
call fcn.0051d740
test eax, eax
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x467a00
mov ecx, dword [eax - 4]
jmp 0x467a03
movzx ecx, cl
mov edx, dword [edi + 0x14]
push edx
lea edx, [edi + 0x18]
push edx
push ecx
add eax, 5
push eax
call fcn.0051c5a0
test eax, eax
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x467a35
mov ecx, dword [eax - 4]
jmp 0x467a38
movzx ecx, cl
mov edx, dword [edi + 0x14]
push edx
lea edx, [edi + 0x18]
push edx
push ecx
add eax, 5
push eax
call fcn.0051d6a0
test eax, eax
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x467a6a
mov ecx, dword [eax - 4]
jmp 0x467a6d
movzx ecx, cl
mov edx, dword [edi + 0x14]
push edx
lea edx, [edi + 0x18]
push edx
push ecx
add eax, 5
push eax
call fcn.0051c460
test eax, eax
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
push ecx
lea edx, [esp + 0x74]
push edx
call fcn.00424170
mov eax, dword [edi + 0x14]
mov edx, dword [esp + 0x70]
push eax
mov eax, dword [esp + 0x7c]
lea ecx, [edi + 0x18]
push ecx
push edx
push eax
call fcn.0051d740
test eax, eax
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
push edx
lea eax, [esp + 0x74]
push eax
call fcn.00424170
mov ecx, dword [edi + 0x14]
mov eax, dword [esp + 0x70]
push ecx
mov ecx, dword [esp + 0x7c]
lea edx, [edi + 0x18]
push edx
push eax
push ecx
call fcn.0051c5a0
test eax, eax
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
push eax
lea ecx, [esp + 0x74]
push ecx
call fcn.00424170
mov edx, dword [edi + 0x14]
mov ecx, dword [esp + 0x70]
push edx
mov edx, dword [esp + 0x7c]
lea eax, [edi + 0x18]
push eax
push ecx
push edx
call fcn.0051d6a0
test eax, eax
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
push ecx
lea edx, [esp + 0x74]
push edx
call fcn.00424170
mov eax, dword [edi + 0x14]
mov edx, dword [esp + 0x70]
push eax
mov eax, dword [esp + 0x7c]
lea ecx, [edi + 0x18]
push ecx
push edx
push eax
call fcn.0051c460
test eax, eax
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x467b73
mov ecx, dword [eax - 4]
jmp 0x467b76
movzx ecx, cl
mov edx, dword [edi + 0x14]
push edx
lea edx, [edi + 0x18]
push edx
push ecx
add eax, 5
push eax
call fcn.0051d6f0
jmp 0x469c51
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x467ba0
mov ecx, dword [eax - 4]
jmp 0x467ba3
movzx ecx, cl
mov edx, dword [edi + 0x14]
push edx
lea edx, [edi + 0x18]
push edx
push ecx
add eax, 5
push eax
call fcn.0051c500
jmp 0x469c51
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
push ecx
lea edx, [esp + 0x74]
push edx
call fcn.00424170
mov eax, dword [edi + 0x14]
mov edx, dword [esp + 0x70]
push eax
mov eax, dword [esp + 0x7c]
lea ecx, [edi + 0x18]
push ecx
push edx
push eax
call fcn.0051d6f0
jmp 0x469c51
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
push edx
lea eax, [esp + 0x74]
push eax
call fcn.00424170
mov ecx, dword [edi + 0x14]
mov eax, dword [esp + 0x70]
push ecx
mov ecx, dword [esp + 0x7c]
lea edx, [edi + 0x18]
push edx
push eax
push ecx
call fcn.0051c500
jmp 0x469c51
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x467c27
mov ecx, dword [eax - 4]
jmp 0x467c2a
movzx ecx, cl
mov edx, dword [edi + 0x14]
push edx
lea edx, [edi + 0x18]
push edx
push ecx
add eax, 5
push eax
call fcn.0051d6f0
test eax, eax
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x467c5c
mov ecx, dword [eax - 4]
jmp 0x467c5f
movzx ecx, cl
mov edx, dword [edi + 0x14]
push edx
lea edx, [edi + 0x18]
push edx
push ecx
add eax, 5
push eax
call fcn.0051c500
test eax, eax
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
push ecx
lea edx, [esp + 0x74]
push edx
call fcn.00424170
mov eax, dword [edi + 0x14]
mov edx, dword [esp + 0x70]
push eax
mov eax, dword [esp + 0x7c]
lea ecx, [edi + 0x18]
push ecx
push edx
push eax
call fcn.0051d6f0
test eax, eax
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
push edx
lea eax, [esp + 0x74]
push eax
call fcn.00424170
mov ecx, dword [edi + 0x14]
mov eax, dword [esp + 0x70]
push ecx
mov ecx, dword [esp + 0x7c]
lea edx, [edi + 0x18]
push edx
push eax
push ecx
call fcn.0051c500
test eax, eax
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x467cfb
mov ecx, dword [eax - 4]
jmp 0x467cfe
movzx ecx, cl
mov edx, dword [edi + 0x14]
push edx
lea edx, [edi + 0x18]
push edx
push ecx
add eax, 5
push eax
call fcn.0051acd0
jmp 0x469c51
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x467d28
mov ecx, dword [eax - 4]
jmp 0x467d2b
movzx ecx, cl
mov edx, dword [edi + 0x14]
push edx
lea edx, [edi + 0x18]
push edx
push ecx
add eax, 5
push eax
call fcn.0051b0c0
jmp 0x469c51
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
push ecx
lea edx, [esp + 0x74]
push edx
call fcn.00424170
mov eax, dword [edi + 0x14]
mov edx, dword [esp + 0x70]
push eax
mov eax, dword [esp + 0x7c]
lea ecx, [edi + 0x18]
push ecx
push edx
push eax
call fcn.0051acd0
jmp 0x469c51
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
push edx
lea eax, [esp + 0x74]
push eax
call fcn.00424170
mov ecx, dword [edi + 0x14]
mov eax, dword [esp + 0x70]
push ecx
mov ecx, dword [esp + 0x7c]
lea edx, [edi + 0x18]
push edx
push eax
push ecx
call fcn.0051b0c0
jmp 0x469c51
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x467daf
mov ecx, dword [eax - 4]
jmp 0x467db2
movzx ecx, cl
mov edx, dword [edi + 0x14]
push edx
lea edx, [edi + 0x18]
push edx
push ecx
add eax, 5
push eax
call fcn.0051acd0
test eax, eax
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x467de4
mov ecx, dword [eax - 4]
jmp 0x467de7
movzx ecx, cl
mov edx, dword [edi + 0x14]
push edx
lea edx, [edi + 0x18]
push edx
push ecx
add eax, 5
push eax
call fcn.0051b0c0
test eax, eax
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
push ecx
lea edx, [esp + 0x74]
push edx
call fcn.00424170
mov eax, dword [edi + 0x14]
mov edx, dword [esp + 0x70]
push eax
mov eax, dword [esp + 0x7c]
lea ecx, [edi + 0x18]
push ecx
push edx
push eax
call fcn.0051acd0
test eax, eax
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
push edx
lea eax, [esp + 0x74]
push eax
call fcn.00424170
mov ecx, dword [edi + 0x14]
mov eax, dword [esp + 0x70]
push ecx
mov ecx, dword [esp + 0x7c]
lea edx, [edi + 0x18]
push edx
push eax
push ecx
call fcn.0051b0c0
test eax, eax
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x467e83
mov ecx, dword [eax - 4]
jmp 0x467e86
movzx ecx, cl
mov edx, dword [edi + 0x14]
push edx
lea edx, [edi + 0x18]
push edx
push ecx
add eax, 5
push eax
call fcn.0051a8e0
jmp 0x469c51
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x467eb0
mov ecx, dword [eax - 4]
jmp 0x467eb3
movzx ecx, cl
mov edx, dword [edi + 0x14]
push edx
lea edx, [edi + 0x18]
push edx
push ecx
add eax, 5
push eax
call fcn.0051a650
jmp 0x469c51
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
push ecx
lea edx, [esp + 0x74]
push edx
call fcn.00424170
mov eax, dword [edi + 0x14]
mov edx, dword [esp + 0x70]
push eax
mov eax, dword [esp + 0x7c]
lea ecx, [edi + 0x18]
push ecx
push edx
push eax
call fcn.0051a8e0
jmp 0x469c51
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
push edx
lea eax, [esp + 0x74]
push eax
call fcn.00424170
mov ecx, dword [edi + 0x14]
mov eax, dword [esp + 0x70]
push ecx
mov ecx, dword [esp + 0x7c]
lea edx, [edi + 0x18]
push edx
push eax
push ecx
call fcn.0051a650
jmp 0x469c51
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x467f37
mov ecx, dword [eax - 4]
jmp 0x467f3a
movzx ecx, cl
mov edx, dword [edi + 0x14]
push edx
lea edx, [edi + 0x18]
push edx
push ecx
add eax, 5
push eax
call fcn.0051a8e0
test eax, eax
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x467f6c
mov ecx, dword [eax - 4]
jmp 0x467f6f
movzx ecx, cl
mov edx, dword [edi + 0x14]
push edx
lea edx, [edi + 0x18]
push edx
push ecx
add eax, 5
push eax
call fcn.0051a650
test eax, eax
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
push ecx
lea edx, [esp + 0x74]
push edx
call fcn.00424170
mov eax, dword [edi + 0x14]
mov edx, dword [esp + 0x70]
push eax
mov eax, dword [esp + 0x7c]
lea ecx, [edi + 0x18]
push ecx
push edx
push eax
call fcn.0051a8e0
test eax, eax
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
push edx
lea eax, [esp + 0x74]
push eax
call fcn.00424170
mov ecx, dword [edi + 0x14]
mov eax, dword [esp + 0x70]
push ecx
mov ecx, dword [esp + 0x7c]
lea edx, [edi + 0x18]
push edx
push eax
push ecx
call fcn.0051a650
test eax, eax
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x46800b
mov ecx, dword [eax - 4]
jmp 0x46800e
movzx ecx, cl
mov edx, dword [edi + 0x14]
push edx
lea edx, [edi + 0x18]
push edx
push ecx
add eax, 5
push eax
call fcn.0051a790
jmp 0x469c51
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
push ecx
lea edx, [esp + 0x74]
push edx
call fcn.00424170
mov eax, dword [edi + 0x14]
mov edx, dword [esp + 0x70]
push eax
mov eax, dword [esp + 0x7c]
lea ecx, [edi + 0x18]
push ecx
push edx
push eax
call fcn.0051a790
jmp 0x469c51
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x468065
mov ecx, dword [eax - 4]
jmp 0x468068
movzx ecx, cl
mov edx, dword [edi + 0x14]
push edx
lea edx, [edi + 0x18]
push edx
push ecx
add eax, 5
push eax
call fcn.0051a790
test eax, eax
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
push ecx
lea edx, [esp + 0x74]
push edx
call fcn.00424170
mov eax, dword [edi + 0x14]
mov edx, dword [esp + 0x70]
push eax
mov eax, dword [esp + 0x7c]
lea ecx, [edi + 0x18]
push ecx
push edx
push eax
call fcn.0051a790
test eax, eax
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x4680cf
mov ecx, dword [eax - 4]
jmp 0x4680d2
movzx ecx, cl
mov edx, dword [edi + 0x14]
push edx
lea edx, [edi + 0x18]
push edx
push ecx
add eax, 5
push eax
call fcn.00422540
jmp 0x469c51
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x4680fc
mov ecx, dword [eax - 4]
jmp 0x4680ff
movzx ecx, cl
mov edx, dword [edi + 0x14]
push edx
lea edx, [edi + 0x18]
push edx
push ecx
add eax, 5
push eax
call fcn.004227e0
jmp 0x469c51
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
push ecx
lea edx, [esp + 0x74]
push edx
call fcn.00424170
mov eax, dword [edi + 0x14]
mov edx, dword [esp + 0x70]
push eax
mov eax, dword [esp + 0x7c]
lea ecx, [edi + 0x18]
push ecx
push edx
push eax
call fcn.00422540
jmp 0x469c51
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
push edx
lea eax, [esp + 0x74]
push eax
call fcn.00424170
mov ecx, dword [edi + 0x14]
mov eax, dword [esp + 0x70]
push ecx
mov ecx, dword [esp + 0x7c]
lea edx, [edi + 0x18]
push edx
push eax
push ecx
call fcn.004227e0
jmp 0x469c51
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x468183
mov ecx, dword [eax - 4]
jmp 0x468186
movzx ecx, cl
mov edx, dword [edi + 0x14]
push edx
lea edx, [edi + 0x18]
push edx
push ecx
add eax, 5
push eax
call fcn.00422540
test eax, eax
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x4681b8
mov ecx, dword [eax - 4]
jmp 0x4681bb
movzx ecx, cl
mov edx, dword [edi + 0x14]
push edx
lea edx, [edi + 0x18]
push edx
push ecx
add eax, 5
push eax
call fcn.004227e0
test eax, eax
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
push ecx
lea edx, [esp + 0x74]
push edx
call fcn.00424170
mov eax, dword [edi + 0x14]
mov edx, dword [esp + 0x70]
push eax
mov eax, dword [esp + 0x7c]
lea ecx, [edi + 0x18]
push ecx
push edx
push eax
call fcn.00422540
test eax, eax
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
push edx
lea eax, [esp + 0x74]
push eax
call fcn.00424170
mov ecx, dword [edi + 0x14]
mov eax, dword [esp + 0x70]
push ecx
mov ecx, dword [esp + 0x7c]
lea edx, [edi + 0x18]
push edx
push eax
push ecx
call fcn.004227e0
test eax, eax
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x468257
mov ecx, dword [eax - 4]
jmp 0x46825a
movzx ecx, cl
mov edx, dword [edi + 0x14]
push edx
lea edx, [edi + 0x18]
push edx
push ecx
add eax, 5
push eax
call fcn.0041d8f0
jmp 0x469c51
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x468284
mov ebx, dword [eax - 4]
jmp 0x468287
movzx ebx, cl
mov edx, dword [edi + 0x14]
cmp edx, ebx
lea ecx, [edi + 0x18]
jg case.0x4627ce.1
sub eax, ecx
lea esi, [ecx + edx]
sub eax, edx
cmp ecx, esi
lea eax, [eax + ebx + 5]
je case.0x4627ce.0
jmp 0x4682b0
mov dl, byte [eax + ecx]
cmp dl, byte [ecx]
jne case.0x4627ce.1
add ecx, 1
cmp ecx, esi
jne 0x4682b0
jmp case.0x4627ce.0
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
push ecx
lea edx, [esp + 0x74]
push edx
call fcn.00424170
mov eax, dword [edi + 0x14]
mov edx, dword [esp + 0x70]
push eax
mov eax, dword [esp + 0x7c]
lea ecx, [edi + 0x18]
push ecx
push edx
push eax
call fcn.0041d8f0
jmp 0x469c51
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
push edx
lea eax, [esp + 0x74]
push eax
call fcn.00424170
mov edx, dword [edi + 0x14]
mov ebx, dword [esp + 0x70]
cmp edx, ebx
lea ecx, [edi + 0x18]
jg case.0x4627ce.1
mov eax, dword [esp + 0x78]
sub eax, ecx
sub eax, edx
lea esi, [ecx + edx]
add eax, ebx
cmp ecx, esi
je case.0x4627ce.0
lea esp, [esp]
mov dl, byte [eax + ecx]
cmp dl, byte [ecx]
jne case.0x4627ce.1
add ecx, 1
cmp ecx, esi
jne 0x468330
jmp case.0x4627ce.0
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x46835a
mov ecx, dword [eax - 4]
jmp 0x46835d
movzx ecx, cl
mov edx, dword [edi + 0x14]
push edx
lea edx, [edi + 0x18]
push edx
push ecx
add eax, 5
push eax
call fcn.0041d8f0
test eax, eax
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x46838f
mov ebx, dword [eax - 4]
jmp 0x468392
movzx ebx, cl
mov edx, dword [edi + 0x14]
cmp edx, ebx
lea ecx, [edi + 0x18]
jg case.0x4627ce.0
sub eax, ecx
lea esi, [ecx + edx]
sub eax, edx
cmp ecx, esi
lea eax, [eax + ebx + 5]
je case.0x4627ce.1
mov dl, byte [eax + ecx]
cmp dl, byte [ecx]
jne case.0x4627ce.0
add ecx, 1
cmp ecx, esi
jne 0x4683b3
jmp case.0x4627ce.1
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
push ecx
lea edx, [esp + 0x74]
push edx
call fcn.00424170
mov eax, dword [edi + 0x14]
mov edx, dword [esp + 0x70]
push eax
mov eax, dword [esp + 0x7c]
lea ecx, [edi + 0x18]
push ecx
push edx
push eax
call fcn.0041d8f0
test eax, eax
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
push edx
lea eax, [esp + 0x74]
push eax
call fcn.00424170
mov edx, dword [edi + 0x14]
mov ebx, dword [esp + 0x70]
cmp edx, ebx
lea ecx, [edi + 0x18]
jg case.0x4627ce.0
mov eax, dword [esp + 0x78]
sub eax, ecx
sub eax, edx
lea esi, [ecx + edx]
add eax, ebx
cmp ecx, esi
je case.0x4627ce.1
jmp 0x468440
mov dl, byte [eax + ecx]
cmp dl, byte [ecx]
jne case.0x4627ce.0
add ecx, 1
cmp ecx, esi
jne 0x468440
jmp case.0x4627ce.1
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x46846a
mov ebx, dword [eax - 4]
jmp 0x46846d
movzx ebx, cl
mov edx, dword [edi + 0x14]
cmp edx, ebx
lea ecx, [edi + 0x18]
jg case.0x4627ce.1
sub eax, ecx
lea esi, [ecx + edx]
sub eax, edx
cmp ecx, esi
lea eax, [eax + ebx + 5]
je case.0x4627ce.0
mov edi, edi
movzx edx, byte [eax + ecx]
mov ebx, dword [0x58b5d0]
mov dl, byte [edx + ebx]
cmp dl, byte [ecx]
jne case.0x4627ce.1
add ecx, 1
cmp ecx, esi
jne 0x468490
jmp case.0x4627ce.0
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
push ecx
lea edx, [esp + 0x74]
push edx
call fcn.00424170
mov edx, dword [edi + 0x14]
mov ebx, dword [esp + 0x70]
cmp edx, ebx
lea ecx, [edi + 0x18]
jg case.0x4627ce.1
mov eax, dword [esp + 0x78]
sub eax, ecx
sub eax, edx
lea esi, [ecx + edx]
add eax, ebx
cmp ecx, esi
je case.0x4627ce.0
lea esp, [esp]
movzx edx, byte [eax + ecx]
mov ebx, dword [0x58b5d0]
mov dl, byte [edx + ebx]
cmp dl, byte [ecx]
jne case.0x4627ce.1
add ecx, 1
cmp ecx, esi
jne 0x4684f0
jmp case.0x4627ce.0
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x468524
mov ebx, dword [eax - 4]
jmp 0x468527
movzx ebx, cl
mov edx, dword [edi + 0x14]
cmp edx, ebx
lea ecx, [edi + 0x18]
jg case.0x4627ce.0
sub eax, ecx
lea esi, [ecx + edx]
sub eax, edx
cmp ecx, esi
lea eax, [eax + ebx + 5]
je case.0x4627ce.1
jmp 0x468550
movzx edx, byte [eax + ecx]
mov ebx, dword [0x58b5d0]
mov dl, byte [edx + ebx]
cmp dl, byte [ecx]
jne case.0x4627ce.0
add ecx, 1
cmp ecx, esi
jne 0x468550
jmp case.0x4627ce.1
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
push ecx
lea edx, [esp + 0x74]
push edx
call fcn.00424170
mov edx, dword [edi + 0x14]
mov ebx, dword [esp + 0x70]
cmp edx, ebx
lea ecx, [edi + 0x18]
jg case.0x4627ce.0
mov eax, dword [esp + 0x78]
sub eax, ecx
sub eax, edx
lea esi, [ecx + edx]
add eax, ebx
cmp ecx, esi
je case.0x4627ce.1
lea esp, [esp]
movzx edx, byte [eax + ecx]
mov ebx, dword [0x58b5d0]
mov dl, byte [edx + ebx]
cmp dl, byte [ecx]
jne case.0x4627ce.0
add ecx, 1
cmp ecx, esi
jne 0x4685b0
jmp case.0x4627ce.1
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x4685e4
mov ecx, dword [eax - 4]
jmp 0x4685e7
movzx ecx, cl
mov edx, dword [edi + 0x14]
push edx
lea edx, [edi + 0x18]
push edx
push ecx
add eax, 5
push eax
call fcn.00422a80
jmp 0x469c51
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x468611
mov ecx, dword [eax - 4]
jmp 0x468614
movzx ecx, cl
mov edx, dword [edi + 0x14]
push edx
lea edx, [edi + 0x18]
push edx
push ecx
add eax, 5
push eax
call fcn.00422d20
jmp 0x469c51
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
push ecx
lea edx, [esp + 0x74]
push edx
call fcn.00424170
mov eax, dword [edi + 0x14]
mov edx, dword [esp + 0x70]
push eax
mov eax, dword [esp + 0x7c]
lea ecx, [edi + 0x18]
push ecx
push edx
push eax
call fcn.00422a80
jmp 0x469c51
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
push edx
lea eax, [esp + 0x74]
push eax
call fcn.00424170
mov ecx, dword [edi + 0x14]
mov eax, dword [esp + 0x70]
push ecx
mov ecx, dword [esp + 0x7c]
lea edx, [edi + 0x18]
push edx
push eax
push ecx
call fcn.00422d20
jmp 0x469c51
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x468698
mov ecx, dword [eax - 4]
jmp 0x46869b
movzx ecx, cl
mov edx, dword [edi + 0x14]
push edx
lea edx, [edi + 0x18]
push edx
push ecx
add eax, 5
push eax
call fcn.00422a80
test eax, eax
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x4686cd
mov ecx, dword [eax - 4]
jmp 0x4686d0
movzx ecx, cl
mov edx, dword [edi + 0x14]
push edx
lea edx, [edi + 0x18]
push edx
push ecx
add eax, 5
push eax
call fcn.00422d20
test eax, eax
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
push ecx
lea edx, [esp + 0x74]
push edx
call fcn.00424170
mov eax, dword [edi + 0x14]
mov edx, dword [esp + 0x70]
push eax
mov eax, dword [esp + 0x7c]
lea ecx, [edi + 0x18]
push ecx
push edx
push eax
call fcn.00422a80
test eax, eax
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
push edx
lea eax, [esp + 0x74]
push eax
call fcn.00424170
mov ecx, dword [edi + 0x14]
mov eax, dword [esp + 0x70]
push ecx
mov ecx, dword [esp + 0x7c]
lea edx, [edi + 0x18]
push edx
push eax
push ecx
call fcn.00422d20
test eax, eax
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x46876c
mov ecx, dword [eax - 4]
jmp 0x46876f
movzx ecx, cl
mov edx, dword [edi + 0x14]
push edx
lea edx, [edi + 0x18]
push edx
push ecx
add eax, 5
push eax
call fcn.0041db90
jmp 0x469c51
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x468799
mov esi, dword [eax - 4]
jmp 0x46879c
movzx esi, cl
mov edx, dword [edi + 0x14]
cmp edx, esi
lea ecx, [edi + 0x18]
jg case.0x4627ce.1
sub eax, ecx
add edx, ecx
add eax, 5
cmp ecx, edx
mov esi, eax
je case.0x4627ce.0
jmp 0x4687c0
mov al, byte [esi + ecx]
cmp al, byte [ecx]
jne case.0x4627ce.1
add ecx, 1
cmp ecx, edx
jne 0x4687c0
jmp case.0x4627ce.0
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
push edx
lea eax, [esp + 0x74]
push eax
call fcn.00424170
mov ecx, dword [edi + 0x14]
mov eax, dword [esp + 0x70]
push ecx
mov ecx, dword [esp + 0x7c]
lea edx, [edi + 0x18]
push edx
push eax
push ecx
call fcn.0041db90
jmp 0x469c51
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
push eax
lea ecx, [esp + 0x74]
push ecx
call fcn.00424170
mov ecx, dword [edi + 0x14]
cmp ecx, dword [esp + 0x70]
lea eax, [edi + 0x18]
jg case.0x4627ce.1
lea esi, [eax + ecx]
mov ecx, dword [esp + 0x78]
sub ecx, eax
cmp eax, esi
je case.0x4627ce.0
jmp 0x468840
mov dl, byte [ecx + eax]
cmp dl, byte [eax]
jne case.0x4627ce.1
add eax, 1
cmp eax, esi
jne 0x468840
jmp case.0x4627ce.0
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x46886a
mov ecx, dword [eax - 4]
jmp 0x46886d
movzx ecx, cl
mov edx, dword [edi + 0x14]
push edx
lea edx, [edi + 0x18]
push edx
push ecx
add eax, 5
push eax
call fcn.0041db90
test eax, eax
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x46889f
mov esi, dword [eax - 4]
jmp 0x4688a2
movzx esi, cl
mov edx, dword [edi + 0x14]
cmp edx, esi
lea ecx, [edi + 0x18]
jg case.0x4627ce.0
sub eax, ecx
add edx, ecx
add eax, 5
cmp ecx, edx
mov esi, eax
je case.0x4627ce.1
mov al, byte [esi + ecx]
cmp al, byte [ecx]
jne case.0x4627ce.0
add ecx, 1
cmp ecx, edx
jne 0x4688c1
jmp case.0x4627ce.1
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
push edx
lea eax, [esp + 0x74]
push eax
call fcn.00424170
mov ecx, dword [edi + 0x14]
mov eax, dword [esp + 0x70]
push ecx
mov ecx, dword [esp + 0x7c]
lea edx, [edi + 0x18]
push edx
push eax
push ecx
call fcn.0041db90
test eax, eax
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
push eax
lea ecx, [esp + 0x74]
push ecx
call fcn.00424170
mov ecx, dword [edi + 0x14]
cmp ecx, dword [esp + 0x70]
lea eax, [edi + 0x18]
jg case.0x4627ce.0
lea esi, [eax + ecx]
mov ecx, dword [esp + 0x78]
sub ecx, eax
cmp eax, esi
je case.0x4627ce.1
nop
mov dl, byte [ecx + eax]
cmp dl, byte [eax]
jne case.0x4627ce.0
add eax, 1
cmp eax, esi
jne 0x468940
jmp case.0x4627ce.1
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x46896a
mov esi, dword [eax - 4]
jmp 0x46896d
movzx esi, cl
mov edx, dword [edi + 0x14]
cmp edx, esi
lea ecx, [edi + 0x18]
jg case.0x4627ce.1
sub eax, ecx
add edx, ecx
add eax, 5
cmp ecx, edx
mov esi, eax
je case.0x4627ce.0
mov eax, dword [0x58b5d0]
movzx ebx, byte [esi + ecx]
mov bl, byte [ebx + eax]
cmp bl, byte [ecx]
jne case.0x4627ce.1
add ecx, 1
cmp ecx, edx
jne 0x468991
jmp case.0x4627ce.0
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
push edx
lea eax, [esp + 0x74]
push eax
call fcn.00424170
mov ecx, dword [edi + 0x14]
cmp ecx, dword [esp + 0x70]
mov edx, dword [0x58b5d0]
lea eax, [edi + 0x18]
jg case.0x4627ce.1
lea esi, [eax + ecx]
mov ecx, dword [esp + 0x78]
sub ecx, eax
cmp eax, esi
je case.0x4627ce.0
movzx ebx, byte [ecx + eax]
mov bl, byte [ebx + edx]
cmp bl, byte [eax]
jne case.0x4627ce.1
add eax, 1
cmp eax, esi
jne 0x4689e4
jmp case.0x4627ce.0
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x468a12
mov esi, dword [eax - 4]
jmp 0x468a15
movzx esi, cl
mov edx, dword [edi + 0x14]
cmp edx, esi
lea ecx, [edi + 0x18]
jg case.0x4627ce.0
sub eax, ecx
add edx, ecx
add eax, 5
cmp ecx, edx
mov esi, eax
je case.0x4627ce.1
mov eax, dword [0x58b5d0]
lea esp, [esp]
movzx ebx, byte [esi + ecx]
mov bl, byte [ebx + eax]
cmp bl, byte [ecx]
jne case.0x4627ce.0
add ecx, 1
cmp ecx, edx
jne 0x468a40
jmp case.0x4627ce.1
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
push eax
lea ecx, [esp + 0x74]
push ecx
call fcn.00424170
mov ecx, dword [edi + 0x14]
cmp ecx, dword [esp + 0x70]
mov edx, dword [0x58b5d0]
lea eax, [edi + 0x18]
jg case.0x4627ce.0
lea esi, [eax + ecx]
mov ecx, dword [esp + 0x78]
sub ecx, eax
cmp eax, esi
je case.0x4627ce.1
movzx ebx, byte [ecx + eax]
mov bl, byte [ebx + edx]
cmp bl, byte [eax]
jne case.0x4627ce.0
add eax, 1
cmp eax, esi
jne 0x468a93
jmp case.0x4627ce.1
mov edx, dword [edi + 0x14]
mov ecx, dword [esp + 0x1c]
push edx
mov edx, dword [ecx]
lea eax, [edi + 0x18]
push eax
push edx
call fcn.0042d990
jmp 0x469c51
mov eax, dword [edi + 0x14]
mov edx, dword [esp + 0x1c]
push eax
mov eax, dword [edx]
lea ecx, [edi + 0x18]
push ecx
push eax
call fcn.0042dcb0
jmp 0x469c51
mov ecx, dword [edi + 0x14]
mov eax, dword [esp + 0x1c]
push ecx
mov ecx, dword [eax]
lea edx, [edi + 0x18]
push edx
push ecx
call fcn.0042d990
test eax, eax
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov edx, dword [edi + 0x14]
mov ecx, dword [esp + 0x1c]
push edx
mov edx, dword [ecx]
lea eax, [edi + 0x18]
push eax
push edx
call fcn.0042dcb0
test eax, eax
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov eax, dword [edi + 0x14]
mov edx, dword [esp + 0x1c]
push eax
mov eax, dword [edx]
lea ecx, [edi + 0x18]
push ecx
push eax
call fcn.0042dfd0
jmp 0x469c51
mov ecx, dword [edi + 0x14]
mov eax, dword [esp + 0x1c]
push ecx
mov ecx, dword [eax]
lea edx, [edi + 0x18]
push edx
push ecx
call fcn.0042e050
jmp 0x469c51
mov edx, dword [edi + 0x14]
mov ecx, dword [esp + 0x1c]
push edx
mov edx, dword [ecx]
lea eax, [edi + 0x18]
push eax
push edx
call fcn.0042dfd0
test eax, eax
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov eax, dword [edi + 0x14]
mov edx, dword [esp + 0x1c]
push eax
mov eax, dword [edx]
lea ecx, [edi + 0x18]
push ecx
push eax
call fcn.0042e050
test eax, eax
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov ecx, dword [edi + 0x14]
mov eax, dword [esp + 0x1c]
push ecx
mov ecx, dword [eax]
lea edx, [edi + 0x18]
push edx
push ecx
call fcn.0042e0f0
jmp 0x469c51
mov edx, dword [edi + 0x14]
mov ecx, dword [esp + 0x1c]
push edx
mov edx, dword [ecx]
lea eax, [edi + 0x18]
push eax
push edx
call fcn.0042e0f0
test eax, eax
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov eax, dword [edi + 0x14]
mov edx, dword [esp + 0x1c]
push eax
mov eax, dword [edx]
lea ecx, [edi + 0x18]
push ecx
push eax
call fcn.0042e1b0
jmp 0x469c51
mov ecx, dword [edi + 0x14]
mov eax, dword [esp + 0x1c]
push ecx
mov ecx, dword [eax]
lea edx, [edi + 0x18]
push edx
push ecx
call fcn.00425180
jmp 0x469c51
mov edx, dword [edi + 0x14]
mov ecx, dword [esp + 0x1c]
push edx
mov edx, dword [ecx]
lea eax, [edi + 0x18]
push eax
push edx
call fcn.0042e1b0
test eax, eax
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov eax, dword [edi + 0x14]
mov edx, dword [esp + 0x1c]
push eax
mov eax, dword [edx]
lea ecx, [edi + 0x18]
push ecx
push eax
call fcn.00425180
test eax, eax
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov ecx, dword [edi + 0x14]
mov eax, dword [esp + 0x1c]
push ecx
mov ecx, dword [eax]
lea edx, [edi + 0x18]
push edx
push ecx
call fcn.0042e770
jmp 0x469c51
mov edx, dword [edi + 0x14]
mov ecx, dword [esp + 0x1c]
push edx
mov edx, dword [ecx]
lea eax, [edi + 0x18]
push eax
push edx
call fcn.0042e820
jmp 0x469c51
mov eax, dword [edi + 0x14]
mov edx, dword [esp + 0x1c]
push eax
mov eax, dword [edx]
lea ecx, [edi + 0x18]
push ecx
push eax
call fcn.0042e770
test eax, eax
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov ecx, dword [edi + 0x14]
mov eax, dword [esp + 0x1c]
push ecx
mov ecx, dword [eax]
lea edx, [edi + 0x18]
push edx
push ecx
call fcn.0042e820
test eax, eax
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov edx, dword [edi + 0x14]
mov ecx, dword [esp + 0x1c]
push edx
mov edx, dword [ecx]
lea eax, [edi + 0x18]
push eax
push edx
call fcn.00425740
jmp 0x469c51
mov eax, dword [edi + 0x14]
mov edx, dword [esp + 0x1c]
push eax
mov eax, dword [edx]
lea ecx, [edi + 0x18]
push ecx
push eax
call fcn.00425740
test eax, eax
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov ecx, dword [edi + 0x14]
mov eax, dword [esp + 0x1c]
push ecx
mov ecx, dword [eax]
lea edx, [edi + 0x18]
push edx
push ecx
call fcn.0042e8f0
jmp 0x469c51
mov edx, dword [edi + 0x14]
mov ecx, dword [esp + 0x1c]
push edx
mov edx, dword [ecx]
lea eax, [edi + 0x18]
push eax
push edx
call fcn.0042ef00
jmp 0x469c51
mov eax, dword [edi + 0x14]
mov edx, dword [esp + 0x1c]
push eax
mov eax, dword [edx]
lea ecx, [edi + 0x18]
push ecx
push eax
call fcn.0042e8f0
test eax, eax
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov ecx, dword [edi + 0x14]
mov eax, dword [esp + 0x1c]
push ecx
mov ecx, dword [eax]
lea edx, [edi + 0x18]
push edx
push ecx
call fcn.0042ef00
test eax, eax
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov edx, dword [edi + 0x14]
mov ecx, dword [esp + 0x1c]
push edx
mov edx, dword [ecx]
lea eax, [edi + 0x18]
push eax
push edx
call fcn.0042f510
jmp 0x469c51
mov eax, dword [edi + 0x14]
mov edx, dword [esp + 0x1c]
push eax
mov eax, dword [edx]
lea ecx, [edi + 0x18]
push ecx
push eax
call fcn.00426550
jmp 0x469c51
mov ecx, dword [edi + 0x14]
mov eax, dword [esp + 0x1c]
push ecx
mov ecx, dword [eax]
lea edx, [edi + 0x18]
push edx
push ecx
call fcn.0042f510
test eax, eax
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov edx, dword [edi + 0x14]
mov ecx, dword [esp + 0x1c]
push edx
mov edx, dword [ecx]
lea eax, [edi + 0x18]
push eax
push edx
call fcn.00426550
test eax, eax
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov eax, dword [edi + 0x14]
mov edx, dword [esp + 0x1c]
push eax
mov eax, dword [edx]
lea ecx, [edi + 0x18]
push ecx
push eax
call fcn.0042f5f0
jmp 0x469c51
mov ecx, dword [edi + 0x14]
mov eax, dword [esp + 0x1c]
push ecx
mov ecx, dword [eax]
lea edx, [edi + 0x18]
push edx
push ecx
call fcn.0042f5f0
test eax, eax
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
cmp dword [eax], 0
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
cmp dword [edx], 0
jmp 0x469c53
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
mov edx, dword [esp + 0x24]
mov eax, dword [edx]
push ecx
push eax
call fcn.0042f780
jmp 0x469c51
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
push edx
push ecx
call fcn.0042f780
test eax, eax
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx]
push eax
push edx
call fcn.0042f780
jmp 0x469c51
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
mov edx, dword [esp + 0x24]
mov eax, dword [edx]
push ecx
push eax
call fcn.0042f780
test eax, eax
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
push edx
push ecx
call fcn.0042f980
jmp 0x469c51
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx]
push eax
push edx
call fcn.0042f980
test eax, eax
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
mov edx, dword [esp + 0x24]
mov eax, dword [edx]
push ecx
push eax
call fcn.0042fbe0
jmp 0x469c51
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
push edx
push ecx
call fcn.0042fbe0
test eax, eax
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx]
push eax
push edx
call fcn.0042fe60
jmp 0x469c51
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
mov edx, dword [esp + 0x24]
mov eax, dword [edx]
push ecx
push eax
call fcn.0042fe60
test eax, eax
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
push edx
push ecx
call fcn.004300e0
jmp 0x469c51
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx]
push eax
push edx
call fcn.004300e0
test eax, eax
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
mov edx, dword [esp + 0x24]
mov eax, dword [edx]
push ecx
push eax
call fcn.004303c0
jmp 0x469c51
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
push edx
push ecx
call fcn.004303c0
test eax, eax
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov edx, dword [esp + 0x1c]
mov ecx, dword [edx]
mov eax, dword [ecx]
test eax, eax
je 0x468fd8
lea ebx, [ebx]
mov ecx, eax
mov eax, dword [eax]
test eax, eax
jne 0x468fd0
cmp byte [ecx + 4], 0xff
jne 0x468fe9
mov ecx, dword [ecx - 8]
mov eax, dword [ecx + 4]
jmp 0x4693b4
mov ecx, dword [ecx - 4]
mov eax, dword [ecx + 4]
jmp 0x4693b4
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
mov eax, dword [ecx]
test eax, eax
je 0x469008
mov ecx, eax
mov eax, dword [eax]
test eax, eax
jne 0x469000
cmp byte [ecx + 4], 0xff
jne 0x469019
mov ecx, dword [ecx - 8]
mov eax, dword [ecx + 4]
jmp 0x4693e9
mov ecx, dword [ecx - 4]
mov eax, dword [ecx + 4]
jmp 0x4693e9
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x469037
mov ecx, dword [eax - 4]
jmp 0x46903a
movzx ecx, cl
push ecx
add eax, 5
push eax
call fcn.005222a0
cmp eax, dword [edi + 0x14]
jl case.0x4627ce.1
cmp eax, dword [edi + 0x18]
jg case.0x4627ce.1
jmp case.0x4627ce.0
mov edx, dword [esp + 0x1c]
mov esi, dword [edx]
mov al, byte [esi + 4]
cmp al, 0xff
jne 0x46906d
mov eax, dword [esi - 4]
jmp 0x469070
movzx eax, al
push eax
lea eax, [esi + 5]
push eax
call fcn.005222a0
mov esi, dword [esi]
test esi, esi
mov ebx, eax
je 0x4690a5
mov al, byte [esi + 4]
cmp al, 0xff
jne 0x46908e
mov eax, dword [esi - 4]
jmp 0x469091
movzx eax, al
push eax
lea ecx, [esi + 5]
push ecx
call fcn.005222a0
mov esi, dword [esi]
test esi, esi
lea ebx, [ebx + eax + 1]
jne 0x469082
cmp ebx, dword [edi + 0x14]
jl case.0x4627ce.1
cmp ebx, dword [edi + 0x18]
jg case.0x4627ce.1
jmp case.0x4627ce.0
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x4690cf
mov ecx, dword [eax - 4]
jmp 0x4690d2
movzx ecx, cl
push ecx
add eax, 5
push eax
call fcn.005222a0
cmp eax, dword [edi + 0x14]
jl case.0x4627ce.0
cmp eax, dword [edi + 0x18]
jle case.0x4627ce.1
jmp case.0x4627ce.0
mov eax, dword [esp + 0x1c]
mov esi, dword [eax]
mov al, byte [esi + 4]
cmp al, 0xff
jne 0x469105
mov eax, dword [esi - 4]
jmp 0x469108
movzx eax, al
push eax
lea ecx, [esi + 5]
push ecx
call fcn.005222a0
mov esi, dword [esi]
test esi, esi
mov ebx, eax
je 0x469143
lea ebx, [ebx]
mov al, byte [esi + 4]
cmp al, 0xff
jne 0x46912c
mov eax, dword [esi - 4]
jmp 0x46912f
movzx eax, al
push eax
lea edx, [esi + 5]
push edx
call fcn.005222a0
mov esi, dword [esi]
test esi, esi
lea ebx, [ebx + eax + 1]
jne 0x469120
cmp ebx, dword [edi + 0x14]
jl case.0x4627ce.0
cmp ebx, dword [edi + 0x18]
jle case.0x4627ce.1
jmp case.0x4627ce.0
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
push ecx
push edi
call fcn.004283d0
jmp 0x469c51
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
push eax
lea ecx, [esp + 0x74]
push ecx
push edi
call fcn.00428450
jmp 0x469c51
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
push eax
push edi
call fcn.004283d0
test eax, eax
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
push edx
lea eax, [esp + 0x74]
push eax
push edi
call fcn.00428450
test eax, eax
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x24]
mov eax, dword [edx]
mov ecx, dword [esp + 0x68]
mov eax, dword [eax + ecx*4]
mov edx, dword [esp + 0x1c]
sub edx, dword [eax + 8]
sub edx, eax
sar edx, 2
add edx, dword [eax]
mov eax, dword [esp + 0x184]
cmp byte [edx + eax], 0
jmp 0x469c53
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x24]
mov eax, dword [edx]
mov ecx, dword [esp + 0x68]
mov eax, dword [eax + ecx*4]
mov edx, dword [esp + 0x1c]
sub edx, dword [eax + 8]
sub edx, eax
sar edx, 2
add edx, dword [eax]
mov eax, dword [esp + 0x184]
cmp byte [edx + eax], 0
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x24]
mov eax, dword [edx]
mov ecx, dword [esp + 0x68]
mov eax, dword [eax + ecx*4]
mov edx, dword [esp + 0x1c]
sub edx, dword [eax + 8]
sub edx, eax
mov eax, dword [eax]
sar edx, 2
add edx, dword [edi + 0x24]
cmp byte [edx + eax], 0
jmp 0x469c53
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x24]
mov eax, dword [edx]
mov ecx, dword [esp + 0x68]
mov eax, dword [eax + ecx*4]
mov edx, dword [esp + 0x1c]
sub edx, dword [eax + 8]
sub edx, eax
mov eax, dword [eax]
sar edx, 2
add edx, dword [edi + 0x24]
cmp byte [edx + eax], 0
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x24]
mov eax, dword [edx]
mov ecx, dword [esp + 0x68]
mov eax, dword [eax + ecx*4]
mov edx, dword [esp + 0x1c]
sub edx, dword [eax + 8]
sub edx, eax
sar edx, 2
add edx, dword [eax]
mov eax, dword [edi + 0x14]
mov eax, dword [eax + edx*4]
cmp eax, dword [edi + 0x18]
jb case.0x4627ce.1
cmp eax, dword [edi + 0x1c]
ja case.0x4627ce.1
jmp case.0x4627ce.0
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x24]
mov eax, dword [edx]
mov ecx, dword [esp + 0x68]
mov eax, dword [eax + ecx*4]
mov edx, dword [esp + 0x1c]
sub edx, dword [eax + 8]
sub edx, eax
sar edx, 2
add edx, dword [eax]
mov eax, dword [edi + 0x14]
mov eax, dword [eax + edx*4]
cmp eax, dword [edi + 0x18]
jb case.0x4627ce.0
cmp eax, dword [edi + 0x1c]
jbe case.0x4627ce.1
jmp case.0x4627ce.0
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
mov eax, dword [eax]
xor ecx, ecx
test eax, eax
je 0x4692ff
mov eax, dword [eax]
add ecx, 1
test eax, eax
jne 0x4692f6
cmp ecx, dword [edi + 0x14]
jl case.0x4627ce.1
cmp ecx, dword [edi + 0x18]
jg case.0x4627ce.1
jmp case.0x4627ce.0
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
mov eax, dword [eax]
xor ecx, ecx
test eax, eax
je 0x46932d
mov eax, dword [eax]
add ecx, 1
test eax, eax
jne 0x469324
cmp ecx, dword [edi + 0x14]
jl case.0x4627ce.0
cmp ecx, dword [edi + 0x18]
jle case.0x4627ce.1
jmp case.0x4627ce.0
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
mov eax, dword [edx]
cmp eax, dword [edi + 0x1c]
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
mov eax, dword [edx]
cmp eax, dword [edi + 0x1c]
jmp 0x469c53
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
push edi
push edx
call fcn.004310b0
jmp 0x469c51
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
push edi
push ecx
call fcn.004310b0
test eax, eax
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
push eax
mov eax, dword [esp + 0x70]
push eax
call fcn.00453ed0
test eax, eax
je 0x4693b2
mov ecx, dword [eax]
mov eax, dword [ecx + 8]
jmp 0x4693b4
xor eax, eax
cmp eax, dword [edi + 0x14]
jb case.0x4627ce.1
cmp eax, dword [edi + 0x18]
ja case.0x4627ce.1
jmp case.0x4627ce.0
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
push eax
mov eax, dword [esp + 0x70]
push eax
call fcn.00453ed0
test eax, eax
je 0x4693e7
mov ecx, dword [eax]
mov eax, dword [ecx + 8]
jmp 0x4693e9
xor eax, eax
cmp eax, dword [edi + 0x14]
jb case.0x4627ce.0
cmp eax, dword [edi + 0x18]
jbe case.0x4627ce.1
jmp case.0x4627ce.0
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
push eax
mov eax, dword [esp + 0x70]
push eax
call fcn.00453ed0
test eax, eax
je 0x46941c
mov eax, dword [eax]
jmp 0x4694e4
xor ecx, ecx
xor eax, eax
jmp 0x4694e9
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx]
mov edx, dword [esp + 0x6c]
push eax
push edx
call fcn.00453ed0
test eax, eax
je 0x469441
mov eax, dword [eax]
jmp 0x469538
xor ecx, ecx
xor eax, eax
jmp 0x46953d
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
push edi
push eax
mov eax, dword [esp + 0x2c]
push ecx
push edx
push eax
call fcn.00448000
cmp eax, dword [edi + 0x14]
jae case.0x4627ce.1
jmp case.0x4627ce.0
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
push edi
push ecx
mov ecx, dword [esp + 0x2c]
push edx
push eax
push ecx
call fcn.00448000
cmp eax, dword [edi + 0x14]
jb case.0x4627ce.1
jmp case.0x4627ce.0
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
push edi
push eax
call fcn.00431140
jmp 0x469c51
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
push edi
push edx
call fcn.00431140
test eax, eax
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x4694dd
mov ecx, dword [eax - 4]
lea eax, [ecx + eax + 5]
jmp 0x4694e4
movzx edx, cl
lea eax, [edx + eax + 5]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
cmp eax, dword [edi + 0x1c]
jb case.0x4627ce.1
ja 0x4694fd
cmp ecx, dword [edi + 0x18]
jb case.0x4627ce.1
cmp eax, dword [edi + 0x24]
ja case.0x4627ce.1
jb case.0x4627ce.0
cmp ecx, dword [edi + 0x20]
ja case.0x4627ce.1
jmp case.0x4627ce.0
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x469531
mov ecx, dword [eax - 4]
lea eax, [ecx + eax + 5]
jmp 0x469538
movzx edx, cl
lea eax, [edx + eax + 5]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
cmp eax, dword [edi + 0x1c]
jb case.0x4627ce.0
ja 0x469551
cmp ecx, dword [edi + 0x18]
jb case.0x4627ce.0
cmp eax, dword [edi + 0x24]
ja case.0x4627ce.0
jb case.0x4627ce.1
cmp ecx, dword [edi + 0x20]
jbe case.0x4627ce.1
jmp case.0x4627ce.0
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x469592
mov ecx, dword [eax - 4]
lea ecx, [ecx + eax + 5]
mov eax, dword [esp + 0x6c]
mov eax, dword [eax + 0x364]
jmp 0x46967b
movzx edx, cl
lea ecx, [edx + eax + 5]
mov eax, dword [esp + 0x6c]
mov eax, dword [eax + 0x364]
jmp 0x46967b
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x4695cc
mov edx, dword [eax - 4]
lea ecx, [edx + eax + 5]
mov edx, dword [esp + 0x6c]
mov eax, dword [edx + 0x364]
jmp 0x4696db
mov edx, dword [esp + 0x6c]
movzx ecx, cl
lea ecx, [ecx + eax + 5]
mov eax, dword [edx + 0x364]
jmp 0x4696db
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x469606
mov ecx, dword [eax - 4]
lea ecx, [ecx + eax + 5]
mov eax, dword [esp + 0x6c]
mov eax, dword [eax + 0x35c]
jmp 0x46967b
movzx edx, cl
lea ecx, [edx + eax + 5]
mov eax, dword [esp + 0x6c]
mov eax, dword [eax + 0x35c]
jmp 0x46967b
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x46963d
mov edx, dword [eax - 4]
lea ecx, [edx + eax + 5]
mov edx, dword [esp + 0x6c]
mov eax, dword [edx + 0x35c]
jmp 0x4696db
mov edx, dword [esp + 0x6c]
movzx ecx, cl
lea ecx, [ecx + eax + 5]
mov eax, dword [edx + 0x35c]
jmp 0x4696db
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x46966a
mov ecx, dword [eax - 4]
lea ecx, [ecx + eax + 5]
jmp 0x469671
movzx edx, cl
lea ecx, [edx + eax + 5]
mov eax, dword [esp + 0x6c]
mov eax, dword [eax + 0x36c]
mov edx, dword [ecx + eax]
mov eax, dword [ecx + eax + 4]
cmp eax, dword [edi + 0x1c]
jb case.0x4627ce.1
ja 0x469696
cmp edx, dword [edi + 0x18]
jb case.0x4627ce.1
cmp eax, dword [edi + 0x24]
ja case.0x4627ce.1
jb case.0x4627ce.0
cmp edx, dword [edi + 0x20]
ja case.0x4627ce.1
jmp case.0x4627ce.0
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x4696ca
mov edx, dword [eax - 4]
lea ecx, [edx + eax + 5]
jmp 0x4696d1
movzx ecx, cl
lea ecx, [ecx + eax + 5]
mov edx, dword [esp + 0x6c]
mov eax, dword [edx + 0x36c]
mov edx, dword [ecx + eax]
mov eax, dword [ecx + eax + 4]
cmp eax, dword [edi + 0x1c]
jb case.0x4627ce.0
ja 0x4696f6
cmp edx, dword [edi + 0x18]
jb case.0x4627ce.0
cmp eax, dword [edi + 0x24]
ja case.0x4627ce.0
jb case.0x4627ce.1
cmp edx, dword [edi + 0x20]
jbe case.0x4627ce.1
jmp case.0x4627ce.0
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x46972a
mov ecx, dword [eax - 4]
lea ecx, [ecx + eax + 5]
jmp 0x469731
movzx edx, cl
lea ecx, [edx + eax + 5]
mov edx, dword [esp + 0x6c]
mov edx, dword [edx + 0x374]
mov eax, dword [edi + 0x14]
mov ecx, dword [ecx + edx]
and ecx, eax
cmp ecx, eax
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x469767
mov ecx, dword [eax - 4]
lea ecx, [ecx + eax + 5]
jmp 0x46976e
movzx edx, cl
lea ecx, [edx + eax + 5]
mov edx, dword [esp + 0x6c]
mov edx, dword [edx + 0x374]
mov eax, dword [edi + 0x14]
mov ecx, dword [ecx + edx]
and ecx, eax
cmp ecx, eax
jmp 0x469c53
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
mov ecx, dword [esp + 0x24]
mov esi, dword [edi + 0x14]
push eax
push ecx
call fcn.0042d2f0
and eax, esi
cmp eax, esi
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
mov ecx, dword [esp + 0x24]
mov esi, dword [edi + 0x14]
push eax
push ecx
call fcn.0042d2f0
and eax, esi
cmp eax, esi
jmp 0x469c53
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
mov ecx, dword [esp + 0x24]
push eax
push ecx
call fcn.0042d3b0
jmp 0x469960
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
mov ecx, dword [esp + 0x24]
push eax
push ecx
call fcn.0042d3b0
jmp 0x4699a2
mov esi, dword [esp + 0x1c]
mov edx, dword [esi]
mov eax, dword [esp + 0x24]
push edx
push eax
call fcn.0042d3b0
mov ecx, dword [esi]
mov dword [esp + 0x19c], edx
mov edx, dword [esp + 0x24]
push ecx
push edx
mov ebx, eax
call fcn.0042d440
cmp ebx, eax
jne case.0x4627ce.1
cmp dword [esp + 0x19c], edx
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov esi, dword [esp + 0x1c]
mov edx, dword [esi]
mov eax, dword [esp + 0x24]
push edx
push eax
call fcn.0042d3b0
mov ecx, dword [esi]
mov ebx, edx
mov edx, dword [esp + 0x24]
push ecx
push edx
mov dword [esp + 0x198], eax
call fcn.0042d440
cmp ebx, edx
jb case.0x4627ce.1
ja case.0x4627ce.0
cmp dword [esp + 0x190], eax
jb case.0x4627ce.1
jmp case.0x4627ce.0
mov esi, dword [esp + 0x1c]
mov eax, dword [esi]
mov ebx, dword [esp + 0x24]
push eax
push ebx
call fcn.0042d3b0
mov ecx, dword [esi]
push ecx
push ebx
call fcn.0042d440
jmp case.0x4627ce.1
mov esi, dword [esp + 0x1c]
mov edx, dword [esi]
mov eax, dword [esp + 0x24]
push edx
push eax
call fcn.0042d3b0
mov ecx, dword [esi]
mov ebx, edx
mov edx, dword [esp + 0x24]
push ecx
push edx
mov dword [esp + 0x190], eax
call fcn.0042d440
cmp ebx, edx
jb case.0x4627ce.1
ja case.0x4627ce.0
cmp dword [esp + 0x188], eax
jbe case.0x4627ce.1
jmp case.0x4627ce.0
mov esi, dword [esp + 0x1c]
mov eax, dword [esi]
mov ebx, dword [esp + 0x24]
push eax
push ebx
call fcn.0042d3b0
mov ecx, dword [esi]
push ecx
push ebx
call fcn.0042d440
jmp case.0x4627ce.0
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
mov ecx, dword [esp + 0x24]
push eax
push ecx
call fcn.0042d350
jmp 0x469960
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
mov ecx, dword [esp + 0x24]
push eax
push ecx
call fcn.0042d350
jmp 0x4699a2
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
mov ecx, dword [esp + 0x24]
push eax
push ecx
call fcn.0042d410
jmp 0x469960
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
mov ecx, dword [esp + 0x24]
push eax
push ecx
call fcn.0042d410
jmp 0x4699a2
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
mov ecx, dword [esp + 0x24]
push eax
push ecx
call fcn.0042d440
cmp edx, dword [edi + 0x1c]
jb case.0x4627ce.1
ja 0x469974
cmp eax, dword [edi + 0x18]
jb case.0x4627ce.1
cmp edx, dword [edi + 0x24]
ja case.0x4627ce.1
jb case.0x4627ce.0
cmp eax, dword [edi + 0x20]
ja case.0x4627ce.1
jmp case.0x4627ce.0
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
mov ecx, dword [esp + 0x24]
push eax
push ecx
call fcn.0042d440
cmp edx, dword [edi + 0x1c]
jb case.0x4627ce.0
ja 0x4699b6
cmp eax, dword [edi + 0x18]
jb case.0x4627ce.0
cmp edx, dword [edi + 0x24]
ja case.0x4627ce.0
jb case.0x4627ce.1
cmp eax, dword [edi + 0x20]
jbe case.0x4627ce.1
jmp case.0x4627ce.0
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx]
push eax
push edx
call fcn.00431100
mov esi, eax
mov eax, dword [edi + 0x20]
push eax
lea ecx, [edi + 0x24]
push ecx
push esi
call fcn.00403620
mov edx, dword [edi + 0x14]
push eax
push esi
call edx
jmp 0x469c51
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
mov edx, dword [esp + 0x24]
mov eax, dword [edx]
push ecx
push eax
call fcn.00431100
mov ecx, dword [edi + 0x20]
push ecx
lea edx, [edi + 0x24]
mov esi, eax
push edx
push esi
call fcn.00403620
push eax
mov eax, dword [edi + 0x14]
push esi
call eax
test eax, eax
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x2f8], 0
mov eax, dword [ecx]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x469a57
mov eax, dword [eax - 4]
jmp 0x469a5a
movzx eax, cl
push 0x80
mov dword [esp + 0x300], eax
mov eax, dword [esp + 0x20]
mov ecx, dword [eax]
lea edx, [esp + 0x2fc]
push edx
push 0xa
add ecx, 5
push ecx
lea edx, [edi + 0x14]
push edx
call fcn.00543c20
test eax, eax
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
push ecx
lea edx, [esp + 0x74]
push edx
call fcn.004240c0
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0x78]
push 0x80
lea ecx, [esp + 0x20c]
push ecx
push 0xa
mov dword [esp + 0x218], eax
push edx
lea eax, [edi + 0x14]
push eax
mov dword [esp + 0x21c], 0
call fcn.00543c20
test eax, eax
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x2a8], 0
mov eax, dword [ecx]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x469aff
mov eax, dword [eax - 4]
jmp 0x469b02
movzx eax, cl
push 0x80
mov dword [esp + 0x2b0], eax
mov eax, dword [esp + 0x20]
mov ecx, dword [eax]
lea edx, [esp + 0x2ac]
push edx
push 0xa
add ecx, 5
push ecx
lea edx, [edi + 0x14]
push edx
call fcn.00543c20
jmp 0x469c51
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
push ecx
lea edx, [esp + 0x74]
push edx
call fcn.004240c0
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0x78]
push 0x80
lea ecx, [esp + 0x34c]
push ecx
push 0xa
mov dword [esp + 0x358], eax
push edx
lea eax, [edi + 0x14]
push eax
mov dword [esp + 0x35c], 0
call fcn.00543c20
jmp 0x469c51
mov ecx, dword [edi + 0x14]
mov eax, dword [esp + 0x1c]
push ecx
mov ecx, dword [eax]
lea edx, [edi + 0x1c]
push edx
push ecx
call fcn.00430a40
jmp 0x469c51
mov edx, dword [edi + 0x14]
mov ecx, dword [esp + 0x1c]
push edx
mov edx, dword [ecx]
lea eax, [edi + 0x1c]
push eax
push edx
call fcn.00430a40
test eax, eax
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov eax, dword [edi + 0x14]
mov edx, dword [esp + 0x1c]
push eax
mov eax, dword [edx]
lea ecx, [edi + 0x1c]
push ecx
push eax
call fcn.00430b40
jmp 0x469c51
mov ecx, dword [edi + 0x14]
mov eax, dword [esp + 0x1c]
push ecx
mov ecx, dword [eax]
lea edx, [edi + 0x1c]
push edx
push ecx
call fcn.00430b40
test eax, eax
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov edx, dword [edi + 0x14]
mov ecx, dword [esp + 0x1c]
push edx
mov edx, dword [ecx]
lea eax, [edi + 0x1c]
push eax
push edx
call fcn.00430ae0
jmp 0x469c51
mov eax, dword [edi + 0x14]
mov edx, dword [esp + 0x1c]
push eax
mov eax, dword [edx]
lea ecx, [edi + 0x1c]
push ecx
push eax
call fcn.00430ae0
test eax, eax
jne case.0x4627ce.1
jmp case.0x4627ce.0
mov ecx, dword [edi + 0x14]
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
push ecx
push eax
call fcn.00430be0
jmp 0x469c51
mov ecx, dword [edi + 0x14]
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
push ecx
push eax
call fcn.00430be0
jmp 0x469c73
mov ecx, dword [edi + 0x14]
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
push ecx
push eax
call fcn.00430bb0
test eax, eax
je case.0x4627ce.1
cmp dword [edi + 4], 0
je 0x469c85
mov edi, dword [edi + 4]
jmp 0x4627b3
mov ecx, dword [edi + 0x14]
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
push ecx
push eax
call fcn.00430bb0
test eax, eax
je case.0x4627ce.0
cmp dword [edi + 8], 0
je 0x469cb2
mov edi, dword [edi + 8]
jmp 0x4627b3
mov eax, dword [esp + 0x28]
cmp eax, dword [esp + 0x20]
jne 0x469ca3
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004021c0
lea edx, [eax + 0xff0]
mov dword [esp + 0x20], edx
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
mov dword [eax], edx
add eax, 4
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x1c]
add eax, 4
cmp eax, dword [esp + 0x30]
mov dword [esp + 0x1c], eax
jne 0x462799
mov eax, 1
add dword [esp + 0x68], eax
sub dword [esp + 0x180], eax
jne 0x46276c
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
push eax
push ecx
push edx
call fcn.004014a0
lea eax, [esp + 0x70]
push eax
call fcn.00522920
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 4