Function at 0x46a930
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 + 0x38], esi
mov dword [esp + 0x6c], eax
call fcn.0051ec40
mov eax, dword [edi + 0x20]
mov esi, dword [esi + 0xb4]
mov edx, dword [edi + 0x2c]
mov ecx, dword [edi + 0x28]
push eax
mov dword [esp + 0x14], esi
mov dword [esp + 0x48], eax
mov dword [esp + 0x184], edx
mov dword [esp + 0x188], ecx
call fcn.00401320
xor ebx, ebx
xor edi, edi
test esi, esi
mov dword [esp + 0x38], ebx
mov dword [esp + 0x24], edi
je 0x488888
cmp dword [esi], ebx
jne 0x47c86c
cmp dword [esp + 0x180], ebx
je 0x488888
lea ecx, [ecx]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x24]
mov ecx, dword [eax]
mov edx, dword [esp + 0x184]
mov eax, dword [ecx + edx*4]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
lea esi, [ecx + eax]
lea ecx, [ecx + edx*4]
add ecx, eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xc]
cmp eax, 0x183
mov dword [esp + 0x28], esi
mov dword [esp + 0x1c], ecx
ja case.0x46a9ea.1
jmp dword [eax*4 + 0x4888b4]
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x46aa00
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x488888
mov ecx, dword [esi]
mov al, byte [ecx + 4]
cmp al, 0xff
jne 0x46aa20
mov edi, dword [ecx - 4]
jmp 0x46aa23
movzx edi, al
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x14]
add eax, 0x18
add ecx, 5
cmp edx, edi
mov dword [esp + 0x4c], edx
jle 0x46aa3f
xor eax, eax
jmp 0x46ad44
add edx, eax
mov dword [esp + 0x48], edx
lea esi, [ecx + edi]
sub ecx, eax
mov edx, ecx
sub edx, dword [esp + 0x4c]
mov dword [esp + 0x2c], ecx
add edx, edi
mov dword [esp + 0x54], 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 + 0x48]
sub edx, eax
sub esi, eax
mov dword [esp + 0x50], edx
mov dword [esp + 0x60], esi
nop
mov eax, dword [esp + 0x58]
mov esi, dword [esp + 0x10]
mov edi, ecx
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x60]
add esi, 0x18
mov dword [esp + 0x3c], eax
mov dword [esp + 0x20], edx
mov dword [esp + 0x18], ecx
lea ecx, [ecx]
cmp esi, dword [esp + 0x48]
jae 0x46ad3b
mov cl, byte [esi + edi]
mov bl, byte [esi]
mov edx, dword [0x58b5d0]
movzx eax, cl
cmp byte [eax + edx], bl
jne 0x46aaee
mov ebx, dword [esp + 0x38]
mov eax, 1
add dword [esp + 0x3c], eax
add dword [esp + 0x14], eax
add dword [esp + 0x30], eax
sub dword [esp + 0x18], eax
add esi, eax
sub dword [esp + 0x20], eax
jmp 0x46aab0
test cl, cl
jns 0x46ad17
mov edx, dword [esp + 0x18]
sub edx, edi
cmp edx, 2
mov dword [esp + 0x4c], edx
jl 0x46ab35
mov dl, cl
and dl, 0xe0
cmp dl, 0xc0
jne 0x46ab31
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 + 0x4c], eax
add edi, 1
jmp 0x46abc2
mov edx, dword [esp + 0x4c]
cmp edx, 3
jl 0x46ab74
mov dl, cl
and dl, 0xf0
cmp dl, 0xe0
jne 0x46ab70
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 + 0x4c], eax
add edi, 2
jmp 0x46abc2
mov edx, dword [esp + 0x4c]
cmp edx, 4
jl 0x46abba
and cl, 0xf8
cmp cl, 0xf0
jne 0x46abba
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 + 0x4c], eax
add edi, 3
jmp 0x46abc2
mov dword [esp + 0x4c], 0
test bl, bl
jns 0x46acdb
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x48]
cmp ecx, eax
ja 0x46ac18
mov dl, bl
and dl, 0xe0
cmp dl, 0xc0
jne 0x46ac18
movzx eax, byte [esi + 1]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, 2
add dword [esp + 0x3c], eax
add dword [esp + 0x30], eax
sub dword [esp + 0x18], eax
sub dword [esp + 0x20], eax
add ecx, eax
add esi, eax
mov eax, 1
mov dword [esp + 0x14], ecx
sub edi, eax
jmp 0x46acf9
cmp dword [esp + 0x30], eax
ja 0x46ac6c
mov dl, bl
and dl, 0xf0
cmp dl, 0xe0
jne 0x46ac6c
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 + 0x3c], eax
add dword [esp + 0x30], eax
sub dword [esp + 0x18], eax
sub dword [esp + 0x20], eax
shl ebx, 6
and edx, 0x3f
add ecx, eax
add esi, eax
or ebx, edx
mov dword [esp + 0x14], ecx
sub edi, 2
mov eax, 1
jmp 0x46acf9
cmp dword [esp + 0x3c], eax
ja 0x46accc
mov al, bl
and al, 0xf8
cmp al, 0xf0
jne 0x46accc
movzx edx, byte [esi + 1]
movzx eax, byte [ecx]
add dword [esp + 0x3c], 4
and ebx, 7
shl ebx, 6
and edx, 0x3f
or ebx, edx
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, dword [esp + 0x30]
movzx edx, byte [eax]
and edx, 0x3f
shl ebx, 6
or ebx, edx
mov edx, 4
sub dword [esp + 0x18], edx
sub dword [esp + 0x20], edx
add eax, edx
add ecx, edx
add esi, 4
mov dword [esp + 0x30], eax
mov dword [esp + 0x14], ecx
sub edi, 3
lea eax, [edx - 3]
jmp 0x46acf9
mov eax, 1
xor ebx, ebx
add ecx, eax
mov dword [esp + 0x14], ecx
jmp 0x46ace7
mov eax, 1
add dword [esp + 0x14], eax
movzx ebx, bl
add dword [esp + 0x3c], eax
add dword [esp + 0x30], eax
sub dword [esp + 0x18], eax
add esi, eax
sub dword [esp + 0x20], eax
cmp dword [esp + 0x4c], ebx
jne 0x46ad1c
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x38]
sub eax, edi
cmp eax, dword [esp + 0x20]
jge 0x46aab0
xor eax, eax
jmp 0x46ad40
mov eax, 1
mov ecx, dword [esp + 0x2c]
cmp ecx, dword [esp + 0x54]
mov ebx, dword [esp + 0x38]
je 0x46ad13
add dword [esp + 0x2c], eax
mov edx, dword [esp + 0x50]
mov ecx, dword [esp + 0x2c]
jmp 0x46aa80
mov eax, 1
mov esi, dword [esp + 0x28]
test eax, eax
je 0x46ad6f
cmp ebx, dword [esp + 0x24]
jne 0x46ad64
mov edx, dword [esp + 0x44]
push edx
call fcn.004021c0
mov ebx, eax
lea eax, [ebx + 0xff0]
mov dword [esp + 0x24], eax
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
mov dword [esp + 0x28], esi
jne 0x46aa00
mov edi, dword [esp + 0x24]
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x46adb4
mov edx, dword [eax - 4]
jmp 0x46adb7
movzx edx, cl
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx + 0x14]
test ecx, ecx
mov dword [esp + 0x50], ecx
je 0x46b114
add eax, 5
mov dword [esp + 0x30], eax
mov dword [esp + 0x4c], edx
jmp 0x46ade0
mov eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x10]
add eax, 0x18
mov dword [esp + 0x18], edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], ecx
cmp dword [esp + 0x28], 0
je 0x46b110
mov edx, dword [esp + 0x18]
mov al, byte [edx]
mov edx, dword [0x58b5d0]
movzx edi, al
mov byte [esp + 0x43], al
mov eax, dword [esp + 0x14]
mov cl, byte [eax]
cmp byte [edi + edx], cl
mov byte [esp + 0x6f], cl
jne 0x46ae52
mov edi, dword [esp + 0x20]
mov ecx, 1
add dword [esp + 0x18], ecx
sub dword [esp + 0x28], ecx
add eax, ecx
sub edi, ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], edi
jmp 0x46b02b
test byte [esp + 0x43], 0x80
je 0x46b093
cmp dword [esp + 0x28], 2
jl 0x46aea7
mov dl, byte [esp + 0x43]
and dl, 0xe0
cmp dl, 0xc0
jne 0x46aea7
mov eax, dword [esp + 0x18]
movzx ecx, byte [eax + 1]
and edi, 0x1f
and ecx, 0x3f
shl edi, 6
or ecx, edi
push ecx
call fcn.00409960
mov cl, byte [esp + 0x6f]
mov dword [esp + 0x2c], eax
mov eax, 2
add dword [esp + 0x18], eax
sub dword [esp + 0x28], eax
mov eax, dword [esp + 0x14]
jmp 0x46af6e
cmp dword [esp + 0x28], 3
jl 0x46aefa
mov dl, byte [esp + 0x43]
and dl, 0xf0
cmp dl, 0xe0
jne 0x46aefa
mov eax, dword [esp + 0x18]
movzx ecx, byte [eax + 1]
movzx edx, byte [eax + 2]
and ecx, 0x3f
and edi, 0xf
shl edi, 6
or ecx, edi
shl ecx, 6
and edx, 0x3f
or ecx, edx
push ecx
call fcn.00409960
mov cl, byte [esp + 0x6f]
mov dword [esp + 0x2c], eax
mov eax, 3
add dword [esp + 0x18], eax
sub dword [esp + 0x28], eax
mov eax, dword [esp + 0x14]
jmp 0x46af6e
cmp dword [esp + 0x28], 4
jl 0x46af59
mov dl, byte [esp + 0x43]
and dl, 0xf8
cmp dl, 0xf0
jne 0x46af59
mov eax, dword [esp + 0x18]
movzx ecx, byte [eax + 1]
movzx edx, byte [eax + 2]
movzx eax, byte [eax + 3]
and ecx, 0x3f
and edi, 7
shl edi, 6
or ecx, edi
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
push ecx
call fcn.00409960
mov cl, byte [esp + 0x6f]
mov dword [esp + 0x2c], eax
mov eax, 4
add dword [esp + 0x18], eax
sub dword [esp + 0x28], eax
mov eax, dword [esp + 0x14]
jmp 0x46af6e
mov edx, 1
add dword [esp + 0x18], edx
sub dword [esp + 0x28], edx
mov dword [esp + 0x2c], 0
test cl, cl
mov edi, dword [esp + 0x20]
jns 0x46b014
cmp edi, 2
jl 0x46afa0
mov dl, cl
and dl, 0xe0
cmp dl, 0xc0
jne 0x46afa0
movzx edx, byte [eax + 1]
and ecx, 0x1f
and edx, 0x3f
shl ecx, 6
or ecx, edx
add eax, 2
sub edi, 2
jmp 0x46b01d
cmp edi, 3
jl 0x46afd2
mov dl, cl
and dl, 0xf0
cmp dl, 0xe0
jne 0x46afd2
movzx edx, byte [eax + 1]
and ecx, 0xf
shl ecx, 6
and edx, 0x3f
or edx, ecx
movzx ecx, byte [eax + 2]
shl edx, 6
and ecx, 0x3f
or ecx, edx
add eax, 3
sub edi, 3
jmp 0x46b01d
cmp edi, 4
jl 0x46b010
mov dl, cl
and dl, 0xf8
cmp dl, 0xf0
jne 0x46b010
movzx edx, byte [eax + 1]
and ecx, 7
shl ecx, 6
and edx, 0x3f
or edx, ecx
movzx ecx, byte [eax + 2]
and ecx, 0x3f
shl edx, 6
or edx, ecx
movzx ecx, byte [eax + 3]
shl edx, 6
and ecx, 0x3f
or ecx, edx
add eax, 4
sub edi, 4
jmp 0x46b01d
xor ecx, ecx
jmp 0x46b017
movzx ecx, cl
add eax, 1
sub edi, 1
cmp dword [esp + 0x2c], ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], edi
jne 0x46b093
test edi, edi
jne 0x46ae03
mov edx, dword [esp + 0x14]
mov al, byte [edx - 1]
cmp al, 0x61
jb 0x46b042
cmp al, 0x7a
jbe 0x46b05e
cmp al, 0x41
jb 0x46b04a
cmp al, 0x5a
jbe 0x46b05e
cmp al, 0x30
jb 0x46b052
cmp al, 0x39
jbe 0x46b05e
cmp al, 0x5f
je 0x46b05e
test al, al
jns 0x46b114
cmp dword [esp + 0x28], 0
je 0x46b114
mov eax, dword [esp + 0x18]
mov al, byte [eax]
cmp al, 0x61
jb 0x46b077
cmp al, 0x7a
jbe 0x46b093
cmp al, 0x41
jb 0x46b07f
cmp al, 0x5a
jbe 0x46b093
cmp al, 0x30
jb 0x46b087
cmp al, 0x39
jbe 0x46b093
cmp al, 0x5f
je 0x46b093
test al, al
jns 0x46b114
mov eax, dword [esp + 0x10]
mov cl, byte [eax + 0x18]
add eax, 0x18
lea ecx, [ecx]
mov eax, 1
add dword [esp + 0x30], eax
sub dword [esp + 0x4c], eax
cmp cl, 0x61
jb 0x46b0b7
cmp cl, 0x7a
jbe 0x46b0d8
cmp cl, 0x41
jb 0x46b0c1
cmp cl, 0x5a
jbe 0x46b0d8
cmp cl, 0x30
jb 0x46b0cb
cmp cl, 0x39
jbe 0x46b0d8
cmp cl, 0x5f
je 0x46b0d8
test cl, cl
jns 0x46ade0
cmp dword [esp + 0x4c], 0
je 0x46ade0
mov edx, dword [esp + 0x30]
mov al, byte [edx - 1]
cmp al, 0x61
jb 0x46b0f2
cmp al, 0x7a
jbe 0x46b0a0
cmp al, 0x41
jb 0x46b0fa
cmp al, 0x5a
jbe 0x46b0a0
cmp al, 0x30
jb 0x46b102
cmp al, 0x39
jbe 0x46b0a0
cmp al, 0x5f
je 0x46b0a0
test al, al
jns 0x46ade0
jmp 0x46b0a0
xor eax, eax
jmp 0x46b119
mov eax, 1
test eax, eax
je 0x46b144
cmp ebx, dword [esp + 0x24]
jne 0x46b139
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea ecx, [ebx + 0xff0]
mov dword [esp + 0x24], ecx
mov edx, dword [esi]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x46ad93
mov edi, dword [esp + 0x24]
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x488888
mov ecx, dword [esi]
mov al, byte [ecx + 4]
cmp al, 0xff
jne 0x46b184
mov edx, dword [ecx - 4]
jmp 0x46b187
movzx edx, al
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x10]
add eax, 0x18
add ecx, 5
cmp dword [esp + 0x48], edx
jle 0x46b1a9
xor eax, eax
jmp 0x46b490
mov ebx, dword [esp + 0x48]
lea esi, [ecx + edx]
sub ecx, eax
mov dword [esp + 0x2c], ecx
sub ecx, ebx
add ecx, edx
mov dword [esp + 0x58], ecx
lea edi, [eax + ebx]
lea ecx, [eax + 3]
mov dword [esp + 0x50], ecx
mov dword [esp + 0x4c], edi
lea ecx, [eax + 4]
sub edi, eax
lea edx, [eax + 2]
sub esi, eax
mov dword [esp + 0x60], ecx
mov dword [esp + 0x54], edx
mov dword [esp + 0x5c], edi
mov dword [esp + 0x64], esi
mov ecx, 1
jmp 0x46b1f0
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x54]
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x60]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x64]
add esi, 0x18
mov dword [esp + 0x14], eax
mov dword [esp + 0x3c], edx
cmp esi, dword [esp + 0x4c]
jae 0x46b482
mov cl, byte [esi + edi]
mov bl, byte [esi]
mov edx, dword [0x58b5d4]
movzx eax, cl
cmp byte [eax + edx], bl
jne 0x46b25d
mov ecx, 1
add dword [esp + 0x20], ecx
add dword [esp + 0x30], ecx
add dword [esp + 0x18], ecx
sub dword [esp + 0x3c], ecx
add esi, ecx
sub dword [esp + 0x14], ecx
jmp 0x46b223
test cl, cl
jns 0x46b46a
mov edx, dword [esp + 0x3c]
sub edx, edi
cmp edx, 2
mov dword [esp + 0x48], edx
jl 0x46b2a0
mov dl, cl
and dl, 0xe0
cmp dl, 0xc0
jne 0x46b29c
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 0x46b31f
mov edx, dword [esp + 0x48]
cmp edx, 3
jl 0x46b2db
mov dl, cl
and dl, 0xf0
cmp dl, 0xe0
jne 0x46b2d7
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 0x46b31f
mov edx, dword [esp + 0x48]
cmp edx, 4
jl 0x46b31d
and cl, 0xf8
cmp cl, 0xf0
jne 0x46b31d
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 0x46b31f
xor eax, eax
test bl, bl
mov ecx, 1
jns 0x46b439
mov ecx, dword [esp + 0x4c]
cmp dword [esp + 0x30], ecx
ja 0x46b376
mov dl, bl
and dl, 0xe0
cmp dl, 0xc0
jne 0x46b376
movzx ecx, byte [esi + 1]
and ebx, 0x1f
and ecx, 0x3f
shl ebx, 6
or ebx, ecx
mov ecx, 2
add dword [esp + 0x20], ecx
add dword [esp + 0x30], ecx
add dword [esp + 0x18], ecx
sub dword [esp + 0x3c], ecx
sub dword [esp + 0x14], ecx
add esi, ecx
mov ecx, 1
sub edi, ecx
jmp 0x46b452
cmp dword [esp + 0x18], ecx
ja 0x46b3ce
mov dl, bl
and dl, 0xf0
cmp dl, 0xe0
jne 0x46b3ce
movzx ecx, byte [esi + 1]
add dword [esp + 0x20], 3
and ebx, 0xf
and ecx, 0x3f
shl ebx, 6
or ebx, ecx
mov ecx, dword [esp + 0x30]
movzx edx, byte [ecx]
and edx, 0x3f
shl ebx, 6
or ebx, edx
mov edx, 3
add dword [esp + 0x18], edx
sub dword [esp + 0x3c], edx
sub dword [esp + 0x14], edx
add ecx, edx
add esi, 3
mov dword [esp + 0x30], ecx
sub edi, 2
lea ecx, [edx - 2]
jmp 0x46b452
cmp dword [esp + 0x20], ecx
ja 0x46b432
mov cl, bl
and cl, 0xf8
cmp cl, 0xf0
jne 0x46b432
movzx edx, byte [esi + 1]
mov ecx, dword [esp + 0x30]
add dword [esp + 0x20], 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 + 0x18]
movzx edx, byte [edx]
and edx, 0x3f
shl ebx, 6
or ebx, edx
mov edx, 4
add dword [esp + 0x18], edx
sub dword [esp + 0x3c], edx
sub dword [esp + 0x14], edx
add ecx, edx
add esi, 4
mov dword [esp + 0x30], ecx
sub edi, 3
lea ecx, [edx - 3]
jmp 0x46b452
xor ebx, ebx
lea ecx, [ebx + 1]
jmp 0x46b43c
movzx ebx, bl
add dword [esp + 0x20], ecx
add dword [esp + 0x30], ecx
add dword [esp + 0x18], ecx
sub dword [esp + 0x3c], ecx
add esi, ecx
sub dword [esp + 0x14], ecx
cmp eax, ebx
jne 0x46b46f
mov eax, dword [esp + 0x3c]
sub eax, edi
cmp eax, dword [esp + 0x14]
jge 0x46b223
xor eax, eax
jmp 0x46b484
mov ecx, 1
mov edx, dword [esp + 0x2c]
cmp edx, dword [esp + 0x58]
je 0x46b466
add dword [esp + 0x2c], ecx
jmp 0x46b1f0
mov eax, ecx
mov ebx, dword [esp + 0x38]
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x24]
test eax, eax
je 0x46b4b9
cmp ebx, edi
jne 0x46b4ae
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
mov dword [esp + 0x28], esi
jne 0x46b164
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
lea esp, [esp]
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
mov esi, dword [esp + 0x10]
jne 0x488888
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x46b509
mov ecx, dword [eax - 4]
jmp 0x46b50c
movzx ecx, cl
mov edx, dword [esi + 0x14]
add esi, 0x18
test edx, edx
mov dword [esp + 0x50], edx
mov dword [esp + 0x48], esi
je 0x46b7e7
add eax, 5
mov dword [esp + 0x4c], eax
mov dword [esp + 0x2c], ecx
lea ecx, [ecx]
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x50]
mov edi, dword [esp + 0x4c]
mov esi, dword [esp + 0x48]
mov dword [esp + 0x18], edx
mov dword [esp + 0x14], ecx
cmp dword [esp + 0x18], 0
je 0x46b7e3
mov al, byte [edi]
mov bl, byte [esi]
mov edx, dword [0x58b5d4]
mov byte [esp + 0x43], al
movzx eax, al
cmp byte [eax + edx], bl
jne 0x46b580
sub dword [esp + 0x18], 1
add edi, 1
add esi, 1
sub ecx, 1
mov dword [esp + 0x14], ecx
jmp 0x46b711
test byte [esp + 0x43], 0x80
je 0x46b76d
cmp dword [esp + 0x18], 2
jl 0x46b5c4
mov dl, byte [esp + 0x43]
and dl, 0xe0
cmp dl, 0xc0
jne 0x46b5c4
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 + 0x14]
add edi, 2
sub dword [esp + 0x18], 2
jmp 0x46b65e
cmp dword [esp + 0x18], 3
jl 0x46b606
mov dl, byte [esp + 0x43]
and dl, 0xf0
cmp dl, 0xe0
jne 0x46b606
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 + 0x14]
add edi, 3
sub dword [esp + 0x18], 3
jmp 0x46b65e
cmp dword [esp + 0x18], 4
jl 0x46b654
mov dl, byte [esp + 0x43]
and dl, 0xf8
cmp dl, 0xf0
jne 0x46b654
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 + 0x14]
add edi, 4
sub dword [esp + 0x18], 4
jmp 0x46b65e
xor eax, eax
add edi, 1
sub dword [esp + 0x18], 1
test bl, bl
jns 0x46b700
cmp ecx, 2
jl 0x46b68c
mov dl, bl
and dl, 0xe0
cmp dl, 0xc0
jne 0x46b68c
movzx edx, byte [esi + 1]
and ebx, 0x1f
shl ebx, 6
and edx, 0x3f
or ebx, edx
add esi, 2
sub ecx, 2
jmp 0x46b709
cmp ecx, 3
jl 0x46b6be
mov dl, bl
and dl, 0xf0
cmp dl, 0xe0
jne 0x46b6be
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 0x46b709
cmp ecx, 4
jl 0x46b6fc
mov dl, bl
and dl, 0xf8
cmp dl, 0xf0
jne 0x46b6fc
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 0x46b709
xor ebx, ebx
jmp 0x46b703
movzx ebx, bl
add esi, 1
sub ecx, 1
cmp eax, ebx
mov dword [esp + 0x14], ecx
jne 0x46b76d
test ecx, ecx
jne 0x46b548
mov al, byte [esi - 1]
cmp al, 0x61
jb 0x46b724
cmp al, 0x7a
jbe 0x46b740
cmp al, 0x41
jb 0x46b72c
cmp al, 0x5a
jbe 0x46b740
cmp al, 0x30
jb 0x46b734
cmp al, 0x39
jbe 0x46b740
cmp al, 0x5f
je 0x46b740
test al, al
jns 0x46b7e7
cmp dword [esp + 0x18], 0
je 0x46b7e7
mov al, byte [edi]
cmp al, 0x61
jb 0x46b755
cmp al, 0x7a
jbe 0x46b76d
cmp al, 0x41
jb 0x46b75d
cmp al, 0x5a
jbe 0x46b76d
cmp al, 0x30
jb 0x46b765
cmp al, 0x39
jbe 0x46b76d
cmp al, 0x5f
je 0x46b76d
test al, al
jns 0x46b7e7
mov eax, dword [esp + 0x48]
mov cl, byte [eax]
mov eax, 1
add dword [esp + 0x4c], eax
sub dword [esp + 0x2c], eax
cmp cl, 0x61
jb 0x46b78a
cmp cl, 0x7a
jbe 0x46b7ab
cmp cl, 0x41
jb 0x46b794
cmp cl, 0x5a
jbe 0x46b7ab
cmp cl, 0x30
jb 0x46b79e
cmp cl, 0x39
jbe 0x46b7ab
cmp cl, 0x5f
je 0x46b7ab
test cl, cl
jns 0x46b530
cmp dword [esp + 0x2c], 0
je 0x46b530
mov edx, dword [esp + 0x4c]
mov al, byte [edx - 1]
cmp al, 0x61
jb 0x46b7c5
cmp al, 0x7a
jbe 0x46b773
cmp al, 0x41
jb 0x46b7cd
cmp al, 0x5a
jbe 0x46b773
cmp al, 0x30
jb 0x46b7d5
cmp al, 0x39
jbe 0x46b773
cmp al, 0x5f
je 0x46b773
test al, al
jns 0x46b530
jmp 0x46b773
xor eax, eax
jmp 0x46b7ec
mov eax, 1
test eax, eax
je 0x46b81d
mov eax, dword [esp + 0x38]
cmp eax, dword [esp + 0x24]
jne 0x46b80e
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
lea ecx, [eax + 0xff0]
mov dword [esp + 0x24], ecx
mov edx, dword [esp + 0x28]
mov ecx, dword [edx]
mov dword [eax], ecx
add eax, 4
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x28]
add eax, 4
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x28], eax
jne 0x46b4e0
mov ebx, dword [esp + 0x38]
mov edi, dword [esp + 0x24]
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
lea esp, [esp]
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov ecx, dword [esi]
push ecx
lea edx, [esp + 0x74]
push edx
call fcn.00424170
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x14]
mov edi, dword [esp + 0x70]
add eax, 0x18
cmp edx, edi
jle 0x46b888
xor eax, eax
jmp 0x46bb6c
mov ecx, dword [esp + 0x78]
lea esi, [ecx + edi]
sub ecx, eax
mov dword [esp + 0x2c], ecx
sub ecx, edx
add ecx, edi
mov dword [esp + 0x58], ecx
lea ebx, [eax + edx]
lea ecx, [eax + 3]
mov dword [esp + 0x50], ecx
mov dword [esp + 0x4c], ebx
lea ecx, [eax + 4]
sub ebx, eax
lea edx, [eax + 2]
sub esi, eax
mov dword [esp + 0x60], ecx
mov dword [esp + 0x54], edx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x64], esi
mov ecx, 1
lea ebx, [ebx]
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x54]
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 0x60]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x64]
add esi, 0x18
mov dword [esp + 0x30], eax
mov dword [esp + 0x18], edx
cmp esi, dword [esp + 0x4c]
jae 0x46bb62
mov cl, byte [esi + edi]
mov bl, byte [esi]
mov edx, dword [0x58b5d0]
movzx eax, cl
cmp byte [eax + edx], bl
jne 0x46b93d
mov ecx, 1
add dword [esp + 0x14], ecx
add dword [esp + 0x20], ecx
add dword [esp + 0x3c], ecx
sub dword [esp + 0x18], ecx
add esi, ecx
sub dword [esp + 0x30], ecx
jmp 0x46b903
test cl, cl
jns 0x46bb4a
mov edx, dword [esp + 0x18]
sub edx, edi
cmp edx, 2
mov dword [esp + 0x48], edx
jl 0x46b980
mov dl, cl
and dl, 0xe0
cmp dl, 0xc0
jne 0x46b97c
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 0x46b9ff
mov edx, dword [esp + 0x48]
cmp edx, 3
jl 0x46b9bb
mov dl, cl
and dl, 0xf0
cmp dl, 0xe0
jne 0x46b9b7
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 0x46b9ff
mov edx, dword [esp + 0x48]
cmp edx, 4
jl 0x46b9fd
and cl, 0xf8
cmp cl, 0xf0
jne 0x46b9fd
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 0x46b9ff
xor eax, eax
test bl, bl
mov ecx, 1
jns 0x46bb19
mov ecx, dword [esp + 0x4c]
cmp dword [esp + 0x20], ecx
ja 0x46ba56
mov dl, bl
and dl, 0xe0
cmp dl, 0xc0
jne 0x46ba56
movzx ecx, byte [esi + 1]
and ebx, 0x1f
and ecx, 0x3f
shl ebx, 6
or ebx, ecx
mov ecx, 2
add dword [esp + 0x14], ecx
add dword [esp + 0x20], ecx
add dword [esp + 0x3c], ecx
sub dword [esp + 0x18], ecx
sub dword [esp + 0x30], ecx
add esi, ecx
mov ecx, 1
sub edi, ecx
jmp 0x46bb32
cmp dword [esp + 0x3c], ecx
ja 0x46baae
mov dl, bl
and dl, 0xf0
cmp dl, 0xe0
jne 0x46baae
movzx ecx, byte [esi + 1]
add dword [esp + 0x14], 3
and ebx, 0xf
and ecx, 0x3f
shl ebx, 6
or ebx, ecx
mov ecx, dword [esp + 0x20]
movzx edx, byte [ecx]
and edx, 0x3f
shl ebx, 6
or ebx, edx
mov edx, 3
add dword [esp + 0x3c], edx
sub dword [esp + 0x18], edx
sub dword [esp + 0x30], edx
add ecx, edx
add esi, 3
mov dword [esp + 0x20], ecx
sub edi, 2
lea ecx, [edx - 2]
jmp 0x46bb32
cmp dword [esp + 0x14], ecx
ja 0x46bb12
mov cl, bl
and cl, 0xf8
cmp cl, 0xf0
jne 0x46bb12
movzx edx, byte [esi + 1]
mov ecx, dword [esp + 0x20]
add dword [esp + 0x14], 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 + 0x3c]
movzx edx, byte [edx]
and edx, 0x3f
shl ebx, 6
or ebx, edx
mov edx, 4
add dword [esp + 0x3c], edx
sub dword [esp + 0x18], edx
sub dword [esp + 0x30], edx
add ecx, edx
add esi, 4
mov dword [esp + 0x20], ecx
sub edi, 3
lea ecx, [edx - 3]
jmp 0x46bb32
xor ebx, ebx
lea ecx, [ebx + 1]
jmp 0x46bb1c
movzx ebx, bl
add dword [esp + 0x14], ecx
add dword [esp + 0x20], ecx
add dword [esp + 0x3c], ecx
sub dword [esp + 0x18], ecx
add esi, ecx
sub dword [esp + 0x30], ecx
cmp eax, ebx
jne 0x46bb4f
mov eax, dword [esp + 0x18]
sub eax, edi
cmp eax, dword [esp + 0x30]
jge 0x46b903
xor eax, eax
jmp 0x46bb64
mov ecx, 1
mov edx, dword [esp + 0x2c]
cmp edx, dword [esp + 0x58]
je 0x46bb46
add dword [esp + 0x2c], ecx
jmp 0x46b8d0
mov eax, ecx
mov ebx, dword [esp + 0x38]
mov esi, dword [esp + 0x28]
test eax, eax
je 0x46bb97
cmp ebx, dword [esp + 0x24]
jne 0x46bb8c
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea ecx, [ebx + 0xff0]
mov dword [esp + 0x24], ecx
mov edx, dword [esi]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
mov dword [esp + 0x28], esi
jne 0x46b850
mov edi, dword [esp + 0x24]
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x46bbc0
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
mov esi, dword [esp + 0x10]
jne 0x488888
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
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 + 0x50], eax
mov dword [esp + 0x48], esi
je 0x46bec3
mov edx, dword [esp + 0x78]
mov eax, dword [esp + 0x70]
mov dword [esp + 0x4c], edx
mov dword [esp + 0x2c], eax
lea ecx, [ecx]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x50]
mov edi, dword [esp + 0x4c]
mov esi, dword [esp + 0x48]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], edx
jmp 0x46bc30
cmp dword [esp + 0x18], 0
je 0x46bebf
mov cl, byte [edi]
mov bl, byte [esi]
mov edx, dword [0x58b5d0]
movzx eax, cl
cmp byte [eax + edx], bl
jne 0x46bc68
mov ecx, dword [esp + 0x14]
sub dword [esp + 0x18], 1
add edi, 1
add esi, 1
sub ecx, 1
mov dword [esp + 0x14], ecx
jmp 0x46bde9
test cl, cl
jns 0x46be49
cmp dword [esp + 0x18], 2
jl 0x46bca3
mov dl, cl
and dl, 0xe0
cmp dl, 0xc0
jne 0x46bca3
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 + 0x18], 2
jmp 0x46bd2f
cmp dword [esp + 0x18], 3
jl 0x46bcdf
mov dl, cl
and dl, 0xf0
cmp dl, 0xe0
jne 0x46bcdf
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 + 0x18], 3
jmp 0x46bd2f
cmp dword [esp + 0x18], 4
jl 0x46bd25
and cl, 0xf8
cmp cl, 0xf0
jne 0x46bd25
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 + 0x18], 4
jmp 0x46bd2f
xor eax, eax
add edi, 1
sub dword [esp + 0x18], 1
test bl, bl
mov ecx, dword [esp + 0x14]
jns 0x46bdd8
cmp ecx, 2
jl 0x46bd64
mov dl, bl
and dl, 0xe0
cmp dl, 0xc0
jne 0x46bd64
movzx edx, byte [esi + 1]
and ebx, 0x1f
shl ebx, 6
and edx, 0x3f
or ebx, edx
add esi, 2
sub ecx, 2
jmp 0x46bde1
cmp ecx, 3
jl 0x46bd96
mov dl, bl
and dl, 0xf0
cmp dl, 0xe0
jne 0x46bd96
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 0x46bde1
cmp ecx, 4
jl 0x46bdd4
mov dl, bl
and dl, 0xf8
cmp dl, 0xf0
jne 0x46bdd4
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 0x46bde1
xor ebx, ebx
jmp 0x46bddb
movzx ebx, bl
add esi, 1
sub ecx, 1
cmp eax, ebx
mov dword [esp + 0x14], ecx
jne 0x46be49
test ecx, ecx
jne 0x46bc30
mov al, byte [esi - 1]
cmp al, 0x61
jb 0x46bdfc
cmp al, 0x7a
jbe 0x46be18
cmp al, 0x41
jb 0x46be04
cmp al, 0x5a
jbe 0x46be18
cmp al, 0x30
jb 0x46be0c
cmp al, 0x39
jbe 0x46be18
cmp al, 0x5f
je 0x46be18
test al, al
jns 0x46bec3
cmp dword [esp + 0x18], 0
je 0x46bec3
mov al, byte [edi]
cmp al, 0x61
jb 0x46be2d
cmp al, 0x7a
jbe 0x46be49
cmp al, 0x41
jb 0x46be35
cmp al, 0x5a
jbe 0x46be49
cmp al, 0x30
jb 0x46be3d
cmp al, 0x39
jbe 0x46be49
cmp al, 0x5f
je 0x46be49
test al, al
jns 0x46bec3
mov eax, dword [esp + 0x48]
mov cl, byte [eax]
mov eax, 1
add dword [esp + 0x4c], eax
sub dword [esp + 0x2c], eax
cmp cl, 0x61
jb 0x46be66
cmp cl, 0x7a
jbe 0x46be87
cmp cl, 0x41
jb 0x46be70
cmp cl, 0x5a
jbe 0x46be87
cmp cl, 0x30
jb 0x46be7a
cmp cl, 0x39
jbe 0x46be87
cmp cl, 0x5f
je 0x46be87
test cl, cl
jns 0x46bc10
cmp dword [esp + 0x2c], 0
je 0x46bc10
mov edx, dword [esp + 0x4c]
mov al, byte [edx - 1]
cmp al, 0x61
jb 0x46bea1
cmp al, 0x7a
jbe 0x46be4f
cmp al, 0x41
jb 0x46bea9
cmp al, 0x5a
jbe 0x46be4f
cmp al, 0x30
jb 0x46beb1
cmp al, 0x39
jbe 0x46be4f
cmp al, 0x5f
je 0x46be4f
test al, al
jns 0x46bc10
jmp 0x46be4f
xor eax, eax
jmp 0x46bec8
mov eax, 1
test eax, eax
je 0x46bef9
mov eax, dword [esp + 0x38]
cmp eax, dword [esp + 0x24]
jne 0x46beea
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
lea ecx, [eax + 0xff0]
mov dword [esp + 0x24], ecx
mov edx, dword [esp + 0x28]
mov ecx, dword [edx]
mov dword [eax], ecx
add eax, 4
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x28]
add eax, 4
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x28], eax
jne 0x46bbc0
mov ebx, dword [esp + 0x38]
mov edi, dword [esp + 0x24]
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x46bf30
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov ecx, dword [esi]
push ecx
lea edx, [esp + 0x74]
push edx
call fcn.00424170
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x14]
mov edi, dword [esp + 0x70]
add eax, 0x18
cmp edx, edi
jle 0x46bf68
xor eax, eax
jmp 0x46c24c
mov ecx, dword [esp + 0x78]
lea esi, [ecx + edi]
sub ecx, eax
mov dword [esp + 0x2c], ecx
sub ecx, edx
add ecx, edi
lea ebx, [eax + edx]
mov dword [esp + 0x58], ecx
lea ecx, [eax + 3]
mov dword [esp + 0x4c], ebx
lea edx, [eax + 2]
sub ebx, eax
mov dword [esp + 0x50], ecx
lea ecx, [eax + 4]
sub esi, eax
mov dword [esp + 0x54], edx
mov dword [esp + 0x60], ecx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x64], esi
mov edx, 1
lea ebx, [ebx]
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x64]
add esi, 0x18
mov dword [esp + 0x30], ecx
mov dword [esp + 0x18], eax
cmp esi, dword [esp + 0x4c]
jae 0x46c242
mov cl, byte [esi + edi]
mov bl, byte [esi]
mov edx, dword [0x58b5d4]
movzx eax, cl
cmp byte [eax + edx], bl
jne 0x46c01d
mov edx, 1
add dword [esp + 0x14], edx
add dword [esp + 0x20], edx
add dword [esp + 0x3c], edx
sub dword [esp + 0x18], edx
add esi, edx
sub dword [esp + 0x30], edx
jmp 0x46bfe3
test cl, cl
jns 0x46c22a
mov edx, dword [esp + 0x18]
sub edx, edi
cmp edx, 2
mov dword [esp + 0x48], edx
jl 0x46c060
mov dl, cl
and dl, 0xe0
cmp dl, 0xc0
jne 0x46c05c
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 0x46c0df
mov edx, dword [esp + 0x48]
cmp edx, 3
jl 0x46c09b
mov dl, cl
and dl, 0xf0
cmp dl, 0xe0
jne 0x46c097
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 0x46c0df
mov edx, dword [esp + 0x48]
cmp edx, 4
jl 0x46c0dd
and cl, 0xf8
cmp cl, 0xf0
jne 0x46c0dd
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 0x46c0df
xor eax, eax
test bl, bl
mov edx, 1
jns 0x46c1f9
mov ecx, dword [esp + 0x4c]
cmp dword [esp + 0x20], ecx
ja 0x46c136
mov dl, bl
and dl, 0xe0
cmp dl, 0xc0
jne 0x46c136
movzx ecx, byte [esi + 1]
mov edx, 2
add dword [esp + 0x14], edx
add dword [esp + 0x20], edx
add dword [esp + 0x3c], edx
sub dword [esp + 0x18], edx
sub dword [esp + 0x30], edx
and ebx, 0x1f
and ecx, 0x3f
shl ebx, 6
add esi, edx
mov edx, 1
or ecx, ebx
sub edi, edx
jmp 0x46c212
cmp dword [esp + 0x3c], ecx
ja 0x46c18e
mov dl, bl
and dl, 0xf0
cmp dl, 0xe0
jne 0x46c18e
movzx ecx, byte [esi + 1]
mov edx, dword [esp + 0x20]
add dword [esp + 0x14], 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 + 0x3c], ebx
sub dword [esp + 0x18], ebx
sub dword [esp + 0x30], ebx
add edx, ebx
add esi, 3
mov dword [esp + 0x20], edx
sub edi, 2
lea edx, [ebx - 2]
jmp 0x46c212
cmp dword [esp + 0x14], ecx
ja 0x46c1f2
mov cl, bl
and cl, 0xf8
cmp cl, 0xf0
jne 0x46c1f2
movzx ecx, byte [esi + 1]
mov edx, dword [esp + 0x20]
and ebx, 7
add dword [esp + 0x14], 4
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 + 0x3c]
movzx ebx, byte [ebx]
and ebx, 0x3f
shl ecx, 6
or ecx, ebx
mov ebx, 4
add dword [esp + 0x3c], ebx
sub dword [esp + 0x18], ebx
sub dword [esp + 0x30], ebx
add edx, ebx
add esi, 4
mov dword [esp + 0x20], edx
sub edi, 3
lea edx, [ebx - 3]
jmp 0x46c212
xor ecx, ecx
lea edx, [ecx + 1]
jmp 0x46c1fc
movzx ecx, bl
add dword [esp + 0x14], edx
add dword [esp + 0x20], edx
add dword [esp + 0x3c], edx
sub dword [esp + 0x18], edx
add esi, edx
sub dword [esp + 0x30], edx
cmp eax, ecx
jne 0x46c22f
mov eax, dword [esp + 0x18]
sub eax, edi
cmp eax, dword [esp + 0x30]
jge 0x46bfe3
xor eax, eax
jmp 0x46c244
mov edx, 1
mov ecx, dword [esp + 0x2c]
cmp ecx, dword [esp + 0x58]
je 0x46c226
add dword [esp + 0x2c], edx
jmp 0x46bfb0
mov eax, edx
mov ebx, dword [esp + 0x38]
mov esi, dword [esp + 0x28]
test eax, eax
je 0x46c277
cmp ebx, dword [esp + 0x24]
jne 0x46c26c
mov edx, dword [esp + 0x44]
push edx
call fcn.004021c0
mov ebx, eax
lea eax, [ebx + 0xff0]
mov dword [esp + 0x24], eax
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
mov dword [esp + 0x28], esi
jne 0x46bf30
mov edi, dword [esp + 0x24]
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x46c2a0
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
mov esi, dword [esp + 0x10]
jne 0x488888
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
push edx
lea eax, [esp + 0x74]
push eax
call fcn.00424170
mov eax, dword [esi + 0x14]
add esi, 0x18
test eax, eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x48], esi
je 0x46c59f
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x70]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x2c], edx
lea ecx, [ecx]
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x50]
mov edi, dword [esp + 0x4c]
mov esi, dword [esp + 0x48]
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], ecx
jmp 0x46c310
cmp dword [esp + 0x18], 0
je 0x46c59b
mov cl, byte [edi]
mov bl, byte [esi]
mov edx, dword [0x58b5d4]
movzx eax, cl
cmp byte [eax + edx], bl
jne 0x46c348
mov ecx, dword [esp + 0x14]
sub dword [esp + 0x18], 1
add edi, 1
add esi, 1
sub ecx, 1
mov dword [esp + 0x14], ecx
jmp 0x46c4c9
test cl, cl
jns 0x46c525
cmp dword [esp + 0x18], 2
jl 0x46c383
mov dl, cl
and dl, 0xe0
cmp dl, 0xc0
jne 0x46c383
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 + 0x18], 2
jmp 0x46c40f
cmp dword [esp + 0x18], 3
jl 0x46c3bf
mov dl, cl
and dl, 0xf0
cmp dl, 0xe0
jne 0x46c3bf
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 + 0x18], 3
jmp 0x46c40f
cmp dword [esp + 0x18], 4
jl 0x46c405
and cl, 0xf8
cmp cl, 0xf0
jne 0x46c405
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 + 0x18], 4
jmp 0x46c40f
xor eax, eax
add edi, 1
sub dword [esp + 0x18], 1
test bl, bl
mov ecx, dword [esp + 0x14]
jns 0x46c4b8
cmp ecx, 2
jl 0x46c444
mov dl, bl
and dl, 0xe0
cmp dl, 0xc0
jne 0x46c444
movzx edx, byte [esi + 1]
and ebx, 0x1f
shl ebx, 6
and edx, 0x3f
or ebx, edx
add esi, 2
sub ecx, 2
jmp 0x46c4c1
cmp ecx, 3
jl 0x46c476
mov dl, bl
and dl, 0xf0
cmp dl, 0xe0
jne 0x46c476
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 0x46c4c1
cmp ecx, 4
jl 0x46c4b4
mov dl, bl
and dl, 0xf8
cmp dl, 0xf0
jne 0x46c4b4
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 0x46c4c1
xor ebx, ebx
jmp 0x46c4bb
movzx ebx, bl
add esi, 1
sub ecx, 1
cmp eax, ebx
mov dword [esp + 0x14], ecx
jne 0x46c525
test ecx, ecx
jne 0x46c310
mov al, byte [esi - 1]
cmp al, 0x61
jb 0x46c4dc
cmp al, 0x7a
jbe 0x46c4f8
cmp al, 0x41
jb 0x46c4e4
cmp al, 0x5a
jbe 0x46c4f8
cmp al, 0x30
jb 0x46c4ec
cmp al, 0x39
jbe 0x46c4f8
cmp al, 0x5f
je 0x46c4f8
test al, al
jns 0x46c59f
cmp dword [esp + 0x18], 0
je 0x46c59f
mov al, byte [edi]
cmp al, 0x61
jb 0x46c50d
cmp al, 0x7a
jbe 0x46c525
cmp al, 0x41
jb 0x46c515
cmp al, 0x5a
jbe 0x46c525
cmp al, 0x30
jb 0x46c51d
cmp al, 0x39
jbe 0x46c525
cmp al, 0x5f
je 0x46c525
test al, al
jns 0x46c59f
mov eax, dword [esp + 0x48]
mov cl, byte [eax]
mov eax, 1
add dword [esp + 0x4c], eax
sub dword [esp + 0x2c], eax
cmp cl, 0x61
jb 0x46c542
cmp cl, 0x7a
jbe 0x46c563
cmp cl, 0x41
jb 0x46c54c
cmp cl, 0x5a
jbe 0x46c563
cmp cl, 0x30
jb 0x46c556
cmp cl, 0x39
jbe 0x46c563
cmp cl, 0x5f
je 0x46c563
test cl, cl
jns 0x46c2f0
cmp dword [esp + 0x2c], 0
je 0x46c2f0
mov edx, dword [esp + 0x4c]
mov al, byte [edx - 1]
cmp al, 0x61
jb 0x46c57d
cmp al, 0x7a
jbe 0x46c52b
cmp al, 0x41
jb 0x46c585
cmp al, 0x5a
jbe 0x46c52b
cmp al, 0x30
jb 0x46c58d
cmp al, 0x39
jbe 0x46c52b
cmp al, 0x5f
je 0x46c52b
test al, al
jns 0x46c2f0
jmp 0x46c52b
xor eax, eax
jmp 0x46c5a4
mov eax, 1
test eax, eax
je 0x46c5d5
mov eax, dword [esp + 0x38]
cmp eax, dword [esp + 0x24]
jne 0x46c5c6
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
lea ecx, [eax + 0xff0]
mov dword [esp + 0x24], ecx
mov edx, dword [esp + 0x28]
mov ecx, dword [edx]
mov dword [eax], ecx
add eax, 4
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x28]
add eax, 4
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x28], eax
jne 0x46c2a0
mov ebx, dword [esp + 0x38]
mov edi, dword [esp + 0x24]
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov ecx, dword [esi]
mov al, byte [ecx + 4]
cmp al, 0xff
jne 0x46c621
mov edx, dword [ecx - 4]
jmp 0x46c624
movzx edx, al
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x10]
add eax, 0x18
add ecx, 5
cmp dword [esp + 0x48], edx
jle 0x46c646
xor eax, eax
jmp 0x46c930
mov ebx, dword [esp + 0x48]
lea esi, [ecx + edx]
sub ecx, eax
mov dword [esp + 0x2c], ecx
sub ecx, ebx
add ecx, edx
mov dword [esp + 0x58], ecx
lea edi, [eax + ebx]
lea ecx, [eax + 3]
mov dword [esp + 0x50], ecx
mov dword [esp + 0x4c], edi
lea ecx, [eax + 4]
sub edi, eax
lea edx, [eax + 2]
sub esi, eax
mov dword [esp + 0x60], ecx
mov dword [esp + 0x54], edx
mov dword [esp + 0x5c], edi
mov dword [esp + 0x64], esi
mov ecx, 1
jmp 0x46c690
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x54]
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 0x60]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x64]
add esi, 0x18
mov dword [esp + 0x30], eax
mov dword [esp + 0x18], edx
cmp esi, dword [esp + 0x4c]
jae 0x46c922
mov cl, byte [esi + edi]
mov bl, byte [esi]
mov edx, dword [0x58b5d0]
movzx eax, cl
cmp byte [eax + edx], bl
jne 0x46c6fd
mov ecx, 1
add dword [esp + 0x14], ecx
add dword [esp + 0x20], ecx
add dword [esp + 0x3c], ecx
sub dword [esp + 0x18], ecx
add esi, ecx
sub dword [esp + 0x30], ecx
jmp 0x46c6c3
test cl, cl
jns 0x46c90a
mov edx, dword [esp + 0x18]
sub edx, edi
cmp edx, 2
mov dword [esp + 0x48], edx
jl 0x46c740
mov dl, cl
and dl, 0xe0
cmp dl, 0xc0
jne 0x46c73c
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 0x46c7bf
mov edx, dword [esp + 0x48]
cmp edx, 3
jl 0x46c77b
mov dl, cl
and dl, 0xf0
cmp dl, 0xe0
jne 0x46c777
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 0x46c7bf
mov edx, dword [esp + 0x48]
cmp edx, 4
jl 0x46c7bd
and cl, 0xf8
cmp cl, 0xf0
jne 0x46c7bd
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 0x46c7bf
xor eax, eax
test bl, bl
mov ecx, 1
jns 0x46c8d9
mov ecx, dword [esp + 0x4c]
cmp dword [esp + 0x20], ecx
ja 0x46c816
mov dl, bl
and dl, 0xe0
cmp dl, 0xc0
jne 0x46c816
movzx ecx, byte [esi + 1]
and ebx, 0x1f
and ecx, 0x3f
shl ebx, 6
or ebx, ecx
mov ecx, 2
add dword [esp + 0x14], ecx
add dword [esp + 0x20], ecx
add dword [esp + 0x3c], ecx
sub dword [esp + 0x18], ecx
sub dword [esp + 0x30], ecx
add esi, ecx
mov ecx, 1
sub edi, ecx
jmp 0x46c8f2
cmp dword [esp + 0x3c], ecx
ja 0x46c86e
mov dl, bl
and dl, 0xf0
cmp dl, 0xe0
jne 0x46c86e
movzx ecx, byte [esi + 1]
add dword [esp + 0x14], 3
and ebx, 0xf
and ecx, 0x3f
shl ebx, 6
or ebx, ecx
mov ecx, dword [esp + 0x20]
movzx edx, byte [ecx]
and edx, 0x3f
shl ebx, 6
or ebx, edx
mov edx, 3
add dword [esp + 0x3c], edx
sub dword [esp + 0x18], edx
sub dword [esp + 0x30], edx
add ecx, edx
add esi, 3
mov dword [esp + 0x20], ecx
sub edi, 2
lea ecx, [edx - 2]
jmp 0x46c8f2
cmp dword [esp + 0x14], ecx
ja 0x46c8d2
mov cl, bl
and cl, 0xf8
cmp cl, 0xf0
jne 0x46c8d2
movzx edx, byte [esi + 1]
mov ecx, dword [esp + 0x20]
add dword [esp + 0x14], 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 + 0x3c]
movzx edx, byte [edx]
and edx, 0x3f
shl ebx, 6
or ebx, edx
mov edx, 4
add dword [esp + 0x3c], edx
sub dword [esp + 0x18], edx
sub dword [esp + 0x30], edx
add ecx, edx
add esi, 4
mov dword [esp + 0x20], ecx
sub edi, 3
lea ecx, [edx - 3]
jmp 0x46c8f2
xor ebx, ebx
lea ecx, [ebx + 1]
jmp 0x46c8dc
movzx ebx, bl
add dword [esp + 0x14], ecx
add dword [esp + 0x20], ecx
add dword [esp + 0x3c], ecx
sub dword [esp + 0x18], ecx
add esi, ecx
sub dword [esp + 0x30], ecx
cmp eax, ebx
jne 0x46c90f
mov eax, dword [esp + 0x18]
sub eax, edi
cmp eax, dword [esp + 0x30]
jge 0x46c6c3
xor eax, eax
jmp 0x46c924
mov ecx, 1
mov edx, dword [esp + 0x2c]
cmp edx, dword [esp + 0x58]
je 0x46c906
add dword [esp + 0x2c], ecx
jmp 0x46c690
mov eax, ecx
mov ebx, dword [esp + 0x38]
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x24]
test eax, eax
jne 0x46c959
cmp ebx, edi
jne 0x46c94e
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
mov dword [esp + 0x28], esi
jne 0x46c601
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
lea esp, [esp]
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
mov esi, dword [esp + 0x10]
jne 0x488888
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x46c9a9
mov ecx, dword [eax - 4]
jmp 0x46c9ac
movzx ecx, cl
mov edx, dword [esi + 0x14]
add esi, 0x18
test edx, edx
mov dword [esp + 0x50], edx
mov dword [esp + 0x48], esi
je 0x46cc87
add eax, 5
mov dword [esp + 0x4c], eax
mov dword [esp + 0x2c], ecx
lea ecx, [ecx]
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x50]
mov edi, dword [esp + 0x4c]
mov esi, dword [esp + 0x48]
mov dword [esp + 0x18], edx
mov dword [esp + 0x14], ecx
cmp dword [esp + 0x18], 0
je 0x46cc83
mov al, byte [edi]
mov bl, byte [esi]
mov edx, dword [0x58b5d0]
mov byte [esp + 0x43], al
movzx eax, al
cmp byte [eax + edx], bl
jne 0x46ca20
sub dword [esp + 0x18], 1
add edi, 1
add esi, 1
sub ecx, 1
mov dword [esp + 0x14], ecx
jmp 0x46cbb1
test byte [esp + 0x43], 0x80
je 0x46cc0d
cmp dword [esp + 0x18], 2
jl 0x46ca64
mov dl, byte [esp + 0x43]
and dl, 0xe0
cmp dl, 0xc0
jne 0x46ca64
movzx ecx, byte [edi + 1]
and eax, 0x1f
and ecx, 0x3f
shl eax, 6
or ecx, eax
push ecx
call fcn.00409960
mov ecx, dword [esp + 0x14]
add edi, 2
sub dword [esp + 0x18], 2
jmp 0x46cafe
cmp dword [esp + 0x18], 3
jl 0x46caa6
mov dl, byte [esp + 0x43]
and dl, 0xf0
cmp dl, 0xe0
jne 0x46caa6
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
mov ecx, dword [esp + 0x14]
add edi, 3
sub dword [esp + 0x18], 3
jmp 0x46cafe
cmp dword [esp + 0x18], 4
jl 0x46caf4
mov dl, byte [esp + 0x43]
and dl, 0xf8
cmp dl, 0xf0
jne 0x46caf4
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
mov ecx, dword [esp + 0x14]
add edi, 4
sub dword [esp + 0x18], 4
jmp 0x46cafe
xor eax, eax
add edi, 1
sub dword [esp + 0x18], 1
test bl, bl
jns 0x46cba0
cmp ecx, 2
jl 0x46cb2c
mov dl, bl
and dl, 0xe0
cmp dl, 0xc0
jne 0x46cb2c
movzx edx, byte [esi + 1]
and ebx, 0x1f
shl ebx, 6
and edx, 0x3f
or ebx, edx
add esi, 2
sub ecx, 2
jmp 0x46cba9
cmp ecx, 3
jl 0x46cb5e
mov dl, bl
and dl, 0xf0
cmp dl, 0xe0
jne 0x46cb5e
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 0x46cba9
cmp ecx, 4
jl 0x46cb9c
mov dl, bl
and dl, 0xf8
cmp dl, 0xf0
jne 0x46cb9c
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 0x46cba9
xor ebx, ebx
jmp 0x46cba3
movzx ebx, bl
add esi, 1
sub ecx, 1
cmp eax, ebx
mov dword [esp + 0x14], ecx
jne 0x46cc0d
test ecx, ecx
jne 0x46c9e8
mov al, byte [esi - 1]
cmp al, 0x61
jb 0x46cbc4
cmp al, 0x7a
jbe 0x46cbe0
cmp al, 0x41
jb 0x46cbcc
cmp al, 0x5a
jbe 0x46cbe0
cmp al, 0x30
jb 0x46cbd4
cmp al, 0x39
jbe 0x46cbe0
cmp al, 0x5f
je 0x46cbe0
test al, al
jns 0x46cc87
cmp dword [esp + 0x18], 0
je 0x46cc87
mov al, byte [edi]
cmp al, 0x61
jb 0x46cbf5
cmp al, 0x7a
jbe 0x46cc0d
cmp al, 0x41
jb 0x46cbfd
cmp al, 0x5a
jbe 0x46cc0d
cmp al, 0x30
jb 0x46cc05
cmp al, 0x39
jbe 0x46cc0d
cmp al, 0x5f
je 0x46cc0d
test al, al
jns 0x46cc87
mov eax, dword [esp + 0x48]
mov cl, byte [eax]
mov eax, 1
add dword [esp + 0x4c], eax
sub dword [esp + 0x2c], eax
cmp cl, 0x61
jb 0x46cc2a
cmp cl, 0x7a
jbe 0x46cc4b
cmp cl, 0x41
jb 0x46cc34
cmp cl, 0x5a
jbe 0x46cc4b
cmp cl, 0x30
jb 0x46cc3e
cmp cl, 0x39
jbe 0x46cc4b
cmp cl, 0x5f
je 0x46cc4b
test cl, cl
jns 0x46c9d0
cmp dword [esp + 0x2c], 0
je 0x46c9d0
mov edx, dword [esp + 0x4c]
mov al, byte [edx - 1]
cmp al, 0x61
jb 0x46cc65
cmp al, 0x7a
jbe 0x46cc13
cmp al, 0x41
jb 0x46cc6d
cmp al, 0x5a
jbe 0x46cc13
cmp al, 0x30
jb 0x46cc75
cmp al, 0x39
jbe 0x46cc13
cmp al, 0x5f
je 0x46cc13
test al, al
jns 0x46c9d0
jmp 0x46cc13
xor eax, eax
jmp 0x46cc8c
mov eax, 1
test eax, eax
jne 0x46ccbd
mov eax, dword [esp + 0x38]
cmp eax, dword [esp + 0x24]
jne 0x46ccae
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
lea ecx, [eax + 0xff0]
mov dword [esp + 0x24], ecx
mov edx, dword [esp + 0x28]
mov ecx, dword [edx]
mov dword [eax], ecx
add eax, 4
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x28]
add eax, 4
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x28], eax
jne 0x46c980
mov ebx, dword [esp + 0x38]
mov edi, dword [esp + 0x24]
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
lea esp, [esp]
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov ecx, dword [esi]
mov al, byte [ecx + 4]
cmp al, 0xff
jne 0x46cd10
mov edx, dword [ecx - 4]
jmp 0x46cd13
movzx edx, al
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x10]
add eax, 0x18
add ecx, 5
cmp dword [esp + 0x48], edx
jle 0x46cd35
xor eax, eax
jmp 0x46d020
mov ebx, dword [esp + 0x48]
lea esi, [ecx + edx]
sub ecx, eax
mov dword [esp + 0x2c], ecx
sub ecx, ebx
add ecx, edx
mov dword [esp + 0x58], ecx
lea edi, [eax + ebx]
lea ecx, [eax + 3]
mov dword [esp + 0x50], ecx
mov dword [esp + 0x4c], edi
lea ecx, [eax + 4]
sub edi, eax
lea edx, [eax + 2]
sub esi, eax
mov dword [esp + 0x60], ecx
mov dword [esp + 0x54], edx
mov dword [esp + 0x5c], edi
mov dword [esp + 0x64], esi
mov ecx, 1
jmp 0x46cd80
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x54]
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 0x60]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x64]
add esi, 0x18
mov dword [esp + 0x30], eax
mov dword [esp + 0x18], edx
cmp esi, dword [esp + 0x4c]
jae 0x46d012
mov cl, byte [esi + edi]
mov bl, byte [esi]
mov edx, dword [0x58b5d4]
movzx eax, cl
cmp byte [eax + edx], bl
jne 0x46cded
mov ecx, 1
add dword [esp + 0x14], ecx
add dword [esp + 0x20], ecx
add dword [esp + 0x3c], ecx
sub dword [esp + 0x18], ecx
add esi, ecx
sub dword [esp + 0x30], ecx
jmp 0x46cdb3
test cl, cl
jns 0x46cffa
mov edx, dword [esp + 0x18]
sub edx, edi
cmp edx, 2
mov dword [esp + 0x48], edx
jl 0x46ce30
mov dl, cl
and dl, 0xe0
cmp dl, 0xc0
jne 0x46ce2c
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 0x46ceaf
mov edx, dword [esp + 0x48]
cmp edx, 3
jl 0x46ce6b
mov dl, cl
and dl, 0xf0
cmp dl, 0xe0
jne 0x46ce67
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 0x46ceaf
mov edx, dword [esp + 0x48]
cmp edx, 4
jl 0x46cead
and cl, 0xf8
cmp cl, 0xf0
jne 0x46cead
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 0x46ceaf
xor eax, eax
test bl, bl
mov ecx, 1
jns 0x46cfc9
mov ecx, dword [esp + 0x4c]
cmp dword [esp + 0x20], ecx
ja 0x46cf06
mov dl, bl
and dl, 0xe0
cmp dl, 0xc0
jne 0x46cf06
movzx ecx, byte [esi + 1]
and ebx, 0x1f
and ecx, 0x3f
shl ebx, 6
or ebx, ecx
mov ecx, 2
add dword [esp + 0x14], ecx
add dword [esp + 0x20], ecx
add dword [esp + 0x3c], ecx
sub dword [esp + 0x18], ecx
sub dword [esp + 0x30], ecx
add esi, ecx
mov ecx, 1
sub edi, ecx
jmp 0x46cfe2
cmp dword [esp + 0x3c], ecx
ja 0x46cf5e
mov dl, bl
and dl, 0xf0
cmp dl, 0xe0
jne 0x46cf5e
movzx ecx, byte [esi + 1]
add dword [esp + 0x14], 3
and ebx, 0xf
and ecx, 0x3f
shl ebx, 6
or ebx, ecx
mov ecx, dword [esp + 0x20]
movzx edx, byte [ecx]
and edx, 0x3f
shl ebx, 6
or ebx, edx
mov edx, 3
add dword [esp + 0x3c], edx
sub dword [esp + 0x18], edx
sub dword [esp + 0x30], edx
add ecx, edx
add esi, 3
mov dword [esp + 0x20], ecx
sub edi, 2
lea ecx, [edx - 2]
jmp 0x46cfe2
cmp dword [esp + 0x14], ecx
ja 0x46cfc2
mov cl, bl
and cl, 0xf8
cmp cl, 0xf0
jne 0x46cfc2
movzx edx, byte [esi + 1]
mov ecx, dword [esp + 0x20]
add dword [esp + 0x14], 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 + 0x3c]
movzx edx, byte [edx]
and edx, 0x3f
shl ebx, 6
or ebx, edx
mov edx, 4
add dword [esp + 0x3c], edx
sub dword [esp + 0x18], edx
sub dword [esp + 0x30], edx
add ecx, edx
add esi, 4
mov dword [esp + 0x20], ecx
sub edi, 3
lea ecx, [edx - 3]
jmp 0x46cfe2
xor ebx, ebx
lea ecx, [ebx + 1]
jmp 0x46cfcc
movzx ebx, bl
add dword [esp + 0x14], ecx
add dword [esp + 0x20], ecx
add dword [esp + 0x3c], ecx
sub dword [esp + 0x18], ecx
add esi, ecx
sub dword [esp + 0x30], ecx
cmp eax, ebx
jne 0x46cfff
mov eax, dword [esp + 0x18]
sub eax, edi
cmp eax, dword [esp + 0x30]
jge 0x46cdb3
xor eax, eax
jmp 0x46d014
mov ecx, 1
mov edx, dword [esp + 0x2c]
cmp edx, dword [esp + 0x58]
je 0x46cff6
add dword [esp + 0x2c], ecx
jmp 0x46cd80
mov eax, ecx
mov ebx, dword [esp + 0x38]
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x24]
test eax, eax
jne 0x46d049
cmp ebx, edi
jne 0x46d03e
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
mov dword [esp + 0x28], esi
jne 0x46ccf0
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
lea esp, [esp]
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
mov esi, dword [esp + 0x10]
jne 0x488888
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x46d099
mov ecx, dword [eax - 4]
jmp 0x46d09c
movzx ecx, cl
mov edx, dword [esi + 0x14]
add esi, 0x18
test edx, edx
mov dword [esp + 0x50], edx
mov dword [esp + 0x48], esi
je 0x46d377
add eax, 5
mov dword [esp + 0x4c], eax
mov dword [esp + 0x2c], ecx
lea ecx, [ecx]
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x50]
mov edi, dword [esp + 0x4c]
mov esi, dword [esp + 0x48]
mov dword [esp + 0x18], edx
mov dword [esp + 0x14], ecx
cmp dword [esp + 0x18], 0
je 0x46d373
mov al, byte [edi]
mov bl, byte [esi]
mov edx, dword [0x58b5d4]
mov byte [esp + 0x43], al
movzx eax, al
cmp byte [eax + edx], bl
jne 0x46d110
sub dword [esp + 0x18], 1
add edi, 1
add esi, 1
sub ecx, 1
mov dword [esp + 0x14], ecx
jmp 0x46d2a1
test byte [esp + 0x43], 0x80
je 0x46d2fd
cmp dword [esp + 0x18], 2
jl 0x46d154
mov dl, byte [esp + 0x43]
and dl, 0xe0
cmp dl, 0xc0
jne 0x46d154
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 + 0x14]
add edi, 2
sub dword [esp + 0x18], 2
jmp 0x46d1ee
cmp dword [esp + 0x18], 3
jl 0x46d196
mov dl, byte [esp + 0x43]
and dl, 0xf0
cmp dl, 0xe0
jne 0x46d196
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 + 0x14]
add edi, 3
sub dword [esp + 0x18], 3
jmp 0x46d1ee
cmp dword [esp + 0x18], 4
jl 0x46d1e4
mov dl, byte [esp + 0x43]
and dl, 0xf8
cmp dl, 0xf0
jne 0x46d1e4
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 + 0x14]
add edi, 4
sub dword [esp + 0x18], 4
jmp 0x46d1ee
xor eax, eax
add edi, 1
sub dword [esp + 0x18], 1
test bl, bl
jns 0x46d290
cmp ecx, 2
jl 0x46d21c
mov dl, bl
and dl, 0xe0
cmp dl, 0xc0
jne 0x46d21c
movzx edx, byte [esi + 1]
and ebx, 0x1f
shl ebx, 6
and edx, 0x3f
or ebx, edx
add esi, 2
sub ecx, 2
jmp 0x46d299
cmp ecx, 3
jl 0x46d24e
mov dl, bl
and dl, 0xf0
cmp dl, 0xe0
jne 0x46d24e
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 0x46d299
cmp ecx, 4
jl 0x46d28c
mov dl, bl
and dl, 0xf8
cmp dl, 0xf0
jne 0x46d28c
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 0x46d299
xor ebx, ebx
jmp 0x46d293
movzx ebx, bl
add esi, 1
sub ecx, 1
cmp eax, ebx
mov dword [esp + 0x14], ecx
jne 0x46d2fd
test ecx, ecx
jne 0x46d0d8
mov al, byte [esi - 1]
cmp al, 0x61
jb 0x46d2b4
cmp al, 0x7a
jbe 0x46d2d0
cmp al, 0x41
jb 0x46d2bc
cmp al, 0x5a
jbe 0x46d2d0
cmp al, 0x30
jb 0x46d2c4
cmp al, 0x39
jbe 0x46d2d0
cmp al, 0x5f
je 0x46d2d0
test al, al
jns 0x46d377
cmp dword [esp + 0x18], 0
je 0x46d377
mov al, byte [edi]
cmp al, 0x61
jb 0x46d2e5
cmp al, 0x7a
jbe 0x46d2fd
cmp al, 0x41
jb 0x46d2ed
cmp al, 0x5a
jbe 0x46d2fd
cmp al, 0x30
jb 0x46d2f5
cmp al, 0x39
jbe 0x46d2fd
cmp al, 0x5f
je 0x46d2fd
test al, al
jns 0x46d377
mov eax, dword [esp + 0x48]
mov cl, byte [eax]
mov eax, 1
add dword [esp + 0x4c], eax
sub dword [esp + 0x2c], eax
cmp cl, 0x61
jb 0x46d31a
cmp cl, 0x7a
jbe 0x46d33b
cmp cl, 0x41
jb 0x46d324
cmp cl, 0x5a
jbe 0x46d33b
cmp cl, 0x30
jb 0x46d32e
cmp cl, 0x39
jbe 0x46d33b
cmp cl, 0x5f
je 0x46d33b
test cl, cl
jns 0x46d0c0
cmp dword [esp + 0x2c], 0
je 0x46d0c0
mov edx, dword [esp + 0x4c]
mov al, byte [edx - 1]
cmp al, 0x61
jb 0x46d355
cmp al, 0x7a
jbe 0x46d303
cmp al, 0x41
jb 0x46d35d
cmp al, 0x5a
jbe 0x46d303
cmp al, 0x30
jb 0x46d365
cmp al, 0x39
jbe 0x46d303
cmp al, 0x5f
je 0x46d303
test al, al
jns 0x46d0c0
jmp 0x46d303
xor eax, eax
jmp 0x46d37c
mov eax, 1
test eax, eax
jne 0x46d3ad
mov eax, dword [esp + 0x38]
cmp eax, dword [esp + 0x24]
jne 0x46d39e
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
lea ecx, [eax + 0xff0]
mov dword [esp + 0x24], ecx
mov edx, dword [esp + 0x28]
mov ecx, dword [edx]
mov dword [eax], ecx
add eax, 4
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x28]
add eax, 4
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x28], eax
jne 0x46d070
mov ebx, dword [esp + 0x38]
mov edi, dword [esp + 0x24]
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
lea esp, [esp]
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov ecx, dword [esi]
push ecx
lea edx, [esp + 0x74]
push edx
call fcn.00424170
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x14]
mov edi, dword [esp + 0x70]
add eax, 0x18
cmp edx, edi
jle 0x46d418
xor eax, eax
jmp 0x46d6fc
mov ecx, dword [esp + 0x78]
lea esi, [ecx + edi]
sub ecx, eax
mov dword [esp + 0x2c], ecx
sub ecx, edx
add ecx, edi
mov dword [esp + 0x58], ecx
lea ebx, [eax + edx]
lea ecx, [eax + 3]
mov dword [esp + 0x50], ecx
mov dword [esp + 0x4c], ebx
lea ecx, [eax + 4]
sub ebx, eax
lea edx, [eax + 2]
sub esi, eax
mov dword [esp + 0x60], ecx
mov dword [esp + 0x54], edx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x64], esi
mov ecx, 1
lea ebx, [ebx]
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x54]
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 0x60]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x64]
add esi, 0x18
mov dword [esp + 0x30], eax
mov dword [esp + 0x18], edx
cmp esi, dword [esp + 0x4c]
jae 0x46d6f2
mov cl, byte [esi + edi]
mov bl, byte [esi]
mov edx, dword [0x58b5d0]
movzx eax, cl
cmp byte [eax + edx], bl
jne 0x46d4cd
mov ecx, 1
add dword [esp + 0x14], ecx
add dword [esp + 0x20], ecx
add dword [esp + 0x3c], ecx
sub dword [esp + 0x18], ecx
add esi, ecx
sub dword [esp + 0x30], ecx
jmp 0x46d493
test cl, cl
jns 0x46d6da
mov edx, dword [esp + 0x18]
sub edx, edi
cmp edx, 2
mov dword [esp + 0x48], edx
jl 0x46d510
mov dl, cl
and dl, 0xe0
cmp dl, 0xc0
jne 0x46d50c
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 0x46d58f
mov edx, dword [esp + 0x48]
cmp edx, 3
jl 0x46d54b
mov dl, cl
and dl, 0xf0
cmp dl, 0xe0
jne 0x46d547
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 0x46d58f
mov edx, dword [esp + 0x48]
cmp edx, 4
jl 0x46d58d
and cl, 0xf8
cmp cl, 0xf0
jne 0x46d58d
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 0x46d58f
xor eax, eax
test bl, bl
mov ecx, 1
jns 0x46d6a9
mov ecx, dword [esp + 0x4c]
cmp dword [esp + 0x20], ecx
ja 0x46d5e6
mov dl, bl
and dl, 0xe0
cmp dl, 0xc0
jne 0x46d5e6
movzx ecx, byte [esi + 1]
and ebx, 0x1f
and ecx, 0x3f
shl ebx, 6
or ebx, ecx
mov ecx, 2
add dword [esp + 0x14], ecx
add dword [esp + 0x20], ecx
add dword [esp + 0x3c], ecx
sub dword [esp + 0x18], ecx
sub dword [esp + 0x30], ecx
add esi, ecx
mov ecx, 1
sub edi, ecx
jmp 0x46d6c2
cmp dword [esp + 0x3c], ecx
ja 0x46d63e
mov dl, bl
and dl, 0xf0
cmp dl, 0xe0
jne 0x46d63e
movzx ecx, byte [esi + 1]
add dword [esp + 0x14], 3
and ebx, 0xf
and ecx, 0x3f
shl ebx, 6
or ebx, ecx
mov ecx, dword [esp + 0x20]
movzx edx, byte [ecx]
and edx, 0x3f
shl ebx, 6
or ebx, edx
mov edx, 3
add dword [esp + 0x3c], edx
sub dword [esp + 0x18], edx
sub dword [esp + 0x30], edx
add ecx, edx
add esi, 3
mov dword [esp + 0x20], ecx
sub edi, 2
lea ecx, [edx - 2]
jmp 0x46d6c2
cmp dword [esp + 0x14], ecx
ja 0x46d6a2
mov cl, bl
and cl, 0xf8
cmp cl, 0xf0
jne 0x46d6a2
movzx edx, byte [esi + 1]
mov ecx, dword [esp + 0x20]
add dword [esp + 0x14], 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 + 0x3c]
movzx edx, byte [edx]
and edx, 0x3f
shl ebx, 6
or ebx, edx
mov edx, 4
add dword [esp + 0x3c], edx
sub dword [esp + 0x18], edx
sub dword [esp + 0x30], edx
add ecx, edx
add esi, 4
mov dword [esp + 0x20], ecx
sub edi, 3
lea ecx, [edx - 3]
jmp 0x46d6c2
xor ebx, ebx
lea ecx, [ebx + 1]
jmp 0x46d6ac
movzx ebx, bl
add dword [esp + 0x14], ecx
add dword [esp + 0x20], ecx
add dword [esp + 0x3c], ecx
sub dword [esp + 0x18], ecx
add esi, ecx
sub dword [esp + 0x30], ecx
cmp eax, ebx
jne 0x46d6df
mov eax, dword [esp + 0x18]
sub eax, edi
cmp eax, dword [esp + 0x30]
jge 0x46d493
xor eax, eax
jmp 0x46d6f4
mov ecx, 1
mov edx, dword [esp + 0x2c]
cmp edx, dword [esp + 0x58]
je 0x46d6d6
add dword [esp + 0x2c], ecx
jmp 0x46d460
mov eax, ecx
mov ebx, dword [esp + 0x38]
mov esi, dword [esp + 0x28]
test eax, eax
jne 0x46d727
cmp ebx, dword [esp + 0x24]
jne 0x46d71c
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea ecx, [ebx + 0xff0]
mov dword [esp + 0x24], ecx
mov edx, dword [esi]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
mov dword [esp + 0x28], esi
jne 0x46d3e0
mov edi, dword [esp + 0x24]
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x46d750
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
mov esi, dword [esp + 0x10]
jne 0x488888
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
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 + 0x50], eax
mov dword [esp + 0x48], esi
je 0x46da53
mov edx, dword [esp + 0x78]
mov eax, dword [esp + 0x70]
mov dword [esp + 0x4c], edx
mov dword [esp + 0x2c], eax
lea ecx, [ecx]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x50]
mov edi, dword [esp + 0x4c]
mov esi, dword [esp + 0x48]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], edx
jmp 0x46d7c0
cmp dword [esp + 0x18], 0
je 0x46da4f
mov cl, byte [edi]
mov bl, byte [esi]
mov edx, dword [0x58b5d0]
movzx eax, cl
cmp byte [eax + edx], bl
jne 0x46d7f8
mov ecx, dword [esp + 0x14]
sub dword [esp + 0x18], 1
add edi, 1
add esi, 1
sub ecx, 1
mov dword [esp + 0x14], ecx
jmp 0x46d979
test cl, cl
jns 0x46d9d9
cmp dword [esp + 0x18], 2
jl 0x46d833
mov dl, cl
and dl, 0xe0
cmp dl, 0xc0
jne 0x46d833
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 + 0x18], 2
jmp 0x46d8bf
cmp dword [esp + 0x18], 3
jl 0x46d86f
mov dl, cl
and dl, 0xf0
cmp dl, 0xe0
jne 0x46d86f
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 + 0x18], 3
jmp 0x46d8bf
cmp dword [esp + 0x18], 4
jl 0x46d8b5
and cl, 0xf8
cmp cl, 0xf0
jne 0x46d8b5
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 + 0x18], 4
jmp 0x46d8bf
xor eax, eax
add edi, 1
sub dword [esp + 0x18], 1
test bl, bl
mov ecx, dword [esp + 0x14]
jns 0x46d968
cmp ecx, 2
jl 0x46d8f4
mov dl, bl
and dl, 0xe0
cmp dl, 0xc0
jne 0x46d8f4
movzx edx, byte [esi + 1]
and ebx, 0x1f
and edx, 0x3f
shl ebx, 6
or edx, ebx
add esi, 2
sub ecx, 2
jmp 0x46d971
cmp ecx, 3
jl 0x46d926
mov dl, bl
and dl, 0xf0
cmp dl, 0xe0
jne 0x46d926
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 0x46d971
cmp ecx, 4
jl 0x46d964
mov dl, bl
and dl, 0xf8
cmp dl, 0xf0
jne 0x46d964
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 0x46d971
xor edx, edx
jmp 0x46d96b
movzx edx, bl
add esi, 1
sub ecx, 1
cmp eax, edx
mov dword [esp + 0x14], ecx
jne 0x46d9d9
test ecx, ecx
jne 0x46d7c0
mov al, byte [esi - 1]
cmp al, 0x61
jb 0x46d98c
cmp al, 0x7a
jbe 0x46d9a8
cmp al, 0x41
jb 0x46d994
cmp al, 0x5a
jbe 0x46d9a8
cmp al, 0x30
jb 0x46d99c
cmp al, 0x39
jbe 0x46d9a8
cmp al, 0x5f
je 0x46d9a8
test al, al
jns 0x46da53
cmp dword [esp + 0x18], 0
je 0x46da53
mov al, byte [edi]
cmp al, 0x61
jb 0x46d9bd
cmp al, 0x7a
jbe 0x46d9d9
cmp al, 0x41
jb 0x46d9c5
cmp al, 0x5a
jbe 0x46d9d9
cmp al, 0x30
jb 0x46d9cd
cmp al, 0x39
jbe 0x46d9d9
cmp al, 0x5f
je 0x46d9d9
test al, al
jns 0x46da53
mov eax, dword [esp + 0x48]
mov cl, byte [eax]
mov eax, 1
add dword [esp + 0x4c], eax
sub dword [esp + 0x2c], eax
cmp cl, 0x61
jb 0x46d9f6
cmp cl, 0x7a
jbe 0x46da17
cmp cl, 0x41
jb 0x46da00
cmp cl, 0x5a
jbe 0x46da17
cmp cl, 0x30
jb 0x46da0a
cmp cl, 0x39
jbe 0x46da17
cmp cl, 0x5f
je 0x46da17
test cl, cl
jns 0x46d7a0
cmp dword [esp + 0x2c], 0
je 0x46d7a0
mov edx, dword [esp + 0x4c]
mov al, byte [edx - 1]
cmp al, 0x61
jb 0x46da31
cmp al, 0x7a
jbe 0x46d9df
cmp al, 0x41
jb 0x46da39
cmp al, 0x5a
jbe 0x46d9df
cmp al, 0x30
jb 0x46da41
cmp al, 0x39
jbe 0x46d9df
cmp al, 0x5f
je 0x46d9df
test al, al
jns 0x46d7a0
jmp 0x46d9df
xor eax, eax
jmp 0x46da58
mov eax, 1
test eax, eax
mov ebx, dword [esp + 0x38]
jne 0x46da8b
cmp ebx, dword [esp + 0x24]
jne 0x46da7c
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea ecx, [ebx + 0xff0]
mov dword [esp + 0x24], ecx
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov dword [ebx], eax
add ebx, 4
mov dword [esp + 0x38], ebx
mov eax, dword [esp + 0x28]
add eax, 4
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x28], eax
jne 0x46d750
mov edi, dword [esp + 0x24]
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x488888
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 edi, dword [esp + 0x70]
add eax, 0x18
cmp edx, edi
jle 0x46daeb
xor eax, eax
jmp 0x46ddcc
mov ecx, dword [esp + 0x78]
lea esi, [ecx + edi]
sub ecx, eax
lea ebx, [eax + edx]
mov dword [esp + 0x2c], ecx
sub ecx, edx
add ecx, edi
lea edx, [eax + 3]
mov dword [esp + 0x50], edx
mov dword [esp + 0x4c], ebx
lea edx, [eax + 4]
sub ebx, eax
mov dword [esp + 0x58], ecx
lea ecx, [eax + 2]
sub esi, eax
mov dword [esp + 0x60], edx
mov dword [esp + 0x54], ecx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x64], esi
mov edx, 1
lea ecx, [ecx]
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x64]
add esi, 0x18
mov dword [esp + 0x30], ecx
mov dword [esp + 0x18], eax
cmp esi, dword [esp + 0x4c]
jae 0x46ddc2
mov cl, byte [esi + edi]
mov bl, byte [esi]
mov edx, dword [0x58b5d4]
movzx eax, cl
cmp byte [eax + edx], bl
jne 0x46db9d
mov edx, 1
add dword [esp + 0x14], edx
add dword [esp + 0x20], edx
add dword [esp + 0x3c], edx
sub dword [esp + 0x18], edx
add esi, edx
sub dword [esp + 0x30], edx
jmp 0x46db63
test cl, cl
jns 0x46ddaa
mov edx, dword [esp + 0x18]
sub edx, edi
cmp edx, 2
mov dword [esp + 0x48], edx
jl 0x46dbe0
mov dl, cl
and dl, 0xe0
cmp dl, 0xc0
jne 0x46dbdc
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 0x46dc5f
mov edx, dword [esp + 0x48]
cmp edx, 3
jl 0x46dc1b
mov dl, cl
and dl, 0xf0
cmp dl, 0xe0
jne 0x46dc17
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 0x46dc5f
mov edx, dword [esp + 0x48]
cmp edx, 4
jl 0x46dc5d
and cl, 0xf8
cmp cl, 0xf0
jne 0x46dc5d
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 0x46dc5f
xor eax, eax
test bl, bl
mov edx, 1
jns 0x46dd79
mov ecx, dword [esp + 0x4c]
cmp dword [esp + 0x20], ecx
ja 0x46dcb6
mov dl, bl
and dl, 0xe0
cmp dl, 0xc0
jne 0x46dcb6
movzx ecx, byte [esi + 1]
mov edx, 2
add dword [esp + 0x14], edx
add dword [esp + 0x20], edx
add dword [esp + 0x3c], edx
sub dword [esp + 0x18], edx
sub dword [esp + 0x30], edx
and ebx, 0x1f
and ecx, 0x3f
shl ebx, 6
add esi, edx
mov edx, 1
or ecx, ebx
sub edi, edx
jmp 0x46dd92
cmp dword [esp + 0x3c], ecx
ja 0x46dd0e
mov dl, bl
and dl, 0xf0
cmp dl, 0xe0
jne 0x46dd0e
movzx ecx, byte [esi + 1]
mov edx, dword [esp + 0x20]
add dword [esp + 0x14], 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 + 0x3c], ebx
sub dword [esp + 0x18], ebx
sub dword [esp + 0x30], ebx
add edx, ebx
add esi, 3
mov dword [esp + 0x20], edx
sub edi, 2
lea edx, [ebx - 2]
jmp 0x46dd92
cmp dword [esp + 0x14], ecx
ja 0x46dd72
mov cl, bl
and cl, 0xf8
cmp cl, 0xf0
jne 0x46dd72
movzx ecx, byte [esi + 1]
mov edx, dword [esp + 0x20]
and ebx, 7
add dword [esp + 0x14], 4
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 + 0x3c]
movzx ebx, byte [ebx]
and ebx, 0x3f
shl ecx, 6
or ecx, ebx
mov ebx, 4
add dword [esp + 0x3c], ebx
sub dword [esp + 0x18], ebx
sub dword [esp + 0x30], ebx
add edx, ebx
add esi, 4
mov dword [esp + 0x20], edx
sub edi, 3
lea edx, [ebx - 3]
jmp 0x46dd92
xor ecx, ecx
lea edx, [ecx + 1]
jmp 0x46dd7c
movzx ecx, bl
add dword [esp + 0x14], edx
add dword [esp + 0x20], edx
add dword [esp + 0x3c], edx
sub dword [esp + 0x18], edx
add esi, edx
sub dword [esp + 0x30], edx
cmp eax, ecx
jne 0x46ddaf
mov eax, dword [esp + 0x18]
sub eax, edi
cmp eax, dword [esp + 0x30]
jge 0x46db63
xor eax, eax
jmp 0x46ddc4
mov edx, 1
mov ecx, dword [esp + 0x2c]
cmp ecx, dword [esp + 0x58]
je 0x46dda6
add dword [esp + 0x2c], edx
jmp 0x46db30
mov eax, edx
mov ebx, dword [esp + 0x38]
mov esi, dword [esp + 0x28]
test eax, eax
jne 0x46ddf7
cmp ebx, dword [esp + 0x24]
jne 0x46ddec
mov edx, dword [esp + 0x44]
push edx
call fcn.004021c0
mov ebx, eax
lea eax, [ebx + 0xff0]
mov dword [esp + 0x24], eax
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
mov dword [esp + 0x28], esi
jne 0x46dab3
mov edi, dword [esp + 0x24]
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x46de20
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
mov esi, dword [esp + 0x10]
jne 0x488888
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
push edx
lea eax, [esp + 0x74]
push eax
call fcn.00424170
mov eax, dword [esi + 0x14]
add esi, 0x18
test eax, eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x48], esi
je 0x46e123
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x70]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x2c], edx
lea ecx, [ecx]
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x50]
mov edi, dword [esp + 0x4c]
mov esi, dword [esp + 0x48]
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], ecx
jmp 0x46de90
cmp dword [esp + 0x18], 0
je 0x46e11f
mov cl, byte [edi]
mov bl, byte [esi]
mov edx, dword [0x58b5d4]
movzx eax, cl
cmp byte [eax + edx], bl
jne 0x46dec8
mov ecx, dword [esp + 0x14]
sub dword [esp + 0x18], 1
add edi, 1
add esi, 1
sub ecx, 1
mov dword [esp + 0x14], ecx
jmp 0x46e049
test cl, cl
jns 0x46e0a9
cmp dword [esp + 0x18], 2
jl 0x46df03
mov dl, cl
and dl, 0xe0
cmp dl, 0xc0
jne 0x46df03
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 + 0x18], 2
jmp 0x46df8f
cmp dword [esp + 0x18], 3
jl 0x46df3f
mov dl, cl
and dl, 0xf0
cmp dl, 0xe0
jne 0x46df3f
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 + 0x18], 3
jmp 0x46df8f
cmp dword [esp + 0x18], 4
jl 0x46df85
and cl, 0xf8
cmp cl, 0xf0
jne 0x46df85
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 + 0x18], 4
jmp 0x46df8f
xor eax, eax
add edi, 1
sub dword [esp + 0x18], 1
test bl, bl
mov ecx, dword [esp + 0x14]
jns 0x46e038
cmp ecx, 2
jl 0x46dfc4
mov dl, bl
and dl, 0xe0
cmp dl, 0xc0
jne 0x46dfc4
movzx edx, byte [esi + 1]
and ebx, 0x1f
and edx, 0x3f
shl ebx, 6
or edx, ebx
add esi, 2
sub ecx, 2
jmp 0x46e041
cmp ecx, 3
jl 0x46dff6
mov dl, bl
and dl, 0xf0
cmp dl, 0xe0
jne 0x46dff6
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 0x46e041
cmp ecx, 4
jl 0x46e034
mov dl, bl
and dl, 0xf8
cmp dl, 0xf0
jne 0x46e034
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 0x46e041
xor edx, edx
jmp 0x46e03b
movzx edx, bl
add esi, 1
sub ecx, 1
cmp eax, edx
mov dword [esp + 0x14], ecx
jne 0x46e0a9
test ecx, ecx
jne 0x46de90
mov al, byte [esi - 1]
cmp al, 0x61
jb 0x46e05c
cmp al, 0x7a
jbe 0x46e078
cmp al, 0x41
jb 0x46e064
cmp al, 0x5a
jbe 0x46e078
cmp al, 0x30
jb 0x46e06c
cmp al, 0x39
jbe 0x46e078
cmp al, 0x5f
je 0x46e078
test al, al
jns 0x46e123
cmp dword [esp + 0x18], 0
je 0x46e123
mov al, byte [edi]
cmp al, 0x61
jb 0x46e08d
cmp al, 0x7a
jbe 0x46e0a9
cmp al, 0x41
jb 0x46e095
cmp al, 0x5a
jbe 0x46e0a9
cmp al, 0x30
jb 0x46e09d
cmp al, 0x39
jbe 0x46e0a9
cmp al, 0x5f
je 0x46e0a9
test al, al
jns 0x46e123
mov eax, dword [esp + 0x48]
mov cl, byte [eax]
mov eax, 1
add dword [esp + 0x4c], eax
sub dword [esp + 0x2c], eax
cmp cl, 0x61
jb 0x46e0c6
cmp cl, 0x7a
jbe 0x46e0e7
cmp cl, 0x41
jb 0x46e0d0
cmp cl, 0x5a
jbe 0x46e0e7
cmp cl, 0x30
jb 0x46e0da
cmp cl, 0x39
jbe 0x46e0e7
cmp cl, 0x5f
je 0x46e0e7
test cl, cl
jns 0x46de70
cmp dword [esp + 0x2c], 0
je 0x46de70
mov edx, dword [esp + 0x4c]
mov al, byte [edx - 1]
cmp al, 0x61
jb 0x46e101
cmp al, 0x7a
jbe 0x46e0af
cmp al, 0x41
jb 0x46e109
cmp al, 0x5a
jbe 0x46e0af
cmp al, 0x30
jb 0x46e111
cmp al, 0x39
jbe 0x46e0af
cmp al, 0x5f
je 0x46e0af
test al, al
jns 0x46de70
jmp 0x46e0af
xor eax, eax
jmp 0x46e128
mov eax, 1
test eax, eax
jne 0x46e159
mov eax, dword [esp + 0x38]
cmp eax, dword [esp + 0x24]
jne 0x46e14a
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
lea ecx, [eax + 0xff0]
mov dword [esp + 0x24], ecx
mov edx, dword [esp + 0x28]
mov ecx, dword [edx]
mov dword [eax], ecx
add eax, 4
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x28]
add eax, 4
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x28], eax
jne 0x46de20
mov ebx, dword [esp + 0x38]
mov edi, dword [esp + 0x24]
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x46e190
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x46e1b1
mov ecx, dword [eax - 4]
jmp 0x46e1b4
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 0x46e1f7
cmp ebx, edi
jne 0x46e1ec
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x46e190
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
nop
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
mov esi, dword [esp + 0x10]
jne 0x488888
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x46e239
mov ecx, dword [eax - 4]
jmp 0x46e23c
movzx ecx, cl
mov edx, dword [esi + 0x14]
add esi, 0x18
test edx, edx
mov dword [esp + 0x50], edx
mov dword [esp + 0x48], esi
je 0x46e51e
add eax, 5
mov dword [esp + 0x4c], eax
mov dword [esp + 0x2c], ecx
lea ecx, [ecx]
mov edx, dword [esp + 0x2c]
mov edi, dword [esp + 0x4c]
mov esi, dword [esp + 0x48]
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x50]
mov dword [esp + 0x14], edx
cmp dword [esp + 0x18], 0
je 0x46e51a
mov al, byte [edi]
mov bl, byte [esi]
mov ecx, dword [0x58b5d0]
mov byte [esp + 0x43], al
movzx eax, al
cmp byte [eax + ecx], bl
jne 0x46e2b0
sub dword [esp + 0x18], 1
add edi, 1
add esi, 1
sub edx, 1
mov dword [esp + 0x14], edx
jmp 0x46e444
test byte [esp + 0x43], 0x80
je 0x46e4a4
cmp dword [esp + 0x18], 2
jl 0x46e2f4
mov cl, byte [esp + 0x43]
and cl, 0xe0
cmp cl, 0xc0
jne 0x46e2f4
movzx edx, byte [edi + 1]
and eax, 0x1f
and edx, 0x3f
shl eax, 6
or edx, eax
push edx
call fcn.00409910
mov edx, dword [esp + 0x14]
add edi, 2
sub dword [esp + 0x18], 2
jmp 0x46e38e
cmp dword [esp + 0x18], 3
jl 0x46e336
mov cl, byte [esp + 0x43]
and cl, 0xf0
cmp cl, 0xe0
jne 0x46e336
movzx edx, byte [edi + 1]
and eax, 0xf
and edx, 0x3f
shl eax, 6
or edx, eax
movzx eax, byte [edi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
push edx
call fcn.00409910
mov edx, dword [esp + 0x14]
add edi, 3
sub dword [esp + 0x18], 3
jmp 0x46e38e
cmp dword [esp + 0x18], 4
jl 0x46e384
mov cl, byte [esp + 0x43]
and cl, 0xf8
cmp cl, 0xf0
jne 0x46e384
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.00409910
mov edx, dword [esp + 0x14]
add edi, 4
sub dword [esp + 0x18], 4
jmp 0x46e38e
xor eax, eax
add edi, 1
sub dword [esp + 0x18], 1
test bl, bl
jns 0x46e433
cmp edx, 2
jl 0x46e3bf
mov cl, bl
and cl, 0xe0
cmp cl, 0xc0
jne 0x46e3bf
movzx ecx, byte [esi + 1]
and ebx, 0x1f
and ecx, 0x3f
shl ebx, 6
or ecx, ebx
add esi, 2
sub edx, 2
jmp 0x46e43c
cmp edx, 3
jl 0x46e3f1
mov cl, bl
and cl, 0xf0
cmp cl, 0xe0
jne 0x46e3f1
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 0x46e43c
cmp edx, 4
jl 0x46e42f
mov cl, bl
and cl, 0xf8
cmp cl, 0xf0
jne 0x46e42f
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 0x46e43c
xor ecx, ecx
jmp 0x46e436
movzx ecx, bl
add esi, 1
sub edx, 1
cmp eax, ecx
mov dword [esp + 0x14], edx
jne 0x46e4a4
test edx, edx
jne 0x46e278
mov al, byte [esi - 1]
cmp al, 0x61
jb 0x46e457
cmp al, 0x7a
jbe 0x46e473
cmp al, 0x41
jb 0x46e45f
cmp al, 0x5a
jbe 0x46e473
cmp al, 0x30
jb 0x46e467
cmp al, 0x39
jbe 0x46e473
cmp al, 0x5f
je 0x46e473
test al, al
jns 0x46e51e
cmp dword [esp + 0x18], 0
je 0x46e51e
mov al, byte [edi]
cmp al, 0x61
jb 0x46e488
cmp al, 0x7a
jbe 0x46e4a4
cmp al, 0x41
jb 0x46e490
cmp al, 0x5a
jbe 0x46e4a4
cmp al, 0x30
jb 0x46e498
cmp al, 0x39
jbe 0x46e4a4
cmp al, 0x5f
je 0x46e4a4
test al, al
jns 0x46e51e
mov edx, dword [esp + 0x48]
mov cl, byte [edx]
mov eax, 1
add dword [esp + 0x4c], eax
sub dword [esp + 0x2c], eax
cmp cl, 0x61
jb 0x46e4c1
cmp cl, 0x7a
jbe 0x46e4e2
cmp cl, 0x41
jb 0x46e4cb
cmp cl, 0x5a
jbe 0x46e4e2
cmp cl, 0x30
jb 0x46e4d5
cmp cl, 0x39
jbe 0x46e4e2
cmp cl, 0x5f
je 0x46e4e2
test cl, cl
jns 0x46e260
cmp dword [esp + 0x2c], 0
je 0x46e260
mov eax, dword [esp + 0x4c]
mov al, byte [eax - 1]
cmp al, 0x61
jb 0x46e4fc
cmp al, 0x7a
jbe 0x46e4aa
cmp al, 0x41
jb 0x46e504
cmp al, 0x5a
jbe 0x46e4aa
cmp al, 0x30
jb 0x46e50c
cmp al, 0x39
jbe 0x46e4aa
cmp al, 0x5f
je 0x46e4aa
test al, al
jns 0x46e260
jmp 0x46e4aa
xor eax, eax
jmp 0x46e523
mov eax, 1
test eax, eax
je 0x46e554
mov eax, dword [esp + 0x38]
cmp eax, dword [esp + 0x24]
jne 0x46e545
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004021c0
lea edx, [eax + 0xff0]
mov dword [esp + 0x24], edx
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
mov dword [eax], edx
add eax, 4
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x28]
add eax, 4
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x28], eax
jne 0x46e210
mov ebx, dword [esp + 0x38]
mov edi, dword [esp + 0x24]
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x488888
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x46e5a1
mov ecx, dword [eax - 4]
jmp 0x46e5a4
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 0x46e5e7
cmp ebx, edi
jne 0x46e5dc
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x46e580
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
nop
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x46e621
mov ecx, dword [eax - 4]
jmp 0x46e624
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 0x46e667
cmp ebx, edi
jne 0x46e65c
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x46e600
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
nop
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
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 0x46e6e6
cmp ebx, edi
jne 0x46e6db
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov edx, dword [esi]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x46e680
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov edi, edi
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
mov esi, dword [esp + 0x10]
jne 0x488888
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
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 + 0x50], eax
mov dword [esp + 0x48], esi
je 0x46ea03
mov edx, dword [esp + 0x78]
mov eax, dword [esp + 0x70]
mov dword [esp + 0x4c], edx
mov dword [esp + 0x2c], eax
lea ecx, [ecx]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x50]
mov edi, dword [esp + 0x4c]
mov esi, dword [esp + 0x48]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], edx
jmp 0x46e770
cmp dword [esp + 0x18], 0
je 0x46e9ff
mov cl, byte [edi]
mov bl, byte [esi]
mov edx, dword [0x58b5d0]
movzx eax, cl
cmp byte [eax + edx], bl
jne 0x46e7a8
mov ecx, dword [esp + 0x14]
sub dword [esp + 0x18], 1
add edi, 1
add esi, 1
sub ecx, 1
mov dword [esp + 0x14], ecx
jmp 0x46e929
test cl, cl
jns 0x46e989
cmp dword [esp + 0x18], 2
jl 0x46e7e3
mov dl, cl
and dl, 0xe0
cmp dl, 0xc0
jne 0x46e7e3
movzx ecx, byte [edi + 1]
and eax, 0x1f
and ecx, 0x3f
shl eax, 6
or ecx, eax
push ecx
call fcn.00409910
add edi, 2
sub dword [esp + 0x18], 2
jmp 0x46e86f
cmp dword [esp + 0x18], 3
jl 0x46e81f
mov dl, cl
and dl, 0xf0
cmp dl, 0xe0
jne 0x46e81f
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.00409910
add edi, 3
sub dword [esp + 0x18], 3
jmp 0x46e86f
cmp dword [esp + 0x18], 4
jl 0x46e865
and cl, 0xf8
cmp cl, 0xf0
jne 0x46e865
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.00409910
add edi, 4
sub dword [esp + 0x18], 4
jmp 0x46e86f
xor eax, eax
add edi, 1
sub dword [esp + 0x18], 1
test bl, bl
mov ecx, dword [esp + 0x14]
jns 0x46e918
cmp ecx, 2
jl 0x46e8a4
mov dl, bl
and dl, 0xe0
cmp dl, 0xc0
jne 0x46e8a4
movzx edx, byte [esi + 1]
and ebx, 0x1f
shl ebx, 6
and edx, 0x3f
or ebx, edx
add esi, 2
sub ecx, 2
jmp 0x46e921
cmp ecx, 3
jl 0x46e8d6
mov dl, bl
and dl, 0xf0
cmp dl, 0xe0
jne 0x46e8d6
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 0x46e921
cmp ecx, 4
jl 0x46e914
mov dl, bl
and dl, 0xf8
cmp dl, 0xf0
jne 0x46e914
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 0x46e921
xor ebx, ebx
jmp 0x46e91b
movzx ebx, bl
add esi, 1
sub ecx, 1
cmp eax, ebx
mov dword [esp + 0x14], ecx
jne 0x46e989
test ecx, ecx
jne 0x46e770
mov al, byte [esi - 1]
cmp al, 0x61
jb 0x46e93c
cmp al, 0x7a
jbe 0x46e958
cmp al, 0x41
jb 0x46e944
cmp al, 0x5a
jbe 0x46e958
cmp al, 0x30
jb 0x46e94c
cmp al, 0x39
jbe 0x46e958
cmp al, 0x5f
je 0x46e958
test al, al
jns 0x46ea03
cmp dword [esp + 0x18], 0
je 0x46ea03
mov al, byte [edi]
cmp al, 0x61
jb 0x46e96d
cmp al, 0x7a
jbe 0x46e989
cmp al, 0x41
jb 0x46e975
cmp al, 0x5a
jbe 0x46e989
cmp al, 0x30
jb 0x46e97d
cmp al, 0x39
jbe 0x46e989
cmp al, 0x5f
je 0x46e989
test al, al
jns 0x46ea03
mov eax, dword [esp + 0x48]
mov cl, byte [eax]
mov eax, 1
add dword [esp + 0x4c], eax
sub dword [esp + 0x2c], eax
cmp cl, 0x61
jb 0x46e9a6
cmp cl, 0x7a
jbe 0x46e9c7
cmp cl, 0x41
jb 0x46e9b0
cmp cl, 0x5a
jbe 0x46e9c7
cmp cl, 0x30
jb 0x46e9ba
cmp cl, 0x39
jbe 0x46e9c7
cmp cl, 0x5f
je 0x46e9c7
test cl, cl
jns 0x46e750
cmp dword [esp + 0x2c], 0
je 0x46e750
mov edx, dword [esp + 0x4c]
mov al, byte [edx - 1]
cmp al, 0x61
jb 0x46e9e1
cmp al, 0x7a
jbe 0x46e98f
cmp al, 0x41
jb 0x46e9e9
cmp al, 0x5a
jbe 0x46e98f
cmp al, 0x30
jb 0x46e9f1
cmp al, 0x39
jbe 0x46e98f
cmp al, 0x5f
je 0x46e98f
test al, al
jns 0x46e750
jmp 0x46e98f
xor eax, eax
jmp 0x46ea08
mov eax, 1
test eax, eax
je 0x46ea39
mov eax, dword [esp + 0x38]
cmp eax, dword [esp + 0x24]
jne 0x46ea2a
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
lea ecx, [eax + 0xff0]
mov dword [esp + 0x24], ecx
mov edx, dword [esp + 0x28]
mov ecx, dword [edx]
mov dword [eax], ecx
add eax, 4
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x28]
add eax, 4
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x28], eax
jne 0x46e700
mov ebx, dword [esp + 0x38]
mov edi, dword [esp + 0x24]
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x46ea70
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
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 0x46ead6
cmp ebx, edi
jne 0x46eacb
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov edx, dword [esi]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x46ea70
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov edi, edi
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x488888
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 0x46eb56
cmp ebx, edi
jne 0x46eb4b
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov edx, dword [esi]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x46eaf0
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov edi, edi
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x488888
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x46eb91
mov ecx, dword [eax - 4]
jmp 0x46eb94
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 0x46ebd7
cmp ebx, edi
jne 0x46ebcc
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x46eb70
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
nop
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
mov esi, dword [esp + 0x10]
jne 0x488888
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x46ec19
mov ecx, dword [eax - 4]
jmp 0x46ec1c
movzx ecx, cl
mov edx, dword [esi + 0x14]
add esi, 0x18
test edx, edx
mov dword [esp + 0x50], edx
mov dword [esp + 0x48], esi
je 0x46eefa
add eax, 5
mov dword [esp + 0x4c], eax
mov dword [esp + 0x2c], ecx
lea ecx, [ecx]
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x50]
mov edi, dword [esp + 0x4c]
mov esi, dword [esp + 0x48]
mov dword [esp + 0x18], edx
mov dword [esp + 0x14], ecx
cmp dword [esp + 0x18], 0
je 0x46eef6
mov al, byte [edi]
mov bl, byte [esi]
mov edx, dword [0x58b5d0]
mov byte [esp + 0x43], al
movzx eax, al
cmp byte [eax + edx], bl
jne 0x46ec90
sub dword [esp + 0x18], 1
add edi, 1
add esi, 1
sub ecx, 1
mov dword [esp + 0x14], ecx
jmp 0x46ee24
test byte [esp + 0x43], 0x80
je 0x46ee80
cmp dword [esp + 0x18], 2
jl 0x46ecd4
mov dl, byte [esp + 0x43]
and dl, 0xe0
cmp dl, 0xc0
jne 0x46ecd4
movzx ecx, byte [edi + 1]
and eax, 0x1f
and ecx, 0x3f
shl eax, 6
or ecx, eax
push ecx
call fcn.00409910
mov ecx, dword [esp + 0x14]
add edi, 2
sub dword [esp + 0x18], 2
jmp 0x46ed6e
cmp dword [esp + 0x18], 3
jl 0x46ed16
mov dl, byte [esp + 0x43]
and dl, 0xf0
cmp dl, 0xe0
jne 0x46ed16
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.00409910
mov ecx, dword [esp + 0x14]
add edi, 3
sub dword [esp + 0x18], 3
jmp 0x46ed6e
cmp dword [esp + 0x18], 4
jl 0x46ed64
mov dl, byte [esp + 0x43]
and dl, 0xf8
cmp dl, 0xf0
jne 0x46ed64
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.00409910
mov ecx, dword [esp + 0x14]
add edi, 4
sub dword [esp + 0x18], 4
jmp 0x46ed6e
xor eax, eax
add edi, 1
sub dword [esp + 0x18], 1
test bl, bl
jns 0x46ee13
cmp ecx, 2
jl 0x46ed9f
mov dl, bl
and dl, 0xe0
cmp dl, 0xc0
jne 0x46ed9f
movzx edx, byte [esi + 1]
and ebx, 0x1f
shl ebx, 6
and edx, 0x3f
or ebx, edx
add esi, 2
sub ecx, 2
jmp 0x46ee1c
cmp ecx, 3
jl 0x46edd1
mov dl, bl
and dl, 0xf0
cmp dl, 0xe0
jne 0x46edd1
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 0x46ee1c
cmp ecx, 4
jl 0x46ee0f
mov dl, bl
and dl, 0xf8
cmp dl, 0xf0
jne 0x46ee0f
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 0x46ee1c
xor ebx, ebx
jmp 0x46ee16
movzx ebx, bl
add esi, 1
sub ecx, 1
cmp eax, ebx
mov dword [esp + 0x14], ecx
jne 0x46ee80
test ecx, ecx
jne 0x46ec58
mov al, byte [esi - 1]
cmp al, 0x61
jb 0x46ee37
cmp al, 0x7a
jbe 0x46ee53
cmp al, 0x41
jb 0x46ee3f
cmp al, 0x5a
jbe 0x46ee53
cmp al, 0x30
jb 0x46ee47
cmp al, 0x39
jbe 0x46ee53
cmp al, 0x5f
je 0x46ee53
test al, al
jns 0x46eefa
cmp dword [esp + 0x18], 0
je 0x46eefa
mov al, byte [edi]
cmp al, 0x61
jb 0x46ee68
cmp al, 0x7a
jbe 0x46ee80
cmp al, 0x41
jb 0x46ee70
cmp al, 0x5a
jbe 0x46ee80
cmp al, 0x30
jb 0x46ee78
cmp al, 0x39
jbe 0x46ee80
cmp al, 0x5f
je 0x46ee80
test al, al
jns 0x46eefa
mov eax, dword [esp + 0x48]
mov cl, byte [eax]
mov eax, 1
add dword [esp + 0x4c], eax
sub dword [esp + 0x2c], eax
cmp cl, 0x61
jb 0x46ee9d
cmp cl, 0x7a
jbe 0x46eebe
cmp cl, 0x41
jb 0x46eea7
cmp cl, 0x5a
jbe 0x46eebe
cmp cl, 0x30
jb 0x46eeb1
cmp cl, 0x39
jbe 0x46eebe
cmp cl, 0x5f
je 0x46eebe
test cl, cl
jns 0x46ec40
cmp dword [esp + 0x2c], 0
je 0x46ec40
mov edx, dword [esp + 0x4c]
mov al, byte [edx - 1]
cmp al, 0x61
jb 0x46eed8
cmp al, 0x7a
jbe 0x46ee86
cmp al, 0x41
jb 0x46eee0
cmp al, 0x5a
jbe 0x46ee86
cmp al, 0x30
jb 0x46eee8
cmp al, 0x39
jbe 0x46ee86
cmp al, 0x5f
je 0x46ee86
test al, al
jns 0x46ec40
jmp 0x46ee86
xor eax, eax
jmp 0x46eeff
mov eax, 1
test eax, eax
jne 0x46ef30
mov eax, dword [esp + 0x38]
cmp eax, dword [esp + 0x24]
jne 0x46ef21
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
lea ecx, [eax + 0xff0]
mov dword [esp + 0x24], ecx
mov edx, dword [esp + 0x28]
mov ecx, dword [edx]
mov dword [eax], ecx
add eax, 4
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x28]
add eax, 4
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x28], eax
jne 0x46ebf0
mov ebx, dword [esp + 0x38]
mov edi, dword [esp + 0x24]
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
lea esp, [esp]
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x46ef81
mov ecx, dword [eax - 4]
jmp 0x46ef84
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 0x46efc7
cmp ebx, edi
jne 0x46efbc
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x46ef60
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
nop
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x46f001
mov ecx, dword [eax - 4]
jmp 0x46f004
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 0x46f047
cmp ebx, edi
jne 0x46f03c
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x46efe0
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
nop
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
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 0x46f0c6
cmp ebx, edi
jne 0x46f0bb
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov edx, dword [esi]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x46f060
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov edi, edi
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
mov esi, dword [esp + 0x10]
jne 0x488888
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
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 + 0x50], eax
mov dword [esp + 0x48], esi
je 0x46f3e3
mov edx, dword [esp + 0x78]
mov eax, dword [esp + 0x70]
mov dword [esp + 0x4c], edx
mov dword [esp + 0x2c], eax
lea ecx, [ecx]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x50]
mov edi, dword [esp + 0x4c]
mov esi, dword [esp + 0x48]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], edx
jmp 0x46f150
cmp dword [esp + 0x18], 0
je 0x46f3df
mov cl, byte [edi]
mov bl, byte [esi]
mov edx, dword [0x58b5d0]
movzx eax, cl
cmp byte [edx + eax], bl
jne 0x46f188
mov ecx, dword [esp + 0x14]
sub dword [esp + 0x18], 1
add edi, 1
add esi, 1
sub ecx, 1
mov dword [esp + 0x14], ecx
jmp 0x46f309
test cl, cl
jns 0x46f369
cmp dword [esp + 0x18], 2
jl 0x46f1c3
mov dl, cl
and dl, 0xe0
cmp dl, 0xc0
jne 0x46f1c3
movzx ecx, byte [edi + 1]
and eax, 0x1f
and ecx, 0x3f
shl eax, 6
or ecx, eax
push ecx
call fcn.00409910
add edi, 2
sub dword [esp + 0x18], 2
jmp 0x46f24f
cmp dword [esp + 0x18], 3
jl 0x46f1ff
mov dl, cl
and dl, 0xf0
cmp dl, 0xe0
jne 0x46f1ff
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.00409910
add edi, 3
sub dword [esp + 0x18], 3
jmp 0x46f24f
cmp dword [esp + 0x18], 4
jl 0x46f245
and cl, 0xf8
cmp cl, 0xf0
jne 0x46f245
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.00409910
add edi, 4
sub dword [esp + 0x18], 4
jmp 0x46f24f
xor eax, eax
add edi, 1
sub dword [esp + 0x18], 1
test bl, bl
mov ecx, dword [esp + 0x14]
jns 0x46f2f8
cmp ecx, 2
jl 0x46f284
mov dl, bl
and dl, 0xe0
cmp dl, 0xc0
jne 0x46f284
movzx edx, byte [esi + 1]
and ebx, 0x1f
and edx, 0x3f
shl ebx, 6
or edx, ebx
add esi, 2
sub ecx, 2
jmp 0x46f301
cmp ecx, 3
jl 0x46f2b6
mov dl, bl
and dl, 0xf0
cmp dl, 0xe0
jne 0x46f2b6
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 0x46f301
cmp ecx, 4
jl 0x46f2f4
mov dl, bl
and dl, 0xf8
cmp dl, 0xf0
jne 0x46f2f4
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 0x46f301
xor edx, edx
jmp 0x46f2fb
movzx edx, bl
add esi, 1
sub ecx, 1
cmp eax, edx
mov dword [esp + 0x14], ecx
jne 0x46f369
test ecx, ecx
jne 0x46f150
mov al, byte [esi - 1]
cmp al, 0x61
jb 0x46f31c
cmp al, 0x7a
jbe 0x46f338
cmp al, 0x41
jb 0x46f324
cmp al, 0x5a
jbe 0x46f338
cmp al, 0x30
jb 0x46f32c
cmp al, 0x39
jbe 0x46f338
cmp al, 0x5f
je 0x46f338
test al, al
jns 0x46f3e3
cmp dword [esp + 0x18], 0
je 0x46f3e3
mov al, byte [edi]
cmp al, 0x61
jb 0x46f34d
cmp al, 0x7a
jbe 0x46f369
cmp al, 0x41
jb 0x46f355
cmp al, 0x5a
jbe 0x46f369
cmp al, 0x30
jb 0x46f35d
cmp al, 0x39
jbe 0x46f369
cmp al, 0x5f
je 0x46f369
test al, al
jns 0x46f3e3
mov eax, dword [esp + 0x48]
mov cl, byte [eax]
mov eax, 1
add dword [esp + 0x4c], eax
sub dword [esp + 0x2c], eax
cmp cl, 0x61
jb 0x46f386
cmp cl, 0x7a
jbe 0x46f3a7
cmp cl, 0x41
jb 0x46f390
cmp cl, 0x5a
jbe 0x46f3a7
cmp cl, 0x30
jb 0x46f39a
cmp cl, 0x39
jbe 0x46f3a7
cmp cl, 0x5f
je 0x46f3a7
test cl, cl
jns 0x46f130
cmp dword [esp + 0x2c], 0
je 0x46f130
mov edx, dword [esp + 0x4c]
mov al, byte [edx - 1]
cmp al, 0x61
jb 0x46f3c1
cmp al, 0x7a
jbe 0x46f36f
cmp al, 0x41
jb 0x46f3c9
cmp al, 0x5a
jbe 0x46f36f
cmp al, 0x30
jb 0x46f3d1
cmp al, 0x39
jbe 0x46f36f
cmp al, 0x5f
je 0x46f36f
test al, al
jns 0x46f130
jmp 0x46f36f
xor eax, eax
jmp 0x46f3e8
mov eax, 1
test eax, eax
jne 0x46f419
mov eax, dword [esp + 0x38]
cmp eax, dword [esp + 0x24]
jne 0x46f40a
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
lea ecx, [eax + 0xff0]
mov dword [esp + 0x24], ecx
mov edx, dword [esp + 0x28]
mov ecx, dword [edx]
mov dword [eax], ecx
add eax, 4
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x28]
add eax, 4
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x28], eax
jne 0x46f0e0
mov ebx, dword [esp + 0x38]
mov edi, dword [esp + 0x24]
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x46f450
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
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 0x46f4b6
cmp ebx, edi
jne 0x46f4ab
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov edx, dword [esi]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x46f450
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov edi, edi
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x488888
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 0x46f536
cmp ebx, edi
jne 0x46f52b
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov edx, dword [esi]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x46f4d0
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov edi, edi
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x488888
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x46f575
mov edx, dword [eax - 4]
mov dword [esp + 0x48], edx
jmp 0x46f57c
movzx ecx, cl
mov dword [esp + 0x48], ecx
mov edx, dword [esp + 0x10]
mov ecx, dword [edx + 0x14]
add edx, 0x18
cmp ecx, dword [esp + 0x48]
jle 0x46f590
xor eax, eax
jmp 0x46f5dd
sub eax, edx
lea edi, [edx + ecx]
add eax, 5
mov dword [esp + 0x50], edi
mov edi, eax
sub eax, ecx
add eax, dword [esp + 0x48]
mov ecx, dword [0x58b5d0]
mov dword [esp + 0x54], eax
mov edi, edi
mov eax, dword [esp + 0x10]
add eax, 0x18
cmp eax, dword [esp + 0x50]
jae 0x46f5d8
movzx edx, byte [eax + edi]
mov dl, byte [edx + ecx]
cmp dl, byte [eax]
jne 0x46f5cd
add eax, 1
jmp 0x46f5b7
cmp edi, dword [esp + 0x54]
je 0x46f58c
add edi, 1
jmp 0x46f5b0
mov eax, 1
test eax, eax
mov edi, dword [esp + 0x24]
je 0x46f60a
cmp ebx, edi
jne 0x46f5ff
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x46f550
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x46f630
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x46f651
mov edi, dword [eax - 4]
jmp 0x46f654
movzx edi, cl
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx + 0x14]
test ecx, ecx
mov dword [esp + 0x50], ecx
je 0x46f78e
lea edx, [eax + 5]
mov dword [esp + 0x48], edx
mov dword [esp + 0x4c], edi
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x50]
add eax, 0x18
sub ecx, edi
mov dword [esp + 0x54], ecx
mov ecx, dword [0x58b5d0]
mov dword [esp + 0x2c], edx
test edi, edi
je 0x46f78a
mov edx, dword [esp + 0x2c]
movzx edx, byte [edx]
mov dl, byte [edx + ecx]
cmp dl, byte [eax]
jne 0x46f70f
mov edx, dword [esp + 0x54]
add dword [esp + 0x2c], 1
sub edi, 1
add eax, 1
add edx, edi
jne 0x46f68d
mov al, byte [eax - 1]
cmp al, 0x61
jb 0x46f6c1
cmp al, 0x7a
jbe 0x46f6dd
cmp al, 0x41
jb 0x46f6c9
cmp al, 0x5a
jbe 0x46f6dd
cmp al, 0x30
jb 0x46f6d1
cmp al, 0x39
jbe 0x46f6dd
cmp al, 0x5f
je 0x46f6dd
test al, al
jns 0x46f78e
test edi, edi
je 0x46f78e
mov eax, dword [esp + 0x2c]
mov al, byte [eax]
cmp al, 0x61
jb 0x46f6f3
cmp al, 0x7a
jbe 0x46f70f
cmp al, 0x41
jb 0x46f6fb
cmp al, 0x5a
jbe 0x46f70f
cmp al, 0x30
jb 0x46f703
cmp al, 0x39
jbe 0x46f70f
cmp al, 0x5f
je 0x46f70f
test al, al
jns 0x46f78e
mov eax, dword [esp + 0x10]
mov cl, byte [eax + 0x18]
mov edi, dword [esp + 0x4c]
mov edx, dword [esp + 0x48]
add eax, 0x18
add edx, 1
sub edi, 1
cmp cl, 0x61
mov dword [esp + 0x48], edx
mov dword [esp + 0x4c], edi
jb 0x46f739
cmp cl, 0x7a
jbe 0x46f75a
cmp cl, 0x41
jb 0x46f743
cmp cl, 0x5a
jbe 0x46f75a
cmp cl, 0x30
jb 0x46f74d
cmp cl, 0x39
jbe 0x46f75a
cmp cl, 0x5f
je 0x46f75a
test cl, cl
jns 0x46f672
test edi, edi
je 0x46f672
mov al, byte [edx - 1]
cmp al, 0x61
jb 0x46f76d
cmp al, 0x7a
jbe 0x46f721
cmp al, 0x41
jb 0x46f775
cmp al, 0x5a
jbe 0x46f721
cmp al, 0x30
jb 0x46f77d
cmp al, 0x39
jbe 0x46f721
cmp al, 0x5f
je 0x46f721
test al, al
js 0x46f721
jmp 0x46f672
xor eax, eax
jmp 0x46f793
mov eax, 1
test eax, eax
je 0x46f7be
cmp ebx, dword [esp + 0x24]
jne 0x46f7b3
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004021c0
mov ebx, eax
lea edx, [ebx + 0xff0]
mov dword [esp + 0x24], edx
mov eax, dword [esi]
mov dword [ebx], eax
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x46f630
mov edi, dword [esp + 0x24]
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov edi, edi
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x488888
mov eax, dword [esi]
push eax
lea ecx, [esp + 0x74]
push ecx
call fcn.00424170
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0x70]
add eax, 0x18
cmp ecx, edx
jle 0x46f815
xor eax, eax
jmp 0x46f86e
lea edi, [eax + ecx]
mov dword [esp + 0x50], edi
mov edi, dword [esp + 0x78]
sub edi, eax
mov eax, edi
sub eax, ecx
mov ecx, dword [0x58b5d0]
add eax, edx
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x10]
add eax, 0x18
lea esp, [esp]
cmp eax, dword [esp + 0x50]
jae 0x46f865
movzx edx, byte [eax + edi]
mov dl, byte [edx + ecx]
cmp dl, byte [eax]
jne 0x46f856
add eax, 1
jmp 0x46f840
cmp edi, dword [esp + 0x54]
je 0x46f861
add edi, 1
jmp 0x46f832
xor eax, eax
jmp 0x46f86a
mov eax, 1
mov edi, dword [esp + 0x24]
test eax, eax
je 0x46f897
cmp ebx, edi
jne 0x46f88c
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x46f7e0
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
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 + 0x50], eax
je 0x46fa11
mov edx, dword [esp + 0x78]
mov edi, dword [esp + 0x70]
mov dword [esp + 0x48], edx
mov dword [esp + 0x4c], edi
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x50]
add eax, 0x18
sub ecx, edi
mov dword [esp + 0x54], ecx
mov ecx, dword [0x58b5d0]
mov dword [esp + 0x2c], edx
test edi, edi
je 0x46fa0d
mov edx, dword [esp + 0x2c]
movzx edx, byte [edx]
mov dl, byte [edx + ecx]
cmp dl, byte [eax]
jne 0x46f992
mov edx, dword [esp + 0x54]
add dword [esp + 0x2c], 1
sub edi, 1
add eax, 1
add edx, edi
jne 0x46f910
mov al, byte [eax - 1]
cmp al, 0x61
jb 0x46f944
cmp al, 0x7a
jbe 0x46f960
cmp al, 0x41
jb 0x46f94c
cmp al, 0x5a
jbe 0x46f960
cmp al, 0x30
jb 0x46f954
cmp al, 0x39
jbe 0x46f960
cmp al, 0x5f
je 0x46f960
test al, al
jns 0x46fa11
test edi, edi
je 0x46fa11
mov eax, dword [esp + 0x2c]
mov al, byte [eax]
cmp al, 0x61
jb 0x46f976
cmp al, 0x7a
jbe 0x46f992
cmp al, 0x41
jb 0x46f97e
cmp al, 0x5a
jbe 0x46f992
cmp al, 0x30
jb 0x46f986
cmp al, 0x39
jbe 0x46f992
cmp al, 0x5f
je 0x46f992
test al, al
jns 0x46fa11
mov eax, dword [esp + 0x10]
mov cl, byte [eax + 0x18]
mov edi, dword [esp + 0x4c]
mov edx, dword [esp + 0x48]
add eax, 0x18
add edx, 1
sub edi, 1
cmp cl, 0x61
mov dword [esp + 0x48], edx
mov dword [esp + 0x4c], edi
jb 0x46f9bc
cmp cl, 0x7a
jbe 0x46f9dd
cmp cl, 0x41
jb 0x46f9c6
cmp cl, 0x5a
jbe 0x46f9dd
cmp cl, 0x30
jb 0x46f9d0
cmp cl, 0x39
jbe 0x46f9dd
cmp cl, 0x5f
je 0x46f9dd
test cl, cl
jns 0x46f8f5
test edi, edi
je 0x46f8f5
mov al, byte [edx - 1]
cmp al, 0x61
jb 0x46f9f0
cmp al, 0x7a
jbe 0x46f9a4
cmp al, 0x41
jb 0x46f9f8
cmp al, 0x5a
jbe 0x46f9a4
cmp al, 0x30
jb 0x46fa00
cmp al, 0x39
jbe 0x46f9a4
cmp al, 0x5f
je 0x46f9a4
test al, al
js 0x46f9a4
jmp 0x46f8f5
xor eax, eax
jmp 0x46fa16
mov eax, 1
test eax, eax
je 0x46fa41
cmp ebx, dword [esp + 0x24]
jne 0x46fa36
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004021c0
mov ebx, eax
lea edx, [ebx + 0xff0]
mov dword [esp + 0x24], edx
mov eax, dword [esi]
mov dword [ebx], eax
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x46f8b3
mov edi, dword [esp + 0x24]
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x488888
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x46fa86
mov ecx, dword [eax - 4]
mov dword [esp + 0x48], ecx
jmp 0x46fa8d
movzx edx, cl
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x10]
mov ecx, dword [edx + 0x14]
add edx, 0x18
cmp ecx, dword [esp + 0x48]
jle 0x46faa1
xor eax, eax
jmp 0x46faed
sub eax, edx
lea edi, [edx + ecx]
add eax, 5
mov dword [esp + 0x50], edi
mov edi, eax
sub eax, ecx
add eax, dword [esp + 0x48]
mov ecx, dword [0x58b5d0]
mov dword [esp + 0x54], eax
nop
mov eax, dword [esp + 0x10]
add eax, 0x18
cmp eax, dword [esp + 0x50]
jae 0x46fae8
movzx edx, byte [eax + edi]
mov dl, byte [edx + ecx]
cmp dl, byte [eax]
jne 0x46fadd
add eax, 1
jmp 0x46fac7
cmp edi, dword [esp + 0x54]
je 0x46fa9d
add edi, 1
jmp 0x46fac0
mov eax, 1
test eax, eax
mov edi, dword [esp + 0x24]
jne 0x46fb1a
cmp ebx, edi
jne 0x46fb0f
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x46fa61
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x46fb40
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x46fb61
mov edi, dword [eax - 4]
jmp 0x46fb64
movzx edi, cl
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx + 0x14]
test ecx, ecx
mov dword [esp + 0x50], ecx
je 0x46fca2
lea edx, [eax + 5]
mov dword [esp + 0x48], edx
mov dword [esp + 0x4c], edi
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x50]
add eax, 0x18
sub ecx, edi
mov dword [esp + 0x54], ecx
mov ecx, dword [0x58b5d0]
mov dword [esp + 0x2c], edx
test edi, edi
je 0x46fc9e
mov edx, dword [esp + 0x2c]
movzx edx, byte [edx]
mov dl, byte [edx + ecx]
cmp dl, byte [eax]
jne 0x46fc23
mov edx, dword [esp + 0x54]
add dword [esp + 0x2c], 1
sub edi, 1
add eax, 1
add edx, edi
jne 0x46fb9d
mov al, byte [eax - 1]
cmp al, 0x61
jb 0x46fbd5
cmp al, 0x7a
jbe 0x46fbf1
cmp al, 0x41
jb 0x46fbdd
cmp al, 0x5a
jbe 0x46fbf1
cmp al, 0x30
jb 0x46fbe5
cmp al, 0x39
jbe 0x46fbf1
cmp al, 0x5f
je 0x46fbf1
test al, al
jns 0x46fca2
test edi, edi
je 0x46fca2
mov eax, dword [esp + 0x2c]
mov al, byte [eax]
cmp al, 0x61
jb 0x46fc07
cmp al, 0x7a
jbe 0x46fc23
cmp al, 0x41
jb 0x46fc0f
cmp al, 0x5a
jbe 0x46fc23
cmp al, 0x30
jb 0x46fc17
cmp al, 0x39
jbe 0x46fc23
cmp al, 0x5f
je 0x46fc23
test al, al
jns 0x46fca2
mov eax, dword [esp + 0x10]
mov cl, byte [eax + 0x18]
mov edx, dword [esp + 0x48]
mov edi, dword [esp + 0x4c]
add eax, 0x18
add edx, 1
sub edi, 1
cmp cl, 0x61
mov dword [esp + 0x48], edx
mov dword [esp + 0x4c], edi
jb 0x46fc4d
cmp cl, 0x7a
jbe 0x46fc6e
cmp cl, 0x41
jb 0x46fc57
cmp cl, 0x5a
jbe 0x46fc6e
cmp cl, 0x30
jb 0x46fc61
cmp cl, 0x39
jbe 0x46fc6e
cmp cl, 0x5f
je 0x46fc6e
test cl, cl
jns 0x46fb82
test edi, edi
je 0x46fb82
mov al, byte [edx - 1]
cmp al, 0x61
jb 0x46fc81
cmp al, 0x7a
jbe 0x46fc35
cmp al, 0x41
jb 0x46fc89
cmp al, 0x5a
jbe 0x46fc35
cmp al, 0x30
jb 0x46fc91
cmp al, 0x39
jbe 0x46fc35
cmp al, 0x5f
je 0x46fc35
test al, al
js 0x46fc35
jmp 0x46fb82
xor eax, eax
jmp 0x46fca7
mov eax, 1
test eax, eax
jne 0x46fcd2
cmp ebx, dword [esp + 0x24]
jne 0x46fcc7
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004021c0
mov ebx, eax
lea edx, [ebx + 0xff0]
mov dword [esp + 0x24], edx
mov eax, dword [esi]
mov dword [ebx], eax
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x46fb40
mov edi, dword [esp + 0x24]
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x488888
mov eax, dword [esi]
push eax
lea ecx, [esp + 0x74]
push ecx
call fcn.00424170
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0x70]
add eax, 0x18
cmp ecx, edx
jle 0x46fd2a
xor eax, eax
jmp 0x46fd85
lea edi, [eax + ecx]
mov dword [esp + 0x50], edi
mov edi, dword [esp + 0x78]
sub edi, eax
mov eax, edi
sub eax, ecx
mov ecx, dword [0x58b5d0]
add eax, edx
mov dword [esp + 0x54], eax
jmp 0x46fd50
mov eax, dword [esp + 0x10]
add eax, 0x18
cmp eax, dword [esp + 0x50]
jae 0x46fd7c
movzx edx, byte [eax + edi]
mov dl, byte [edx + ecx]
cmp dl, byte [eax]
jne 0x46fd6d
add eax, 1
jmp 0x46fd57
cmp edi, dword [esp + 0x54]
je 0x46fd78
add edi, 1
jmp 0x46fd50
xor eax, eax
jmp 0x46fd81
mov eax, 1
mov edi, dword [esp + 0x24]
test eax, eax
jne 0x46fdae
cmp ebx, edi
jne 0x46fda3
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x46fcf2
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
lea ebx, [ebx]
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
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 + 0x50], eax
je 0x46ff32
mov edx, dword [esp + 0x78]
mov edi, dword [esp + 0x70]
mov dword [esp + 0x48], edx
mov dword [esp + 0x4c], edi
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x50]
add eax, 0x18
sub ecx, edi
mov dword [esp + 0x54], ecx
mov ecx, dword [0x58b5d0]
mov dword [esp + 0x2c], edx
test edi, edi
je 0x46ff2e
mov edx, dword [esp + 0x2c]
movzx edx, byte [edx]
mov dl, byte [edx + ecx]
cmp dl, byte [eax]
jne 0x46feb3
mov edx, dword [esp + 0x54]
add dword [esp + 0x2c], 1
sub edi, 1
add eax, 1
add edx, edi
jne 0x46fe2d
mov al, byte [eax - 1]
cmp al, 0x61
jb 0x46fe65
cmp al, 0x7a
jbe 0x46fe81
cmp al, 0x41
jb 0x46fe6d
cmp al, 0x5a
jbe 0x46fe81
cmp al, 0x30
jb 0x46fe75
cmp al, 0x39
jbe 0x46fe81
cmp al, 0x5f
je 0x46fe81
test al, al
jns 0x46ff32
test edi, edi
je 0x46ff32
mov eax, dword [esp + 0x2c]
mov al, byte [eax]
cmp al, 0x61
jb 0x46fe97
cmp al, 0x7a
jbe 0x46feb3
cmp al, 0x41
jb 0x46fe9f
cmp al, 0x5a
jbe 0x46feb3
cmp al, 0x30
jb 0x46fea7
cmp al, 0x39
jbe 0x46feb3
cmp al, 0x5f
je 0x46feb3
test al, al
jns 0x46ff32
mov eax, dword [esp + 0x10]
mov cl, byte [eax + 0x18]
mov edi, dword [esp + 0x4c]
mov edx, dword [esp + 0x48]
add eax, 0x18
add edx, 1
sub edi, 1
cmp cl, 0x61
mov dword [esp + 0x48], edx
mov dword [esp + 0x4c], edi
jb 0x46fedd
cmp cl, 0x7a
jbe 0x46fefe
cmp cl, 0x41
jb 0x46fee7
cmp cl, 0x5a
jbe 0x46fefe
cmp cl, 0x30
jb 0x46fef1
cmp cl, 0x39
jbe 0x46fefe
cmp cl, 0x5f
je 0x46fefe
test cl, cl
jns 0x46fe12
test edi, edi
je 0x46fe12
mov al, byte [edx - 1]
cmp al, 0x61
jb 0x46ff11
cmp al, 0x7a
jbe 0x46fec5
cmp al, 0x41
jb 0x46ff19
cmp al, 0x5a
jbe 0x46fec5
cmp al, 0x30
jb 0x46ff21
cmp al, 0x39
jbe 0x46fec5
cmp al, 0x5f
je 0x46fec5
test al, al
js 0x46fec5
jmp 0x46fe12
xor eax, eax
jmp 0x46ff37
mov eax, 1
test eax, eax
jne 0x46ff62
cmp ebx, dword [esp + 0x24]
jne 0x46ff57
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004021c0
mov ebx, eax
lea edx, [ebx + 0xff0]
mov dword [esp + 0x24], edx
mov eax, dword [esi]
mov dword [ebx], eax
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x46fdd0
mov edi, dword [esp + 0x24]
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x488888
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x46ffa3
mov ecx, dword [eax - 4]
jmp 0x46ffa6
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 0x46ffe9
cmp ebx, edi
jne 0x46ffde
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x46ff82
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x470022
mov ecx, dword [eax - 4]
jmp 0x470025
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 0x470068
cmp ebx, edi
jne 0x47005d
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x470001
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
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 0x4700e6
cmp ebx, edi
jne 0x4700db
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov edx, dword [esi]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x470080
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov edi, edi
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x488888
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 0x470166
cmp ebx, edi
jne 0x47015b
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov edx, dword [esi]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x470100
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov edi, edi
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x488888
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x4701a1
mov ecx, dword [eax - 4]
jmp 0x4701a4
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 0x4701e7
cmp ebx, edi
jne 0x4701dc
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x470180
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
nop
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x470221
mov ecx, dword [eax - 4]
jmp 0x470224
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 0x470267
cmp ebx, edi
jne 0x47025c
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x470200
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
nop
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
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 0x4702e6
cmp ebx, edi
jne 0x4702db
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov edx, dword [esi]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x470280
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov edi, edi
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x488888
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 0x470366
cmp ebx, edi
jne 0x47035b
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov edx, dword [esi]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x470300
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov edi, edi
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x488888
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x4703a1
mov ecx, dword [eax - 4]
jmp 0x4703a4
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
jne 0x4703e7
cmp ebx, edi
jne 0x4703dc
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x470380
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
nop
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x470421
mov ecx, dword [eax - 4]
jmp 0x470424
movzx ecx, cl
mov edx, dword [esp + 0x10]
mov edx, dword [edx + 0x14]
cmp ecx, edx
mov dword [esp + 0x2c], ecx
jge 0x470435
mov edx, ecx
add eax, 5
test edx, edx
je 0x47046c
mov ecx, dword [esp + 0x10]
sub ecx, eax
add ecx, 0x18
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x48]
movzx edi, byte [eax + ecx]
movzx ecx, byte [eax]
sub ecx, edi
jne 0x4704ae
add eax, 1
sub edx, 1
jne 0x470449
mov ecx, dword [esp + 0x2c]
mov edi, dword [esp + 0x24]
mov edx, dword [esp + 0x10]
sub ecx, dword [edx + 0x14]
test ecx, ecx
jne 0x47049c
cmp ebx, edi
jne 0x470491
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x470400
jmp case.0x46a9ea.1
mov edi, dword [esp + 0x24]
jmp 0x470473
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov edi, edi
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
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 0x470526
cmp ebx, edi
jne 0x47051b
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov edx, dword [esi]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x4704c0
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov edi, edi
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x488888
mov edx, dword [esi]
push edx
lea eax, [esp + 0x74]
push eax
call fcn.00424170
mov ecx, dword [esp + 0x10]
mov edi, dword [ecx + 0x14]
mov ecx, dword [esp + 0x70]
cmp ecx, edi
mov dword [esp + 0x50], edi
mov edx, ecx
jl 0x470576
mov edx, edi
test edx, edx
mov eax, dword [esp + 0x78]
je 0x4705aa
mov ecx, dword [esp + 0x10]
sub ecx, eax
add ecx, 0x18
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x48]
movzx edi, byte [eax + ecx]
movzx ecx, byte [eax]
sub ecx, edi
jne 0x4705ac
add eax, 1
sub edx, 1
jne 0x47058b
mov ecx, dword [esp + 0x70]
mov edi, dword [esp + 0x50]
sub ecx, edi
test ecx, ecx
jne 0x4705d7
cmp ebx, dword [esp + 0x24]
jne 0x4705cc
mov edx, dword [esp + 0x44]
push edx
call fcn.004021c0
mov ebx, eax
lea eax, [ebx + 0xff0]
mov dword [esp + 0x24], eax
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x470540
mov edi, dword [esp + 0x24]
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x470600
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x470621
mov ecx, dword [eax - 4]
jmp 0x470624
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 0x470667
cmp ebx, edi
jne 0x47065c
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x470600
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
nop
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x4706a1
mov ecx, dword [eax - 4]
jmp 0x4706a4
movzx ecx, cl
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x14]
cmp ecx, edx
mov dword [esp + 0x2c], ecx
jge 0x4706b5
mov edx, ecx
add eax, 5
test edx, edx
je 0x4706e4
sub edi, eax
add edi, 0x18
mov dword [esp + 0x48], edi
mov ecx, dword [esp + 0x48]
movzx edi, byte [eax + ecx]
movzx ecx, byte [eax]
sub ecx, edi
jne 0x4706e7
add eax, 1
sub edx, 1
jne 0x4706c5
mov ecx, dword [esp + 0x2c]
mov edi, dword [esp + 0x10]
sub ecx, dword [edi + 0x14]
test ecx, ecx
je 0x470712
cmp ebx, dword [esp + 0x24]
jne 0x470707
mov edx, dword [esp + 0x44]
push edx
call fcn.004021c0
mov ebx, eax
lea eax, [ebx + 0xff0]
mov dword [esp + 0x24], eax
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x470680
mov edi, dword [esp + 0x24]
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
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 0x470798
cmp ebx, edi
jne 0x47078d
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov edx, dword [esi]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x470732
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x488888
mov edx, dword [esi]
push edx
lea eax, [esp + 0x74]
push eax
call fcn.00424170
mov ecx, dword [esp + 0x10]
mov edi, dword [ecx + 0x14]
mov ecx, dword [esp + 0x70]
cmp ecx, edi
mov dword [esp + 0x50], edi
mov edx, ecx
jl 0x4707e6
mov edx, edi
test edx, edx
mov eax, dword [esp + 0x78]
je 0x47081a
mov ecx, dword [esp + 0x10]
sub ecx, eax
add ecx, 0x18
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x48]
movzx edi, byte [eax + ecx]
movzx ecx, byte [eax]
sub ecx, edi
jne 0x47081c
add eax, 1
sub edx, 1
jne 0x4707fb
mov ecx, dword [esp + 0x70]
mov edi, dword [esp + 0x50]
sub ecx, edi
test ecx, ecx
je 0x470847
cmp ebx, dword [esp + 0x24]
jne 0x47083c
mov edx, dword [esp + 0x44]
push edx
call fcn.004021c0
mov ebx, eax
lea eax, [ebx + 0xff0]
mov dword [esp + 0x24], eax
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x4707b0
mov edi, dword [esp + 0x24]
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x470870
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov edx, dword [esi]
mov al, byte [edx + 4]
cmp al, 0xff
jne 0x470890
mov ecx, dword [edx - 4]
jmp 0x470893
movzx ecx, al
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x14]
add eax, 0x18
test ecx, ecx
mov dword [esp + 0x48], edi
je 0x4708e8
sub edx, eax
add edx, 5
mov dword [esp + 0x14], edx
test edi, edi
je 0x4708e8
mov edx, dword [esp + 0x14]
movzx edx, byte [eax + edx]
mov edi, dword [0x58b5d0]
movzx edx, byte [edx + edi]
movzx edi, byte [eax]
sub edx, edi
jne 0x47092b
mov edi, dword [esp + 0x48]
sub ecx, 1
sub edi, 1
add eax, 1
test ecx, ecx
mov dword [esp + 0x48], edi
jne 0x4708b2
sub ecx, edi
test ecx, ecx
jne 0x470915
cmp ebx, dword [esp + 0x24]
jne 0x47090a
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea ecx, [ebx + 0xff0]
mov dword [esp + 0x24], ecx
mov edx, dword [esi]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x470870
mov edi, dword [esp + 0x24]
jmp case.0x46a9ea.1
mov ecx, edx
jmp 0x4708ea
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
lea esp, [esp]
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x488888
mov edx, dword [esi]
push edx
lea eax, [esp + 0x74]
push eax
call fcn.00424170
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x14]
mov ecx, dword [esp + 0x70]
add eax, 0x18
test ecx, ecx
mov dword [esp + 0x48], edi
je 0x4709bb
mov edx, dword [esp + 0x78]
sub edx, eax
mov dword [esp + 0x14], edx
jmp 0x470989
mov edx, dword [esp + 0x14]
test edi, edi
je 0x4709bb
movzx edx, byte [eax + edx]
mov edi, dword [0x58b5d0]
movzx edx, byte [edx + edi]
movzx edi, byte [eax]
sub edx, edi
jne 0x4709fe
mov edi, dword [esp + 0x48]
sub ecx, 1
sub edi, 1
add eax, 1
test ecx, ecx
mov dword [esp + 0x48], edi
jne 0x470985
sub ecx, edi
test ecx, ecx
jne 0x4709e8
cmp ebx, dword [esp + 0x24]
jne 0x4709dd
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea ecx, [ebx + 0xff0]
mov dword [esp + 0x24], ecx
mov edx, dword [esi]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x470940
mov edi, dword [esp + 0x24]
jmp case.0x46a9ea.1
mov ecx, edx
jmp 0x4709bd
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
lea esp, [esp]
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x488888
mov edx, dword [esi]
mov al, byte [edx + 4]
cmp al, 0xff
jne 0x470a30
mov ecx, dword [edx - 4]
jmp 0x470a33
movzx ecx, al
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x14]
add eax, 0x18
test ecx, ecx
mov dword [esp + 0x48], edi
je 0x470a88
sub edx, eax
add edx, 5
mov dword [esp + 0x14], edx
test edi, edi
je 0x470a88
mov edx, dword [esp + 0x14]
movzx edx, byte [eax + edx]
mov edi, dword [0x58b5d0]
movzx edx, byte [edx + edi]
movzx edi, byte [eax]
sub edx, edi
jne 0x470acb
mov edi, dword [esp + 0x48]
sub ecx, 1
sub edi, 1
add eax, 1
test ecx, ecx
mov dword [esp + 0x48], edi
jne 0x470a52
sub ecx, edi
test ecx, ecx
je 0x470ab5
cmp ebx, dword [esp + 0x24]
jne 0x470aaa
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea ecx, [ebx + 0xff0]
mov dword [esp + 0x24], ecx
mov edx, dword [esi]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x470a10
mov edi, dword [esp + 0x24]
jmp case.0x46a9ea.1
mov ecx, edx
jmp 0x470a8a
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
lea esp, [esp]
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x488888
mov edx, dword [esi]
push edx
lea eax, [esp + 0x74]
push eax
call fcn.00424170
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x14]
mov ecx, dword [esp + 0x70]
add eax, 0x18
test ecx, ecx
mov dword [esp + 0x48], edi
je 0x470b5b
mov edx, dword [esp + 0x78]
sub edx, eax
mov dword [esp + 0x14], edx
jmp 0x470b29
mov edx, dword [esp + 0x14]
test edi, edi
je 0x470b5b
movzx edx, byte [eax + edx]
mov edi, dword [0x58b5d0]
movzx edx, byte [edx + edi]
movzx edi, byte [eax]
sub edx, edi
jne 0x470b9e
mov edi, dword [esp + 0x48]
sub ecx, 1
sub edi, 1
add eax, 1
test ecx, ecx
mov dword [esp + 0x48], edi
jne 0x470b25
sub ecx, edi
test ecx, ecx
je 0x470b88
cmp ebx, dword [esp + 0x24]
jne 0x470b7d
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea ecx, [ebx + 0xff0]
mov dword [esp + 0x24], ecx
mov edx, dword [esi]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x470ae0
mov edi, dword [esp + 0x24]
jmp case.0x46a9ea.1
mov ecx, edx
jmp 0x470b5d
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
lea esp, [esp]
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x488888
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x470bd1
mov ecx, dword [eax - 4]
jmp 0x470bd4
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 0x470c17
cmp ebx, edi
jne 0x470c0c
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x470bb0
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
nop
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x470c51
mov ecx, dword [eax - 4]
jmp 0x470c54
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 0x470c97
cmp ebx, edi
jne 0x470c8c
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x470c30
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
nop
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x470cd1
mov ecx, dword [eax - 4]
jmp 0x470cd4
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 0x470d17
cmp ebx, edi
jne 0x470d0c
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x470cb0
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
nop
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x470d51
mov ecx, dword [eax - 4]
jmp 0x470d54
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 0x470d97
cmp ebx, edi
jne 0x470d8c
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x470d30
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
nop
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
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 0x470e16
cmp ebx, edi
jne 0x470e0b
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov edx, dword [esi]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x470db0
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov edi, edi
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x488888
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 0x470e96
cmp ebx, edi
jne 0x470e8b
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov edx, dword [esi]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x470e30
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov edi, edi
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x488888
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 0x470f1a
cmp ebx, edi
jne 0x470f0f
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov edx, dword [esi]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x470eb0
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x488888
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 0x470f9c
cmp ebx, edi
jne 0x470f91
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov edx, dword [esi]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x470f32
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x488888
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x470fd5
mov ecx, dword [eax - 4]
jmp 0x470fd8
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 0x47101f
cmp ebx, edi
jne 0x471014
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x470fb4
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x471040
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x471061
mov ecx, dword [eax - 4]
jmp 0x471064
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 0x4710ab
cmp ebx, edi
jne 0x4710a0
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x471040
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x4710e4
mov ecx, dword [eax - 4]
jmp 0x4710e7
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 0x47112e
cmp ebx, edi
jne 0x471123
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x4710c3
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x471150
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x471171
mov ecx, dword [eax - 4]
jmp 0x471174
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 0x4711bb
cmp ebx, edi
jne 0x4711b0
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x471150
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
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 0x47123d
cmp ebx, edi
jne 0x471232
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov edx, dword [esi]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x4711d3
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x471260
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x488888
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 0x4712c6
cmp ebx, edi
jne 0x4712bb
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov edx, dword [esi]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x471260
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov edi, edi
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x488888
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 0x47134a
cmp ebx, edi
jne 0x47133f
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov edx, dword [esi]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x4712e0
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x488888
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 0x4713cc
cmp ebx, edi
jne 0x4713c1
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov edx, dword [esi]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x471362
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x488888
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x471405
mov ecx, dword [eax - 4]
jmp 0x471408
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 0x471453
cmp ebx, edi
jne 0x471448
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x4713e4
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x471470
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x471491
mov ecx, dword [eax - 4]
jmp 0x471494
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 0x4714db
cmp ebx, edi
jne 0x4714d0
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x471470
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x471514
mov ecx, dword [eax - 4]
jmp 0x471517
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 0x471562
cmp ebx, edi
jne 0x471557
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x4714f3
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
lea ebx, [ebx]
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x4715a1
mov ecx, dword [eax - 4]
jmp 0x4715a4
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 0x4715eb
cmp ebx, edi
jne 0x4715e0
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x471580
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
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 0x471671
cmp ebx, edi
jne 0x471666
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov edx, dword [esi]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x471603
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
lea esp, [esp]
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x488888
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 0x4716fa
cmp ebx, edi
jne 0x4716ef
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov edx, dword [esi]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x471690
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x488888
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 0x471780
cmp ebx, edi
jne 0x471775
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov edx, dword [esi]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x471712
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x4717a0
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x488888
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 0x47180e
cmp ebx, edi
jne 0x471803
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov edx, dword [esi]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x4717a0
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x471830
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x488888
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x471851
mov ecx, dword [eax - 4]
jmp 0x471854
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 0x47189f
cmp ebx, edi
jne 0x471894
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x471830
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x4718c0
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x4718e1
mov ecx, dword [eax - 4]
jmp 0x4718e4
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 0x47192b
cmp ebx, edi
jne 0x471920
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x4718c0
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x471964
mov ecx, dword [eax - 4]
jmp 0x471967
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 0x4719b2
cmp ebx, edi
jne 0x4719a7
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x471943
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
lea ebx, [ebx]
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x4719f1
mov ecx, dword [eax - 4]
jmp 0x4719f4
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 0x471a3b
cmp ebx, edi
jne 0x471a30
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x4719d0
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
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 0x471ac1
cmp ebx, edi
jne 0x471ab6
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov edx, dword [esi]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x471a53
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
lea esp, [esp]
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x488888
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 0x471b4a
cmp ebx, edi
jne 0x471b3f
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov edx, dword [esi]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x471ae0
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x488888
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 0x471bd0
cmp ebx, edi
jne 0x471bc5
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov edx, dword [esi]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x471b62
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x471bf0
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x488888
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 0x471c5a
cmp ebx, edi
jne 0x471c4f
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov edx, dword [esi]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x471bf0
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x488888
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x471c93
mov ecx, dword [eax - 4]
jmp 0x471c96
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 0x471ce1
cmp ebx, edi
jne 0x471cd6
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x471c72
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
lea esp, [esp]
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x471d21
mov ecx, dword [eax - 4]
jmp 0x471d24
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 0x471d6f
cmp ebx, edi
jne 0x471d64
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x471d00
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x471d90
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
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 0x471dfa
cmp ebx, edi
jne 0x471def
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov edx, dword [esi]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x471d90
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x488888
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 0x471e7c
cmp ebx, edi
jne 0x471e71
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov edx, dword [esi]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x471e12
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x488888
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x471eb5
mov ecx, dword [eax - 4]
jmp 0x471eb8
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 0x471f03
cmp ebx, edi
jne 0x471ef8
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x471e94
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x471f20
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x471f41
mov ecx, dword [eax - 4]
jmp 0x471f44
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 0x471f8f
cmp ebx, edi
jne 0x471f84
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x471f20
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x471fb0
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
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 0x47201e
cmp ebx, edi
jne 0x472013
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov edx, dword [esi]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x471fb0
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x472040
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x488888
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 0x4720aa
cmp ebx, edi
jne 0x47209f
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov edx, dword [esi]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x472040
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x488888
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x4720e3
mov ecx, dword [eax - 4]
jmp 0x4720e6
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 0x472131
cmp ebx, edi
jne 0x472126
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x4720c2
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
lea esp, [esp]
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x472171
mov ecx, dword [eax - 4]
jmp 0x472174
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 0x4721bb
cmp ebx, edi
jne 0x4721b0
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x472150
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
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 0x472241
cmp ebx, edi
jne 0x472236
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov edx, dword [esi]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x4721d3
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
lea esp, [esp]
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x488888
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 0x4722ca
cmp ebx, edi
jne 0x4722bf
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov edx, dword [esi]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x472260
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x488888
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x472303
mov ecx, dword [eax - 4]
jmp 0x472306
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 0x472351
cmp ebx, edi
jne 0x472346
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x4722e2
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
lea esp, [esp]
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x472391
mov ecx, dword [eax - 4]
jmp 0x472394
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 0x4723df
cmp ebx, edi
jne 0x4723d4
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x472370
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x472400
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
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 0x47246a
cmp ebx, edi
jne 0x47245f
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov edx, dword [esi]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x472400
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x488888
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 0x4724ec
cmp ebx, edi
jne 0x4724e1
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov edx, dword [esi]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x472482
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x488888
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x472525
mov ecx, dword [eax - 4]
jmp 0x472528
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 0x472573
cmp ebx, edi
jne 0x472568
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x472504
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x472590
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x4725b1
mov ecx, dword [eax - 4]
jmp 0x4725b4
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 0x4725ff
cmp ebx, edi
jne 0x4725f4
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x472590
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x472620
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
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 0x47268e
cmp ebx, edi
jne 0x472683
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov edx, dword [esi]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x472620
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x4726b0
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x488888
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 0x47271a
cmp ebx, edi
jne 0x47270f
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov edx, dword [esi]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x4726b0
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x488888
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x472753
mov ecx, dword [eax - 4]
jmp 0x472756
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 0x4727a1
cmp ebx, edi
jne 0x472796
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x472732
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
lea esp, [esp]
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x4727e1
mov ecx, dword [eax - 4]
jmp 0x4727e4
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 0x47282b
cmp ebx, edi
jne 0x472820
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x4727c0
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
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 0x4728b1
cmp ebx, edi
jne 0x4728a6
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov edx, dword [esi]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x472843
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
lea esp, [esp]
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x488888
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 0x47293a
cmp ebx, edi
jne 0x47292f
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov edx, dword [esi]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x4728d0
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x488888
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x472973
mov ecx, dword [eax - 4]
jmp 0x472976
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 0x4729c1
cmp ebx, edi
jne 0x4729b6
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x472952
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
lea esp, [esp]
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
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 0x472a4e
cmp ebx, edi
jne 0x472a43
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov edx, dword [esi]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x4729e0
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x472a70
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x488888
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x472a91
mov ecx, dword [eax - 4]
jmp 0x472a94
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 0x472adb
cmp ebx, edi
jne 0x472ad0
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x472a70
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
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 0x472b5d
cmp ebx, edi
jne 0x472b52
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov edx, dword [esi]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x472af3
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x472b80
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x488888
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x472ba1
mov ecx, dword [eax - 4]
jmp 0x472ba4
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 0x472beb
cmp ebx, edi
jne 0x472be0
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x472b80
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x472c24
mov ecx, dword [eax - 4]
jmp 0x472c27
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 0x472c6e
cmp ebx, edi
jne 0x472c63
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x472c03
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x472c90
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
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 0x472cfa
cmp ebx, edi
jne 0x472cef
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov edx, dword [esi]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x472c90
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x488888
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 0x472d7c
cmp ebx, edi
jne 0x472d71
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov edx, dword [esi]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x472d12
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x488888
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x472db5
mov ecx, dword [eax - 4]
jmp 0x472db8
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 0x472e03
cmp ebx, edi
jne 0x472df8
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x472d94
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x472e20
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x472e41
mov ecx, dword [eax - 4]
jmp 0x472e44
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 0x472e8f
cmp ebx, edi
jne 0x472e84
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x472e20
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x472eb0
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
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 0x472f1a
cmp ebx, edi
jne 0x472f0f
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov edx, dword [esi]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x472eb0
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x488888
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 0x472f9c
cmp ebx, edi
jne 0x472f91
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov edx, dword [esi]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x472f32
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x488888
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x472fd5
mov ecx, dword [eax - 4]
jmp 0x472fd8
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 0x473023
cmp ebx, edi
jne 0x473018
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x472fb4
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x473040
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov ecx, dword [esi]
mov al, byte [ecx + 4]
cmp al, 0xff
jne 0x473060
mov eax, dword [ecx - 4]
jmp 0x473063
movzx eax, al
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 0x14]
add ecx, 0x18
cmp edx, eax
jg 0x4730b3
add edx, ecx
mov dword [esp + 0x50], edx
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x50]
sub eax, ecx
sub eax, dword [edx + 0x14]
cmp ecx, edi
mov edx, dword [esi]
lea eax, [eax + edx + 5]
je 0x4730a4
mov dl, byte [eax + ecx]
cmp dl, byte [ecx]
jne 0x4730af
add ecx, 1
cmp ecx, edi
jne 0x473092
mov edi, dword [esp + 0x24]
mov eax, 1
jmp 0x4730b5
mov edi, dword [esp + 0x24]
xor eax, eax
test eax, eax
je 0x4730e6
cmp ebx, edi
jne 0x4730db
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x473040
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
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.0041d8f0
test eax, eax
je 0x473170
cmp ebx, edi
jne 0x473165
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov edx, dword [esi]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x473102
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x473190
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x488888
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 0x473205
lea eax, [ecx + edx]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x78]
sub eax, ecx
sub eax, edx
mov edx, dword [esp + 0x50]
add eax, dword [esp + 0x70]
cmp ecx, edx
mov edi, ecx
je 0x4731f6
mov cl, byte [eax + edi]
cmp cl, byte [edi]
jne 0x473201
add edi, 1
cmp edi, edx
jne 0x4731e4
mov edi, dword [esp + 0x24]
mov eax, 1
jmp 0x473207
mov edi, dword [esp + 0x24]
xor eax, eax
test eax, eax
je 0x473238
cmp ebx, edi
jne 0x47322d
mov edx, dword [esp + 0x44]
push edx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov eax, dword [esi]
mov dword [ebx], eax
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x473190
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x488888
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x473279
mov ecx, dword [eax - 4]
jmp 0x47327c
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 0x4732c7
cmp ebx, edi
jne 0x4732bc
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x473254
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
nop
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov ecx, dword [esi]
mov al, byte [ecx + 4]
cmp al, 0xff
jne 0x473300
mov eax, dword [ecx - 4]
jmp 0x473303
movzx eax, al
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 0x14]
add ecx, 0x18
cmp edx, eax
jg 0x47335a
add edx, ecx
mov dword [esp + 0x50], edx
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x50]
sub eax, ecx
sub eax, dword [edx + 0x14]
cmp ecx, edi
mov edx, dword [esi]
lea eax, [eax + edx + 5]
je 0x473348
mov dl, byte [eax + ecx]
cmp dl, byte [ecx]
jne 0x473356
add ecx, 1
cmp ecx, edi
jne 0x473336
mov edi, dword [esp + 0x24]
mov eax, 1
jmp 0x47335c
mov edi, dword [esp + 0x24]
xor eax, eax
test eax, eax
jne 0x47338d
cmp ebx, edi
jne 0x473382
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x4732e0
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
lea esp, [esp]
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
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.0041d8f0
test eax, eax
jne 0x47341e
cmp ebx, edi
jne 0x473413
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov edx, dword [esi]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x4733b0
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x473440
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x488888
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 0x4734b5
lea eax, [ecx + edx]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x78]
sub eax, ecx
sub eax, edx
mov edx, dword [esp + 0x50]
add eax, dword [esp + 0x70]
cmp ecx, edx
mov edi, ecx
je 0x4734a6
mov cl, byte [eax + edi]
cmp cl, byte [edi]
jne 0x4734b1
add edi, 1
cmp edi, edx
jne 0x473494
mov edi, dword [esp + 0x24]
mov eax, 1
jmp 0x4734b7
mov edi, dword [esp + 0x24]
xor eax, eax
test eax, eax
jne 0x4734e8
cmp ebx, edi
jne 0x4734dd
mov edx, dword [esp + 0x44]
push edx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov eax, dword [esi]
mov dword [ebx], eax
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x473440
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x488888
mov ecx, dword [esi]
mov al, byte [ecx + 4]
cmp al, 0xff
jne 0x47352b
mov eax, dword [ecx - 4]
jmp 0x47352e
movzx eax, al
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 0x14]
add ecx, 0x18
cmp edx, eax
jg 0x473596
add edx, ecx
mov dword [esp + 0x50], edx
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x50]
sub eax, ecx
sub eax, dword [edx + 0x14]
cmp ecx, edi
mov edx, dword [esi]
lea eax, [eax + edx + 5]
mov dword [esp + 0x54], eax
je 0x473584
mov eax, dword [0x58b5d0]
mov edx, dword [esp + 0x54]
movzx edx, byte [edx + ecx]
mov dl, byte [edx + eax]
cmp dl, byte [ecx]
jne 0x473592
add ecx, 1
cmp ecx, edi
jne 0x47356a
mov edi, dword [esp + 0x24]
mov eax, 1
jmp 0x473598
mov edi, dword [esp + 0x24]
xor eax, eax
test eax, eax
je 0x4735c9
cmp ebx, edi
jne 0x4735be
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x473504
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x4735f0
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov ecx, dword [esi]
push ecx
lea edx, [esp + 0x74]
push edx
call fcn.00424170
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 0x14]
add ecx, 0x18
cmp edx, dword [esp + 0x70]
jg 0x473673
lea eax, [ecx + edx]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x78]
sub eax, ecx
sub eax, edx
add eax, dword [esp + 0x70]
cmp ecx, dword [esp + 0x48]
mov edi, ecx
je 0x473664
mov ecx, dword [0x58b5d0]
jmp 0x473650
movzx edx, byte [eax + edi]
mov dl, byte [edx + ecx]
cmp dl, byte [edi]
jne 0x47366f
add edi, 1
cmp edi, dword [esp + 0x48]
jne 0x473650
mov edi, dword [esp + 0x24]
mov eax, 1
jmp 0x473675
mov edi, dword [esp + 0x24]
xor eax, eax
test eax, eax
je 0x4736a6
cmp ebx, edi
jne 0x47369b
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x4735f0
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov ecx, dword [esi]
mov al, byte [ecx + 4]
cmp al, 0xff
jne 0x4736e2
mov eax, dword [ecx - 4]
jmp 0x4736e5
movzx eax, al
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 0x14]
add ecx, 0x18
cmp edx, eax
jg 0x473746
add edx, ecx
mov dword [esp + 0x50], edx
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x50]
sub eax, ecx
sub eax, dword [edx + 0x14]
cmp ecx, edi
mov edx, dword [esi]
lea eax, [eax + edx + 5]
mov dword [esp + 0x54], eax
je 0x473737
mov eax, dword [0x58b5d0]
mov edx, dword [esp + 0x54]
movzx edx, byte [edx + ecx]
mov dl, byte [edx + eax]
cmp dl, byte [ecx]
jne 0x473742
add ecx, 1
cmp ecx, edi
jne 0x473721
mov edi, dword [esp + 0x24]
mov eax, 1
jmp 0x473748
mov edi, dword [esp + 0x24]
xor eax, eax
test eax, eax
jne 0x473779
cmp ebx, edi
jne 0x47376e
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x4736c2
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x4737a0
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov ecx, dword [esi]
push ecx
lea edx, [esp + 0x74]
push edx
call fcn.00424170
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 0x14]
add ecx, 0x18
cmp edx, dword [esp + 0x70]
jg 0x473817
lea eax, [ecx + edx]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x78]
sub eax, ecx
sub eax, edx
add eax, dword [esp + 0x70]
cmp ecx, dword [esp + 0x48]
mov edi, ecx
je 0x473808
mov ecx, dword [0x58b5d0]
movzx edx, byte [eax + edi]
mov dl, byte [edx + ecx]
cmp dl, byte [edi]
jne 0x473813
add edi, 1
cmp edi, dword [esp + 0x48]
jne 0x4737f4
mov edi, dword [esp + 0x24]
mov eax, 1
jmp 0x473819
mov edi, dword [esp + 0x24]
xor eax, eax
test eax, eax
jne 0x473846
cmp ebx, edi
jne 0x47383b
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x4737a0
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x47388b
mov edx, dword [eax - 4]
mov dword [esp + 0x48], edx
jmp 0x473892
movzx ecx, cl
mov dword [esp + 0x48], ecx
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + 0x10]
lea eax, [edx + eax + 4]
mov dword [esp + 0x50], eax
mov eax, dword [ecx + 0x14]
xor esi, esi
sub eax, 1
mov dword [esp + 0x3c], esi
mov dword [esp + 0x30], eax
sub eax, esi
cdq
sub eax, edx
mov edx, dword [esp + 0x50]
sar eax, 1
add eax, esi
mov esi, dword [ecx + eax*8 + 0x1c]
mov edi, dword [ecx + eax*8 + 0x18]
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x48]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x14], edx
jmp 0x4738e0
mov eax, dword [esp + 0x14]
test eax, eax
je 0x473c79
test edi, edi
je 0x473c53
mov ecx, dword [esp + 0x20]
mov dl, byte [ecx]
test dl, dl
jns 0x473ae0
cmp eax, 2
jl 0x473937
movzx eax, byte [ecx - 1]
mov bl, al
and bl, 0xe0
cmp bl, 0xc0
jne 0x473933
and eax, 0x1f
and edx, 0x3f
shl eax, 6
or eax, edx
sub ecx, 2
sub dword [esp + 0x14], 2
mov edx, eax
jmp 0x4739d2
mov eax, dword [esp + 0x14]
cmp eax, 3
jl 0x47397a
movzx eax, byte [ecx - 2]
mov bl, al
and bl, 0xf0
cmp bl, 0xe0
jne 0x473976
movzx ebx, byte [ecx - 1]
and eax, 0xf
and ebx, 0x3f
shl eax, 6
or ebx, eax
shl ebx, 6
and edx, 0x3f
or edx, ebx
sub ecx, 3
sub dword [esp + 0x14], 3
jmp 0x4739d2
mov eax, dword [esp + 0x14]
cmp eax, 4
jl 0x4739c6
movzx eax, byte [ecx - 3]
mov bl, al
and bl, 0xf8
cmp bl, 0xf0
jne 0x4739c2
movzx ebx, byte [ecx - 2]
and eax, 7
and ebx, 0x3f
shl eax, 6
or ebx, eax
movzx eax, byte [ecx - 1]
shl ebx, 6
and eax, 0x3f
or ebx, eax
shl ebx, 6
and edx, 0x3f
or edx, ebx
sub ecx, 4
sub dword [esp + 0x14], 4
jmp 0x4739d2
mov eax, dword [esp + 0x14]
xor edx, edx
sub ecx, 1
sub eax, 1
mov dword [esp + 0x14], eax
mov bl, byte [esi]
test bl, bl
mov dword [esp + 0x20], ecx
jns 0x473aca
cmp edi, 2
jl 0x473a1b
movzx eax, byte [esi - 1]
mov cl, al
and cl, 0xe0
cmp cl, 0xc0
jne 0x473a1b
and eax, 0x1f
shl eax, 6
and ebx, 0x3f
or eax, ebx
push edx
mov ebx, eax
sub esi, 2
sub edi, 2
call fcn.00409960
sub eax, ebx
jmp 0x473c12
cmp edi, 3
jl 0x473a62
movzx eax, byte [esi - 2]
mov cl, al
and cl, 0xf0
cmp cl, 0xe0
jne 0x473a62
movzx ecx, byte [esi - 1]
and eax, 0xf
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and ebx, 0x3f
or eax, ebx
push edx
mov ebx, eax
sub esi, 3
sub edi, 3
call fcn.00409960
sub eax, ebx
jmp 0x473c12
cmp edi, 4
jl 0x473ab5
movzx eax, byte [esi - 3]
mov cl, al
and cl, 0xf8
cmp cl, 0xf0
jne 0x473ab5
movzx ecx, byte [esi - 2]
and eax, 7
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi - 1]
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and ebx, 0x3f
or eax, ebx
push edx
mov ebx, eax
sub esi, 4
sub edi, 4
call fcn.00409960
sub eax, ebx
jmp 0x473c12
push edx
xor ebx, ebx
sub esi, 1
sub edi, 1
call fcn.00409960
sub eax, ebx
jmp 0x473c12
push edx
call fcn.00409960
movzx edx, bl
sub eax, edx
sub esi, 1
sub edi, 1
jmp 0x473c12
mov cl, byte [esi]
test cl, cl
jns 0x473bed
cmp edi, 2
jl 0x473b2c
movzx eax, byte [esi - 1]
mov bl, al
and bl, 0xe0
cmp bl, 0xc0
jne 0x473b2c
and eax, 0x1f
shl eax, 6
and ecx, 0x3f
or eax, ecx
mov ecx, eax
movzx eax, dl
mov edx, dword [0x58b5d0]
movzx eax, byte [eax + edx]
sub esi, 2
sub edi, 2
sub eax, ecx
jmp 0x473c05
cmp edi, 3
jl 0x473b7a
movzx eax, byte [esi - 2]
mov bl, al
and bl, 0xf0
cmp bl, 0xe0
jne 0x473b7a
movzx ebx, byte [esi - 1]
and eax, 0xf
shl eax, 6
and ebx, 0x3f
or eax, ebx
shl eax, 6
and ecx, 0x3f
or eax, ecx
mov ecx, eax
movzx eax, dl
mov edx, dword [0x58b5d0]
movzx eax, byte [eax + edx]
sub esi, 3
sub edi, 3
sub eax, ecx
jmp 0x473c05
cmp edi, 4
jl 0x473bd4
movzx eax, byte [esi - 3]
mov bl, al
and bl, 0xf8
cmp bl, 0xf0
jne 0x473bd4
movzx ebx, byte [esi - 2]
and eax, 7
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [esi - 1]
shl eax, 6
and ebx, 0x3f
or eax, ebx
shl eax, 6
and ecx, 0x3f
or eax, ecx
mov ecx, eax
movzx eax, dl
mov edx, dword [0x58b5d0]
movzx eax, byte [eax + edx]
sub esi, 4
sub edi, 4
sub eax, ecx
jmp 0x473c05
movzx eax, dl
mov edx, dword [0x58b5d0]
movzx eax, byte [eax + edx]
xor ecx, ecx
sub esi, 1
sub edi, 1
sub eax, ecx
jmp 0x473c05
movzx eax, dl
mov edx, dword [0x58b5d0]
movzx eax, byte [eax + edx]
movzx ecx, cl
sub eax, ecx
sub esi, 1
sub edi, 1
mov ecx, 1
sub dword [esp + 0x20], ecx
sub dword [esp + 0x14], ecx
test eax, eax
je 0x4738e0
jge 0x473c29
mov edx, dword [esp + 0x2c]
add edx, 0xffffffff
mov dword [esp + 0x30], edx
jmp 0x473c34
mov eax, dword [esp + 0x2c]
add eax, 1
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0x30]
cmp dword [esp + 0x3c], ecx
jg 0x473c9c
mov ecx, dword [esp + 0x10]
mov esi, dword [esp + 0x3c]
mov eax, dword [esp + 0x30]
jmp 0x4738b2
test eax, eax
je 0x473c79
mov edx, dword [esp + 0x20]
cmp byte [edx], 0x2e
je 0x473c95
mov esi, dword [esp + 0x2c]
mov eax, dword [esp + 0x30]
add esi, 1
mov dword [esp + 0x3c], esi
jmp 0x473c88
mov eax, dword [esp + 0x2c]
mov esi, dword [esp + 0x3c]
add eax, 0xffffffff
mov dword [esp + 0x30], eax
cmp esi, eax
jg 0x473c9c
mov ecx, dword [esp + 0x10]
jmp 0x4738b2
mov eax, 1
jmp 0x473c9e
xor eax, eax
test eax, eax
je 0x473cd3
mov eax, dword [esp + 0x38]
cmp eax, dword [esp + 0x24]
jne 0x473cc4
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
lea ecx, [eax + 0xff0]
mov dword [esp + 0x24], ecx
mov edx, dword [esp + 0x28]
mov ecx, dword [edx]
mov dword [eax], ecx
add eax, 4
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x28]
add eax, 4
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x28], eax
jne 0x473862
mov ebx, dword [esp + 0x38]
mov edi, dword [esp + 0x24]
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
nop
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x473d29
mov edx, dword [eax - 4]
mov dword [esp + 0x48], edx
jmp 0x473d30
movzx ecx, cl
mov dword [esp + 0x48], ecx
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + 0x10]
lea eax, [edx + eax + 4]
mov dword [esp + 0x50], eax
mov eax, dword [ecx + 0x14]
xor esi, esi
sub eax, 1
mov dword [esp + 0x3c], esi
mov dword [esp + 0x30], eax
sub eax, esi
cdq
sub eax, edx
mov edx, dword [esp + 0x50]
sar eax, 1
add eax, esi
mov esi, dword [ecx + eax*8 + 0x1c]
mov edi, dword [ecx + eax*8 + 0x18]
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x48]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x14], edx
jmp 0x473d80
mov eax, dword [esp + 0x14]
test eax, eax
je 0x4740eb
test edi, edi
je 0x4740c5
mov ecx, dword [esp + 0x20]
mov dl, byte [ecx]
test dl, dl
jns 0x473f84
cmp eax, 2
jl 0x473dd7
movzx eax, byte [ecx - 1]
mov bl, al
and bl, 0xe0
cmp bl, 0xc0
jne 0x473dd3
and eax, 0x1f
and edx, 0x3f
shl eax, 6
or eax, edx
sub ecx, 2
sub dword [esp + 0x14], 2
mov edx, eax
jmp 0x473e76
mov eax, dword [esp + 0x14]
cmp eax, 3
jl 0x473e1c
movzx eax, byte [ecx - 2]
mov bl, al
and bl, 0xf0
cmp bl, 0xe0
jne 0x473e18
movzx ebx, byte [ecx - 1]
and eax, 0xf
shl eax, 6
and ebx, 0x3f
or eax, ebx
and edx, 0x3f
shl eax, 6
or eax, edx
sub ecx, 3
sub dword [esp + 0x14], 3
mov edx, eax
jmp 0x473e76
mov eax, dword [esp + 0x14]
cmp eax, 4
jl 0x473e6a
movzx eax, byte [ecx - 3]
mov bl, al
and bl, 0xf8
cmp bl, 0xf0
jne 0x473e66
movzx ebx, byte [ecx - 2]
and eax, 7
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [ecx - 1]
shl eax, 6
and ebx, 0x3f
or eax, ebx
and edx, 0x3f
shl eax, 6
or eax, edx
sub ecx, 4
sub dword [esp + 0x14], 4
mov edx, eax
jmp 0x473e76
mov eax, dword [esp + 0x14]
xor edx, edx
sub ecx, 1
sub eax, 1
mov dword [esp + 0x14], eax
mov bl, byte [esi]
test bl, bl
mov dword [esp + 0x20], ecx
jns 0x473f6e
cmp edi, 2
jl 0x473ebf
movzx eax, byte [esi - 1]
mov cl, al
and cl, 0xe0
cmp cl, 0xc0
jne 0x473ebf
and eax, 0x1f
shl eax, 6
and ebx, 0x3f
or eax, ebx
push edx
mov ebx, eax
sub esi, 2
sub edi, 2
call fcn.00421a20
sub eax, ebx
jmp 0x474084
cmp edi, 3
jl 0x473f06
movzx eax, byte [esi - 2]
mov cl, al
and cl, 0xf0
cmp cl, 0xe0
jne 0x473f06
movzx ecx, byte [esi - 1]
and eax, 0xf
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and ebx, 0x3f
or eax, ebx
push edx
mov ebx, eax
sub esi, 3
sub edi, 3
call fcn.00421a20
sub eax, ebx
jmp 0x474084
cmp edi, 4
jl 0x473f59
movzx eax, byte [esi - 3]
mov cl, al
and cl, 0xf8
cmp cl, 0xf0
jne 0x473f59
movzx ecx, byte [esi - 2]
and eax, 7
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi - 1]
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and ebx, 0x3f
or eax, ebx
push edx
mov ebx, eax
sub esi, 4
sub edi, 4
call fcn.00421a20
sub eax, ebx
jmp 0x474084
push edx
xor ebx, ebx
sub esi, 1
sub edi, 1
call fcn.00421a20
sub eax, ebx
jmp 0x474084
push edx
call fcn.00421a20
movzx edx, bl
sub eax, edx
sub esi, 1
sub edi, 1
jmp 0x474084
mov cl, byte [esi]
test cl, cl
jns 0x474069
cmp edi, 2
jl 0x473fc6
movzx eax, byte [esi - 1]
mov bl, al
and bl, 0xe0
cmp bl, 0xc0
jne 0x473fc6
and eax, 0x1f
shl eax, 6
and ecx, 0x3f
or eax, ecx
mov ecx, eax
movzx eax, dl
sub esi, 2
sub edi, 2
sub eax, ecx
jmp 0x474077
cmp edi, 3
jl 0x47400a
movzx eax, byte [esi - 2]
mov bl, al
and bl, 0xf0
cmp bl, 0xe0
jne 0x47400a
movzx ebx, byte [esi - 1]
and eax, 0xf
shl eax, 6
and ebx, 0x3f
or eax, ebx
shl eax, 6
and ecx, 0x3f
or eax, ecx
mov ecx, eax
movzx eax, dl
sub esi, 3
sub edi, 3
sub eax, ecx
jmp 0x474077
cmp edi, 4
jl 0x47405a
movzx eax, byte [esi - 3]
mov bl, al
and bl, 0xf8
cmp bl, 0xf0
jne 0x47405a
movzx ebx, byte [esi - 2]
and eax, 7
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [esi - 1]
shl eax, 6
and ebx, 0x3f
or eax, ebx
shl eax, 6
and ecx, 0x3f
or eax, ecx
mov ecx, eax
movzx eax, dl
sub esi, 4
sub edi, 4
sub eax, ecx
jmp 0x474077
movzx eax, dl
xor ecx, ecx
sub esi, 1
sub edi, 1
sub eax, ecx
jmp 0x474077
movzx ecx, cl
movzx eax, dl
sub eax, ecx
sub esi, 1
sub edi, 1
mov ecx, 1
sub dword [esp + 0x20], ecx
sub dword [esp + 0x14], ecx
test eax, eax
je 0x473d80
jge 0x47409b
mov edx, dword [esp + 0x2c]
add edx, 0xffffffff
mov dword [esp + 0x30], edx
jmp 0x4740a6
mov eax, dword [esp + 0x2c]
add eax, 1
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0x30]
cmp dword [esp + 0x3c], ecx
jg 0x47410e
mov ecx, dword [esp + 0x10]
mov esi, dword [esp + 0x3c]
mov eax, dword [esp + 0x30]
jmp 0x473d50
test eax, eax
je 0x4740eb
mov edx, dword [esp + 0x20]
cmp byte [edx], 0x2e
je 0x474107
mov esi, dword [esp + 0x2c]
mov eax, dword [esp + 0x30]
add esi, 1
mov dword [esp + 0x3c], esi
jmp 0x4740fa
mov eax, dword [esp + 0x2c]
mov esi, dword [esp + 0x3c]
add eax, 0xffffffff
mov dword [esp + 0x30], eax
cmp esi, eax
jg 0x47410e
mov ecx, dword [esp + 0x10]
jmp 0x473d50
mov eax, 1
jmp 0x474110
xor eax, eax
test eax, eax
je 0x474145
mov eax, dword [esp + 0x38]
cmp eax, dword [esp + 0x24]
jne 0x474136
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
lea ecx, [eax + 0xff0]
mov dword [esp + 0x24], ecx
mov edx, dword [esp + 0x28]
mov ecx, dword [edx]
mov dword [eax], ecx
add eax, 4
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x28]
add eax, 4
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x28], eax
jne 0x473d00
mov ebx, dword [esp + 0x38]
mov edi, dword [esp + 0x24]
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x47419a
mov edx, dword [eax - 4]
mov dword [esp + 0x48], edx
jmp 0x4741a1
movzx ecx, cl
mov dword [esp + 0x48], ecx
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + 0x10]
lea eax, [eax + edx + 4]
mov dword [esp + 0x50], eax
mov eax, dword [ecx + 0x14]
xor esi, esi
sub eax, 1
mov dword [esp + 0x3c], esi
mov dword [esp + 0x30], eax
sub eax, esi
cdq
sub eax, edx
mov edx, dword [esp + 0x50]
sar eax, 1
add eax, esi
mov esi, dword [ecx + eax*8 + 0x1c]
mov edi, dword [ecx + eax*8 + 0x18]
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x48]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x14], edx
jmp 0x4741f0
mov eax, dword [esp + 0x14]
test eax, eax
je 0x47458d
test edi, edi
je 0x474567
mov ecx, dword [esp + 0x20]
mov dl, byte [ecx]
test dl, dl
jns 0x4743f4
cmp eax, 2
jl 0x474247
movzx eax, byte [ecx - 1]
mov bl, al
and bl, 0xe0
cmp bl, 0xc0
jne 0x474243
and eax, 0x1f
and edx, 0x3f
shl eax, 6
or eax, edx
sub ecx, 2
sub dword [esp + 0x14], 2
mov edx, eax
jmp 0x4742e6
mov eax, dword [esp + 0x14]
cmp eax, 3
jl 0x47428c
movzx eax, byte [ecx - 2]
mov bl, al
and bl, 0xf0
cmp bl, 0xe0
jne 0x474288
movzx ebx, byte [ecx - 1]
and eax, 0xf
shl eax, 6
and ebx, 0x3f
or eax, ebx
and edx, 0x3f
shl eax, 6
or eax, edx
sub ecx, 3
sub dword [esp + 0x14], 3
mov edx, eax
jmp 0x4742e6
mov eax, dword [esp + 0x14]
cmp eax, 4
jl 0x4742da
movzx eax, byte [ecx - 3]
mov bl, al
and bl, 0xf8
cmp bl, 0xf0
jne 0x4742d6
movzx ebx, byte [ecx - 2]
and eax, 7
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [ecx - 1]
shl eax, 6
and ebx, 0x3f
or eax, ebx
and edx, 0x3f
shl eax, 6
or eax, edx
sub ecx, 4
sub dword [esp + 0x14], 4
mov edx, eax
jmp 0x4742e6
mov eax, dword [esp + 0x14]
xor edx, edx
sub ecx, 1
sub eax, 1
mov dword [esp + 0x14], eax
mov bl, byte [esi]
test bl, bl
mov dword [esp + 0x20], ecx
jns 0x4743de
cmp edi, 2
jl 0x47432f
movzx eax, byte [esi - 1]
mov cl, al
and cl, 0xe0
cmp cl, 0xc0
jne 0x47432f
and eax, 0x1f
shl eax, 6
and ebx, 0x3f
or eax, ebx
push edx
mov ebx, eax
sub esi, 2
sub edi, 2
call fcn.00409960
sub eax, ebx
jmp 0x474526
cmp edi, 3
jl 0x474376
movzx eax, byte [esi - 2]
mov cl, al
and cl, 0xf0
cmp cl, 0xe0
jne 0x474376
movzx ecx, byte [esi - 1]
and eax, 0xf
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and ebx, 0x3f
or eax, ebx
push edx
mov ebx, eax
sub esi, 3
sub edi, 3
call fcn.00409960
sub eax, ebx
jmp 0x474526
cmp edi, 4
jl 0x4743c9
movzx eax, byte [esi - 3]
mov cl, al
and cl, 0xf8
cmp cl, 0xf0
jne 0x4743c9
movzx ecx, byte [esi - 2]
and eax, 7
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi - 1]
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and ebx, 0x3f
or eax, ebx
push edx
mov ebx, eax
sub esi, 4
sub edi, 4
call fcn.00409960
sub eax, ebx
jmp 0x474526
push edx
xor ebx, ebx
sub esi, 1
sub edi, 1
call fcn.00409960
sub eax, ebx
jmp 0x474526
push edx
call fcn.00409960
movzx edx, bl
sub eax, edx
sub esi, 1
sub edi, 1
jmp 0x474526
mov cl, byte [esi]
test cl, cl
jns 0x474501
cmp edi, 2
jl 0x474440
movzx eax, byte [esi - 1]
mov bl, al
and bl, 0xe0
cmp bl, 0xc0
jne 0x474440
and eax, 0x1f
shl eax, 6
and ecx, 0x3f
or eax, ecx
mov ecx, eax
movzx eax, dl
mov edx, dword [0x58b5d0]
movzx eax, byte [eax + edx]
sub esi, 2
sub edi, 2
sub eax, ecx
jmp 0x474519
cmp edi, 3
jl 0x47448e
movzx eax, byte [esi - 2]
mov bl, al
and bl, 0xf0
cmp bl, 0xe0
jne 0x47448e
movzx ebx, byte [esi - 1]
and eax, 0xf
shl eax, 6
and ebx, 0x3f
or eax, ebx
shl eax, 6
and ecx, 0x3f
or eax, ecx
mov ecx, eax
movzx eax, dl
mov edx, dword [0x58b5d0]
movzx eax, byte [eax + edx]
sub esi, 3
sub edi, 3
sub eax, ecx
jmp 0x474519
cmp edi, 4
jl 0x4744e8
movzx eax, byte [esi - 3]
mov bl, al
and bl, 0xf8
cmp bl, 0xf0
jne 0x4744e8
movzx ebx, byte [esi - 2]
and eax, 7
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [esi - 1]
shl eax, 6
and ebx, 0x3f
or eax, ebx
shl eax, 6
and ecx, 0x3f
or eax, ecx
mov ecx, eax
movzx eax, dl
mov edx, dword [0x58b5d0]
movzx eax, byte [eax + edx]
sub esi, 4
sub edi, 4
sub eax, ecx
jmp 0x474519
movzx eax, dl
mov edx, dword [0x58b5d0]
movzx eax, byte [eax + edx]
xor ecx, ecx
sub esi, 1
sub edi, 1
sub eax, ecx
jmp 0x474519
movzx eax, dl
mov edx, dword [0x58b5d0]
movzx eax, byte [eax + edx]
movzx ecx, cl
sub eax, ecx
sub esi, 1
sub edi, 1
mov ecx, 1
sub dword [esp + 0x20], ecx
sub dword [esp + 0x14], ecx
test eax, eax
je 0x4741f0
jge 0x47453d
mov edx, dword [esp + 0x2c]
add edx, 0xffffffff
mov dword [esp + 0x30], edx
jmp 0x474548
mov eax, dword [esp + 0x2c]
add eax, 1
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0x30]
cmp dword [esp + 0x3c], ecx
jg 0x4745b0
mov ecx, dword [esp + 0x10]
mov esi, dword [esp + 0x3c]
mov eax, dword [esp + 0x30]
jmp 0x4741c1
test eax, eax
je 0x47458d
mov edx, dword [esp + 0x20]
cmp byte [edx], 0x2e
je 0x4745a9
mov esi, dword [esp + 0x2c]
mov eax, dword [esp + 0x30]
add esi, 1
mov dword [esp + 0x3c], esi
jmp 0x47459c
mov eax, dword [esp + 0x2c]
mov esi, dword [esp + 0x3c]
add eax, 0xffffffff
mov dword [esp + 0x30], eax
cmp esi, eax
jg 0x4745b0
mov ecx, dword [esp + 0x10]
jmp 0x4741c1
mov eax, 1
jmp 0x4745b2
xor eax, eax
test eax, eax
jne 0x4745e7
mov eax, dword [esp + 0x38]
cmp eax, dword [esp + 0x24]
jne 0x4745d8
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
lea ecx, [eax + 0xff0]
mov dword [esp + 0x24], ecx
mov edx, dword [esp + 0x28]
mov ecx, dword [edx]
mov dword [eax], ecx
add eax, 4
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x28]
add eax, 4
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x28], eax
jne 0x474171
mov ebx, dword [esp + 0x38]
mov edi, dword [esp + 0x24]
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x47463c
mov edx, dword [eax - 4]
mov dword [esp + 0x48], edx
jmp 0x474643
movzx ecx, cl
mov dword [esp + 0x48], ecx
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + 0x10]
lea eax, [eax + edx + 4]
mov dword [esp + 0x50], eax
mov eax, dword [ecx + 0x14]
xor esi, esi
sub eax, 1
mov dword [esp + 0x3c], esi
mov dword [esp + 0x30], eax
sub eax, esi
cdq
sub eax, edx
mov edx, dword [esp + 0x50]
sar eax, 1
add eax, esi
mov esi, dword [ecx + eax*8 + 0x1c]
mov edi, dword [ecx + eax*8 + 0x18]
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x48]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x14], edx
jmp 0x474690
mov eax, dword [esp + 0x14]
test eax, eax
je 0x4749f3
test edi, edi
je 0x4749d1
mov ecx, dword [esp + 0x20]
mov dl, byte [ecx]
test dl, dl
jns 0x474894
cmp eax, 2
jl 0x4746e7
movzx eax, byte [ecx - 1]
mov bl, al
and bl, 0xe0
cmp bl, 0xc0
jne 0x4746e3
and eax, 0x1f
and edx, 0x3f
shl eax, 6
or eax, edx
sub ecx, 2
sub dword [esp + 0x14], 2
mov edx, eax
jmp 0x474786
mov eax, dword [esp + 0x14]
cmp eax, 3
jl 0x47472c
movzx eax, byte [ecx - 2]
mov bl, al
and bl, 0xf0
cmp bl, 0xe0
jne 0x474728
movzx ebx, byte [ecx - 1]
and eax, 0xf
shl eax, 6
and ebx, 0x3f
or eax, ebx
and edx, 0x3f
shl eax, 6
or eax, edx
sub ecx, 3
sub dword [esp + 0x14], 3
mov edx, eax
jmp 0x474786
mov eax, dword [esp + 0x14]
cmp eax, 4
jl 0x47477a
movzx eax, byte [ecx - 3]
mov bl, al
and bl, 0xf8
cmp bl, 0xf0
jne 0x474776
movzx ebx, byte [ecx - 2]
and eax, 7
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [ecx - 1]
shl eax, 6
and ebx, 0x3f
or eax, ebx
and edx, 0x3f
shl eax, 6
or eax, edx
sub ecx, 4
sub dword [esp + 0x14], 4
mov edx, eax
jmp 0x474786
mov eax, dword [esp + 0x14]
xor edx, edx
sub ecx, 1
sub eax, 1
mov dword [esp + 0x14], eax
mov bl, byte [esi]
test bl, bl
mov dword [esp + 0x20], ecx
jns 0x47487e
cmp edi, 2
jl 0x4747cf
movzx eax, byte [esi - 1]
mov cl, al
and cl, 0xe0
cmp cl, 0xc0
jne 0x4747cf
and eax, 0x1f
shl eax, 6
and ebx, 0x3f
or eax, ebx
push edx
mov ebx, eax
sub esi, 2
sub edi, 2
call fcn.00421a20
sub eax, ebx
jmp 0x474990
cmp edi, 3
jl 0x474816
movzx eax, byte [esi - 2]
mov cl, al
and cl, 0xf0
cmp cl, 0xe0
jne 0x474816
movzx ecx, byte [esi - 1]
and eax, 0xf
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and ebx, 0x3f
or eax, ebx
push edx
mov ebx, eax
sub esi, 3
sub edi, 3
call fcn.00421a20
sub eax, ebx
jmp 0x474990
cmp edi, 4
jl 0x474869
movzx eax, byte [esi - 3]
mov cl, al
and cl, 0xf8
cmp cl, 0xf0
jne 0x474869
movzx ecx, byte [esi - 2]
and eax, 7
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi - 1]
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and ebx, 0x3f
or eax, ebx
push edx
mov ebx, eax
sub esi, 4
sub edi, 4
call fcn.00421a20
sub eax, ebx
jmp 0x474990
push edx
xor ebx, ebx
sub esi, 1
sub edi, 1
call fcn.00421a20
sub eax, ebx
jmp 0x474990
push edx
call fcn.00421a20
movzx edx, bl
sub eax, edx
sub esi, 1
sub edi, 1
jmp 0x474990
mov cl, byte [esi]
test cl, cl
jns 0x474975
cmp edi, 2
jl 0x4748d2
movzx eax, byte [esi - 1]
mov bl, al
and bl, 0xe0
cmp bl, 0xc0
jne 0x4748d2
and eax, 0x1f
shl eax, 6
and ecx, 0x3f
or eax, ecx
mov ecx, eax
movzx eax, dl
sub esi, 2
sub edi, 2
sub eax, ecx
jmp 0x474983
cmp edi, 3
jl 0x474916
movzx eax, byte [esi - 2]
mov bl, al
and bl, 0xf0
cmp bl, 0xe0
jne 0x474916
movzx ebx, byte [esi - 1]
and eax, 0xf
shl eax, 6
and ebx, 0x3f
or eax, ebx
shl eax, 6
and ecx, 0x3f
or eax, ecx
mov ecx, eax
movzx eax, dl
sub esi, 3
sub edi, 3
sub eax, ecx
jmp 0x474983
cmp edi, 4
jl 0x474966
movzx eax, byte [esi - 3]
mov bl, al
and bl, 0xf8
cmp bl, 0xf0
jne 0x474966
movzx ebx, byte [esi - 2]
and eax, 7
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [esi - 1]
shl eax, 6
and ebx, 0x3f
or eax, ebx
shl eax, 6
and ecx, 0x3f
or eax, ecx
mov ecx, eax
movzx eax, dl
sub esi, 4
sub edi, 4
sub eax, ecx
jmp 0x474983
movzx eax, dl
xor ecx, ecx
sub esi, 1
sub edi, 1
sub eax, ecx
jmp 0x474983
movzx ecx, cl
movzx eax, dl
sub eax, ecx
sub esi, 1
sub edi, 1
mov ecx, 1
sub dword [esp + 0x20], ecx
sub dword [esp + 0x14], ecx
test eax, eax
je 0x474690
jge 0x4749a7
mov edx, dword [esp + 0x2c]
add edx, 0xffffffff
mov dword [esp + 0x30], edx
jmp 0x4749b2
mov eax, dword [esp + 0x2c]
add eax, 1
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0x30]
cmp dword [esp + 0x3c], ecx
jg 0x474a16
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x30]
mov esi, dword [esp + 0x3c]
jmp 0x474663
test eax, eax
je 0x4749f3
mov edx, dword [esp + 0x20]
cmp byte [edx], 0x2e
je 0x474a0f
mov esi, dword [esp + 0x2c]
mov eax, dword [esp + 0x30]
add esi, 1
mov dword [esp + 0x3c], esi
jmp 0x474a02
mov eax, dword [esp + 0x2c]
mov esi, dword [esp + 0x3c]
add eax, 0xffffffff
mov dword [esp + 0x30], eax
cmp esi, eax
jg 0x474a16
mov ecx, dword [esp + 0x10]
jmp 0x474663
mov eax, 1
jmp 0x474a18
xor eax, eax
test eax, eax
jne 0x474a4d
mov eax, dword [esp + 0x38]
cmp eax, dword [esp + 0x24]
jne 0x474a3e
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
lea ecx, [eax + 0xff0]
mov dword [esp + 0x24], ecx
mov edx, dword [esp + 0x28]
mov ecx, dword [edx]
mov dword [eax], ecx
add eax, 4
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x28]
add eax, 4
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x28], eax
jne 0x474613
mov ebx, dword [esp + 0x38]
mov edi, dword [esp + 0x24]
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
lea esp, [esp]
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x474aa9
mov edx, dword [eax - 4]
mov dword [esp + 0x48], edx
jmp 0x474ab0
movzx ecx, cl
mov dword [esp + 0x48], ecx
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + 0x10]
lea eax, [edx + eax + 4]
mov dword [esp + 0x50], eax
mov eax, dword [ecx + 0x14]
xor esi, esi
sub eax, 1
mov dword [esp + 0x3c], esi
mov dword [esp + 0x30], eax
sub eax, esi
cdq
sub eax, edx
mov edx, dword [esp + 0x50]
sar eax, 1
add eax, esi
mov esi, dword [ecx + eax*8 + 0x1c]
mov edi, dword [ecx + eax*8 + 0x18]
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x48]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x14], edx
jmp 0x474b00
mov ebx, dword [esp + 0x14]
test ebx, ebx
je 0x474e91
test edi, edi
je 0x474e6b
mov ecx, dword [esp + 0x20]
mov dl, byte [ecx]
test dl, dl
jns 0x474cfe
cmp ebx, 2
jl 0x474b59
movzx eax, byte [ecx - 1]
mov bl, al
and bl, 0xe0
cmp bl, 0xc0
jne 0x474b55
and eax, 0x1f
shl eax, 6
and edx, 0x3f
or eax, edx
sub ecx, 2
sub dword [esp + 0x14], 2
jmp 0x474bf4
mov ebx, dword [esp + 0x14]
cmp ebx, 3
jl 0x474b9c
movzx eax, byte [ecx - 2]
mov bl, al
and bl, 0xf0
cmp bl, 0xe0
jne 0x474b98
movzx ebx, byte [ecx - 1]
and eax, 0xf
shl eax, 6
and ebx, 0x3f
or eax, ebx
shl eax, 6
and edx, 0x3f
or eax, edx
sub ecx, 3
sub dword [esp + 0x14], 3
jmp 0x474bf4
mov ebx, dword [esp + 0x14]
cmp ebx, 4
jl 0x474be8
movzx eax, byte [ecx - 3]
mov bl, al
and bl, 0xf8
cmp bl, 0xf0
jne 0x474be4
movzx ebx, byte [ecx - 2]
and eax, 7
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [ecx - 1]
shl eax, 6
and ebx, 0x3f
or eax, ebx
shl eax, 6
and edx, 0x3f
or eax, edx
sub ecx, 4
sub dword [esp + 0x14], 4
jmp 0x474bf4
mov ebx, dword [esp + 0x14]
xor eax, eax
sub ecx, 1
sub ebx, 1
mov dword [esp + 0x14], ebx
mov bl, byte [esi]
test bl, bl
mov dword [esp + 0x20], ecx
jns 0x474ce8
cmp edi, 2
jl 0x474c3d
movzx ecx, byte [esi - 1]
mov dl, cl
and dl, 0xe0
cmp dl, 0xc0
jne 0x474c3d
and ecx, 0x1f
shl ecx, 6
and ebx, 0x3f
or ecx, ebx
push eax
mov ebx, ecx
sub esi, 2
sub edi, 2
call fcn.00409910
sub eax, ebx
jmp 0x474e2a
cmp edi, 3
jl 0x474c82
movzx ecx, byte [esi - 2]
mov dl, cl
and dl, 0xf0
cmp dl, 0xe0
jne 0x474c82
movzx edx, byte [esi - 1]
and ecx, 0xf
and edx, 0x3f
shl ecx, 6
or edx, ecx
shl edx, 6
and ebx, 0x3f
push eax
or ebx, edx
sub esi, 3
sub edi, 3
call fcn.00409910
sub eax, ebx
jmp 0x474e2a
cmp edi, 4
jl 0x474cd3
movzx ecx, byte [esi - 3]
mov dl, cl
and dl, 0xf8
cmp dl, 0xf0
jne 0x474cd3
movzx edx, byte [esi - 2]
and ecx, 7
and edx, 0x3f
shl ecx, 6
or edx, ecx
movzx ecx, byte [esi - 1]
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
and ebx, 0x3f
push eax
or ebx, edx
sub esi, 4
sub edi, 4
call fcn.00409910
sub eax, ebx
jmp 0x474e2a
push eax
xor ebx, ebx
sub esi, 1
sub edi, 1
call fcn.00409910
sub eax, ebx
jmp 0x474e2a
push eax
call fcn.00409910
movzx edx, bl
sub eax, edx
sub esi, 1
sub edi, 1
jmp 0x474e2a
mov cl, byte [esi]
test cl, cl
jns 0x474e06
cmp edi, 2
jl 0x474d49
movzx eax, byte [esi - 1]
mov bl, al
and bl, 0xe0
cmp bl, 0xc0
jne 0x474d49
and eax, 0x1f
shl eax, 6
and ecx, 0x3f
or eax, ecx
mov ecx, eax
mov eax, dword [0x58b5d0]
movzx edx, dl
movzx eax, byte [edx + eax]
sub esi, 2
sub edi, 2
sub eax, ecx
jmp 0x474e1d
cmp edi, 3
jl 0x474d94
movzx eax, byte [esi - 2]
mov bl, al
and bl, 0xf0
cmp bl, 0xe0
jne 0x474d94
movzx ebx, byte [esi - 1]
and eax, 0xf
shl eax, 6
and ebx, 0x3f
or ebx, eax
mov eax, dword [0x58b5d0]
movzx edx, dl
movzx eax, byte [edx + eax]
shl ebx, 6
and ecx, 0x3f
or ecx, ebx
sub esi, 3
sub edi, 3
sub eax, ecx
jmp 0x474e1d
cmp edi, 4
jl 0x474deb
movzx eax, byte [esi - 3]
mov bl, al
and bl, 0xf8
cmp bl, 0xf0
jne 0x474deb
movzx ebx, byte [esi - 2]
and eax, 7
shl eax, 6
and ebx, 0x3f
or ebx, eax
movzx eax, byte [esi - 1]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, dword [0x58b5d0]
movzx edx, dl
movzx eax, byte [edx + eax]
shl ebx, 6
and ecx, 0x3f
or ecx, ebx
sub esi, 4
sub edi, 4
sub eax, ecx
jmp 0x474e1d
mov eax, dword [0x58b5d0]
movzx edx, dl
movzx eax, byte [edx + eax]
xor ecx, ecx
sub esi, 1
sub edi, 1
sub eax, ecx
jmp 0x474e1d
mov eax, dword [0x58b5d0]
movzx edx, dl
movzx eax, byte [edx + eax]
movzx ecx, cl
sub eax, ecx
sub esi, 1
sub edi, 1
mov ecx, 1
sub dword [esp + 0x20], ecx
sub dword [esp + 0x14], ecx
test eax, eax
je 0x474b00
jge 0x474e41
mov edx, dword [esp + 0x2c]
add edx, 0xffffffff
mov dword [esp + 0x30], edx
jmp 0x474e4c
mov eax, dword [esp + 0x2c]
add eax, 1
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0x30]
cmp dword [esp + 0x3c], ecx
jg 0x474eb4
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x30]
mov esi, dword [esp + 0x3c]
jmp 0x474ad0
test ebx, ebx
je 0x474e91
mov edx, dword [esp + 0x20]
cmp byte [edx], 0x2e
je 0x474ead
mov esi, dword [esp + 0x2c]
mov eax, dword [esp + 0x30]
add esi, 1
mov dword [esp + 0x3c], esi
jmp 0x474ea0
mov eax, dword [esp + 0x2c]
mov esi, dword [esp + 0x3c]
add eax, 0xffffffff
mov dword [esp + 0x30], eax
cmp esi, eax
jg 0x474eb4
mov ecx, dword [esp + 0x10]
jmp 0x474ad0
mov eax, 1
jmp 0x474eb6
xor eax, eax
test eax, eax
je 0x474eef
mov eax, dword [esp + 0x38]
cmp eax, dword [esp + 0x24]
jne 0x474ee0
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
lea ecx, [eax + 0xff0]
mov dword [esp + 0x24], ecx
mov edx, dword [esp + 0x28]
mov ecx, dword [edx]
mov dword [eax], ecx
add eax, 4
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x28]
add eax, 4
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x28], eax
jne 0x474a80
mov ebx, dword [esp + 0x38]
mov edi, dword [esp + 0x24]
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x474f20
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x474f41
mov edi, dword [eax - 4]
jmp 0x474f44
movzx edi, cl
mov edx, dword [esp + 0x10]
lea ecx, [edi + eax + 4]
mov eax, dword [edx + 0x14]
mov dword [esp + 0x20], ecx
xor ecx, ecx
sub eax, 1
mov dword [esp + 0x14], edi
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x2c], eax
sub eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx + eax*8 + 0x18]
cmp edi, ecx
jge 0x474f7f
mov dword [esp + 0x48], edi
jmp 0x474f85
mov edi, ecx
mov dword [esp + 0x48], ecx
test edi, edi
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x10]
mov edx, dword [edx + eax*8 + 0x1c]
mov dword [esp + 0x30], ecx
je 0x475001
movzx edi, byte [edx]
movzx ecx, byte [ecx]
sub ecx, edi
jne 0x474fd4
jmp 0x474fb0
mov ecx, dword [esp + 0x30]
sub ecx, 1
sub dword [esp + 0x48], 1
mov dword [esp + 0x30], ecx
je 0x475001
movzx edi, byte [edx - 1]
movzx ecx, byte [ecx]
sub edx, 1
sub ecx, edi
je 0x474fb0
test ecx, ecx
jge 0x474fe5
mov ecx, dword [esp + 0x4c]
add eax, 0xffffffff
mov dword [esp + 0x2c], eax
jmp 0x474ff0
lea ecx, [eax + 1]
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x4c], ecx
cmp ecx, eax
jg 0x47504a
mov edi, dword [esp + 0x14]
jmp 0x474f64
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
sub edx, dword [edi + eax*8 + 0x18]
test edx, edx
jle 0x47502b
cmp byte [ecx], 0x2e
je 0x475043
lea ecx, [eax + 1]
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x4c], ecx
jmp 0x475036
mov ecx, dword [esp + 0x4c]
add eax, 0xffffffff
mov dword [esp + 0x2c], eax
cmp ecx, eax
jg 0x47504a
mov edi, dword [esp + 0x14]
jmp 0x474f64
mov eax, 1
jmp 0x47504c
xor eax, eax
test eax, eax
je 0x47507f
cmp ebx, dword [esp + 0x24]
jne 0x475074
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea ecx, [ebx + 0xff0]
mov dword [esp + 0x24], ecx
mov edx, dword [esi]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x474f20
mov edi, dword [esp + 0x24]
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
nop
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x488888
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x4750cd
mov ecx, dword [eax - 4]
mov dword [esp + 0x48], ecx
jmp 0x4750d4
movzx edx, cl
mov dword [esp + 0x48], edx
mov ecx, dword [esp + 0x48]
lea edx, [ecx + eax + 4]
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x14]
xor esi, esi
sub eax, 1
mov dword [esp + 0x50], edx
mov dword [esp + 0x3c], esi
mov dword [esp + 0x30], eax
sub eax, esi
cdq
sub eax, edx
mov edx, dword [esp + 0x50]
sar eax, 1
add eax, esi
mov esi, dword [ecx + eax*8 + 0x1c]
mov edi, dword [ecx + eax*8 + 0x18]
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x48]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x14], edx
lea esp, [esp]
mov ebx, dword [esp + 0x14]
test ebx, ebx
je 0x4754c5
test edi, edi
je 0x47549c
mov edx, dword [esp + 0x20]
mov al, byte [edx]
test al, al
jns 0x475325
cmp ebx, 2
jl 0x475179
movzx ecx, byte [edx - 1]
mov bl, cl
and bl, 0xe0
cmp bl, 0xc0
jne 0x475175
and ecx, 0x1f
shl ecx, 6
and eax, 0x3f
or ecx, eax
sub edx, 2
sub dword [esp + 0x14], 2
jmp 0x47521b
mov ebx, dword [esp + 0x14]
cmp ebx, 3
jl 0x4751be
movzx ecx, byte [edx - 2]
mov bl, cl
and bl, 0xf0
cmp bl, 0xe0
jne 0x4751ba
movzx ebx, byte [edx - 1]
and ecx, 0xf
and ebx, 0x3f
shl ecx, 6
or ebx, ecx
shl ebx, 6
and eax, 0x3f
or ebx, eax
sub edx, 3
sub dword [esp + 0x14], 3
mov ecx, ebx
jmp 0x47521b
mov ebx, dword [esp + 0x14]
cmp ebx, 4
jl 0x47520f
movzx ecx, byte [edx - 3]
mov bl, cl
and bl, 0xf8
cmp bl, 0xf0
jne 0x47520b
movzx ebx, byte [edx - 2]
and ecx, 7
and ebx, 0x3f
shl ecx, 6
or ebx, ecx
movzx ecx, byte [edx - 1]
shl ebx, 6
and ecx, 0x3f
or ebx, ecx
shl ebx, 6
and eax, 0x3f
or ebx, eax
sub edx, 4
sub dword [esp + 0x14], 4
mov ecx, ebx
jmp 0x47521b
mov ebx, dword [esp + 0x14]
xor ecx, ecx
sub edx, 1
sub ebx, 1
mov dword [esp + 0x14], ebx
mov bl, byte [esi]
test bl, bl
mov dword [esp + 0x20], edx
jns 0x47530f
cmp edi, 2
jl 0x475264
movzx eax, byte [esi - 1]
mov dl, al
and dl, 0xe0
cmp dl, 0xc0
jne 0x475264
and eax, 0x1f
shl eax, 6
and ebx, 0x3f
or eax, ebx
push ecx
mov ebx, eax
sub esi, 2
sub edi, 2
call fcn.00409910
sub eax, ebx
jmp 0x475457
cmp edi, 3
jl 0x4752a9
movzx eax, byte [esi - 2]
mov dl, al
and dl, 0xf0
cmp dl, 0xe0
jne 0x4752a9
movzx edx, byte [esi - 1]
and eax, 0xf
and edx, 0x3f
shl eax, 6
or edx, eax
shl edx, 6
and ebx, 0x3f
push ecx
or ebx, edx
sub esi, 3
sub edi, 3
call fcn.00409910
sub eax, ebx
jmp 0x475457
cmp edi, 4
jl 0x4752fa
movzx eax, byte [esi - 3]
mov dl, al
and dl, 0xf8
cmp dl, 0xf0
jne 0x4752fa
movzx edx, byte [esi - 2]
and eax, 7
and edx, 0x3f
shl eax, 6
or edx, eax
movzx eax, byte [esi - 1]
shl edx, 6
and eax, 0x3f
or edx, eax
shl edx, 6
and ebx, 0x3f
push ecx
or ebx, edx
sub esi, 4
sub edi, 4
call fcn.00409910
sub eax, ebx
jmp 0x475457
push ecx
xor ebx, ebx
sub esi, 1
sub edi, 1
call fcn.00409910
sub eax, ebx
jmp 0x475457
push ecx
call fcn.00409910
movzx ecx, bl
sub eax, ecx
sub esi, 1
sub edi, 1
jmp 0x475457
mov cl, byte [esi]
test cl, cl
jns 0x475433
cmp edi, 2
jl 0x47536f
movzx edx, byte [esi - 1]
mov bl, dl
and bl, 0xe0
cmp bl, 0xc0
jne 0x47536f
and edx, 0x1f
and ecx, 0x3f
shl edx, 6
movzx eax, al
or edx, ecx
mov ecx, dword [0x58b5d0]
movzx eax, byte [eax + ecx]
sub esi, 2
sub edi, 2
sub eax, edx
jmp 0x47544a
cmp edi, 3
jl 0x4753bd
movzx edx, byte [esi - 2]
mov bl, dl
and bl, 0xf0
cmp bl, 0xe0
jne 0x4753bd
movzx ebx, byte [esi - 1]
and edx, 0xf
and ebx, 0x3f
shl edx, 6
or ebx, edx
and ecx, 0x3f
shl ebx, 6
or ebx, ecx
mov ecx, dword [0x58b5d0]
movzx eax, al
movzx eax, byte [eax + ecx]
mov edx, ebx
sub esi, 3
sub edi, 3
sub eax, edx
jmp 0x47544a
cmp edi, 4
jl 0x475417
movzx edx, byte [esi - 3]
mov bl, dl
and bl, 0xf8
cmp bl, 0xf0
jne 0x475417
movzx ebx, byte [esi - 2]
and edx, 7
and ebx, 0x3f
shl edx, 6
or ebx, edx
movzx edx, byte [esi - 1]
shl ebx, 6
and edx, 0x3f
or ebx, edx
and ecx, 0x3f
shl ebx, 6
or ebx, ecx
mov ecx, dword [0x58b5d0]
movzx eax, al
movzx eax, byte [eax + ecx]
mov edx, ebx
sub esi, 4
sub edi, 4
sub eax, edx
jmp 0x47544a
mov ecx, dword [0x58b5d0]
movzx eax, al
movzx eax, byte [eax + ecx]
xor edx, edx
sub esi, 1
sub edi, 1
sub eax, edx
jmp 0x47544a
movzx edx, al
mov eax, dword [0x58b5d0]
movzx eax, byte [edx + eax]
movzx ecx, cl
sub eax, ecx
sub esi, 1
sub edi, 1
mov ecx, 1
sub dword [esp + 0x20], ecx
sub dword [esp + 0x14], ecx
test eax, eax
je 0x475120
jge 0x475472
mov edx, dword [esp + 0x2c]
add edx, 0xffffffff
mov dword [esp + 0x30], edx
jmp 0x47547d
mov eax, dword [esp + 0x2c]
add eax, 1
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0x30]
cmp dword [esp + 0x3c], ecx
jg 0x4754ec
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x30]
mov esi, dword [esp + 0x3c]
jmp 0x4750f4
test ebx, ebx
je 0x4754c5
mov edx, dword [esp + 0x20]
cmp byte [edx], 0x2e
je 0x4754e5
mov esi, dword [esp + 0x2c]
mov eax, dword [esp + 0x30]
add esi, 1
mov dword [esp + 0x3c], esi
jmp 0x4754d4
mov eax, dword [esp + 0x2c]
mov esi, dword [esp + 0x3c]
add eax, 0xffffffff
mov dword [esp + 0x30], eax
cmp esi, eax
jg 0x4754ec
mov ecx, dword [esp + 0x10]
jmp 0x4750f4
mov eax, 1
jmp 0x4754ee
xor eax, eax
test eax, eax
jne 0x475527
mov eax, dword [esp + 0x38]
cmp eax, dword [esp + 0x24]
jne 0x475518
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
lea ecx, [eax + 0xff0]
mov dword [esp + 0x24], ecx
mov edx, dword [esp + 0x28]
mov ecx, dword [edx]
mov dword [eax], ecx
add eax, 4
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x28]
add eax, 4
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x28], eax
jne 0x4750a0
mov ebx, dword [esp + 0x38]
mov edi, dword [esp + 0x24]
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x475574
mov edi, dword [eax - 4]
jmp 0x475577
movzx edi, cl
mov edx, dword [esp + 0x10]
lea ecx, [edi + eax + 4]
mov eax, dword [edx + 0x14]
mov dword [esp + 0x20], ecx
xor ecx, ecx
sub eax, 1
mov dword [esp + 0x14], edi
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x2c], eax
sub eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx + eax*8 + 0x18]
cmp edi, ecx
jge 0x4755b2
mov dword [esp + 0x48], edi
jmp 0x4755b8
mov edi, ecx
mov dword [esp + 0x48], ecx
test edi, edi
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x10]
mov edx, dword [edx + eax*8 + 0x1c]
mov dword [esp + 0x30], ecx
je 0x475631
movzx ecx, byte [ecx]
movzx edi, byte [edx]
sub ecx, edi
jne 0x475604
mov edi, edi
mov ecx, dword [esp + 0x30]
sub ecx, 1
sub dword [esp + 0x48], 1
mov dword [esp + 0x30], ecx
je 0x475631
movzx ecx, byte [ecx]
movzx edi, byte [edx - 1]
sub edx, 1
sub ecx, edi
je 0x4755e0
test ecx, ecx
jge 0x475615
mov ecx, dword [esp + 0x4c]
add eax, 0xffffffff
mov dword [esp + 0x2c], eax
jmp 0x475620
lea ecx, [eax + 1]
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x4c], ecx
cmp ecx, eax
jg 0x47567a
mov edi, dword [esp + 0x14]
jmp 0x475597
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
sub edx, dword [edi + eax*8 + 0x18]
test edx, edx
jle 0x47565b
cmp byte [ecx], 0x2e
je 0x475673
lea ecx, [eax + 1]
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x4c], ecx
jmp 0x475666
mov ecx, dword [esp + 0x4c]
add eax, 0xffffffff
mov dword [esp + 0x2c], eax
cmp ecx, eax
jg 0x47567a
mov edi, dword [esp + 0x14]
jmp 0x475597
mov eax, 1
jmp 0x47567c
xor eax, eax
test eax, eax
jne 0x4756af
cmp ebx, dword [esp + 0x24]
jne 0x4756a4
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea ecx, [ebx + 0xff0]
mov dword [esp + 0x24], ecx
mov edx, dword [esi]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x475553
mov edi, dword [esp + 0x24]
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
nop
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x488888
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x4756f1
mov edi, dword [eax - 4]
jmp 0x4756f4
movzx edi, cl
lea edx, [edi + eax + 4]
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x14]
xor ecx, ecx
sub eax, 1
mov dword [esp + 0x14], edi
mov dword [esp + 0x20], edx
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x2c], eax
sub eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx + eax*8 + 0x18]
cmp edi, ecx
jge 0x47572f
mov dword [esp + 0x48], edi
jmp 0x475735
mov edi, ecx
mov dword [esp + 0x48], ecx
test edi, edi
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x10]
mov edx, dword [edx + eax*8 + 0x1c]
mov dword [esp + 0x30], ecx
je 0x4757cf
movzx ecx, byte [ecx]
mov edi, dword [0x58b5d0]
movzx ecx, byte [ecx + edi]
movzx edi, byte [edx]
sub ecx, edi
jne 0x47579e
jmp 0x475770
mov ecx, dword [esp + 0x30]
sub ecx, 1
sub dword [esp + 0x48], 1
mov dword [esp + 0x30], ecx
je 0x4757cf
movzx ecx, byte [ecx]
mov edi, dword [0x58b5d0]
movzx ecx, byte [ecx + edi]
movzx edi, byte [edx - 1]
sub edx, 1
sub ecx, edi
je 0x475770
test ecx, ecx
jge 0x4757b3
mov ecx, dword [esp + 0x4c]
add eax, 0xffffffff
mov dword [esp + 0x2c], eax
jmp 0x4757be
lea ecx, [eax + 1]
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x4c], ecx
cmp ecx, eax
jg 0x47581c
mov edi, dword [esp + 0x14]
jmp 0x475714
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
sub edx, dword [edi + eax*8 + 0x18]
test edx, edx
jle 0x4757f9
cmp byte [ecx], 0x2e
je 0x475815
lea ecx, [eax + 1]
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x4c], ecx
jmp 0x475804
mov ecx, dword [esp + 0x4c]
add eax, 0xffffffff
mov dword [esp + 0x2c], eax
cmp ecx, eax
jg 0x47581c
mov edi, dword [esp + 0x14]
jmp 0x475714
mov eax, 1
jmp 0x47581e
xor eax, eax
test eax, eax
je 0x475851
cmp ebx, dword [esp + 0x24]
jne 0x475846
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea ecx, [ebx + 0xff0]
mov dword [esp + 0x24], ecx
mov edx, dword [esi]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x4756d0
mov edi, dword [esp + 0x24]
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x488888
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x475892
mov edi, dword [eax - 4]
jmp 0x475895
movzx edi, cl
lea edx, [edi + eax + 4]
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x14]
xor ecx, ecx
sub eax, 1
mov dword [esp + 0x14], edi
mov dword [esp + 0x20], edx
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x2c], eax
sub eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx + eax*8 + 0x18]
cmp edi, ecx
jge 0x4758d0
mov dword [esp + 0x48], edi
jmp 0x4758d6
mov edi, ecx
mov dword [esp + 0x48], ecx
test edi, edi
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x10]
mov edx, dword [edx + eax*8 + 0x1c]
mov dword [esp + 0x30], ecx
je 0x47596b
movzx ecx, byte [ecx]
mov edi, dword [0x58b5d0]
movzx ecx, byte [ecx + edi]
movzx edi, byte [edx]
sub ecx, edi
jne 0x47593e
jmp 0x475910
mov ecx, dword [esp + 0x30]
sub ecx, 1
sub dword [esp + 0x48], 1
mov dword [esp + 0x30], ecx
je 0x47596b
movzx ecx, byte [ecx]
mov edi, dword [0x58b5d0]
movzx ecx, byte [ecx + edi]
movzx edi, byte [edx - 1]
sub edx, 1
sub ecx, edi
je 0x475910
test ecx, ecx
jge 0x47594f
mov ecx, dword [esp + 0x4c]
add eax, 0xffffffff
mov dword [esp + 0x2c], eax
jmp 0x47595a
lea ecx, [eax + 1]
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x4c], ecx
cmp ecx, eax
jg 0x4759b4
mov edi, dword [esp + 0x14]
jmp 0x4758b5
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
sub edx, dword [edi + eax*8 + 0x18]
test edx, edx
jle 0x475995
cmp byte [ecx], 0x2e
je 0x4759ad
lea ecx, [eax + 1]
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x4c], ecx
jmp 0x4759a0
mov ecx, dword [esp + 0x4c]
add eax, 0xffffffff
mov dword [esp + 0x2c], eax
cmp ecx, eax
jg 0x4759b4
mov edi, dword [esp + 0x14]
jmp 0x4758b5
mov eax, 1
jmp 0x4759b6
xor eax, eax
test eax, eax
jne 0x4759e9
cmp ebx, dword [esp + 0x24]
jne 0x4759de
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea ecx, [ebx + 0xff0]
mov dword [esp + 0x24], ecx
mov edx, dword [esi]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x475871
mov edi, dword [esp + 0x24]
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
lea esp, [esp]
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x488888
mov edx, dword [esp + 0x28]
mov ecx, dword [edx]
mov al, byte [ecx + 4]
cmp al, 0xff
jne 0x475a34
mov eax, dword [ecx - 4]
jmp 0x475a37
movzx eax, al
test eax, eax
lea edi, [eax + ecx + 5]
mov ebx, eax
mov dword [esp + 0x18], edi
mov dword [esp + 0x4c], ebx
je 0x475a72
lea ecx, [ecx]
sub edi, 1
cmp byte [edi], 0x2e
je 0x475a63
sub ebx, 1
jne 0x475a50
mov dword [esp + 0x4c], ebx
jmp 0x475a6e
add edi, 1
sub eax, ebx
mov ebx, eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x18], edi
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x14]
xor esi, esi
sub eax, 1
mov dword [esp + 0x30], esi
mov dword [esp + 0x3c], eax
sub eax, esi
cdq
sub eax, edx
sar eax, 1
add eax, esi
mov esi, dword [ecx + eax*8 + 0x1c]
mov dword [esp + 0x14], edi
mov edi, dword [ecx + eax*8 + 0x18]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x20], ebx
mov edx, dword [esp + 0x20]
test edx, edx
je 0x475e04
test edi, edi
je 0x475e04
mov ecx, dword [esp + 0x14]
mov al, byte [ecx]
test al, al
jns 0x475c91
cmp edx, 2
jl 0x475af6
mov bl, al
and bl, 0xe0
cmp bl, 0xc0
jne 0x475af6
movzx ebx, byte [ecx + 1]
and eax, 0x1f
and ebx, 0x3f
shl eax, 6
or eax, ebx
add ecx, 2
sub edx, 2
jmp 0x475b81
cmp edx, 3
jl 0x475b33
mov bl, al
and bl, 0xf0
cmp bl, 0xe0
jne 0x475b33
movzx ebx, byte [ecx + 1]
and eax, 0xf
shl eax, 6
and ebx, 0x3f
or ebx, eax
movzx eax, byte [ecx + 2]
shl ebx, 6
and eax, 0x3f
or eax, ebx
add ecx, 3
sub edx, 3
jmp 0x475b81
cmp edx, 4
jl 0x475b79
mov bl, al
and bl, 0xf8
cmp bl, 0xf0
jne 0x475b79
movzx ebx, byte [ecx + 1]
and eax, 7
shl eax, 6
and ebx, 0x3f
or ebx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 3]
shl ebx, 6
and eax, 0x3f
or eax, ebx
add ecx, 4
sub edx, 4
jmp 0x475b81
xor eax, eax
add ecx, 1
sub edx, 1
mov bl, byte [esi]
test bl, bl
mov dword [esp + 0x20], edx
mov dword [esp + 0x14], ecx
jns 0x475c7b
cmp edi, 2
jl 0x475bcc
mov cl, bl
and cl, 0xe0
cmp cl, 0xc0
jne 0x475bcc
movzx edx, byte [esi + 1]
and ebx, 0x1f
and edx, 0x3f
shl ebx, 6
push eax
or ebx, edx
add esi, 2
sub edi, 2
call fcn.00409960
sub eax, ebx
jmp 0x475dbb
cmp edi, 3
jl 0x475c13
mov cl, bl
and cl, 0xf0
cmp cl, 0xe0
jne 0x475c13
movzx edx, byte [esi + 1]
movzx ecx, byte [esi + 2]
and edx, 0x3f
and ebx, 0xf
shl ebx, 6
or edx, ebx
shl edx, 6
and ecx, 0x3f
or edx, ecx
push eax
mov ebx, edx
add esi, 3
sub edi, 3
call fcn.00409960
sub eax, ebx
jmp 0x475dbb
cmp edi, 4
jl 0x475c66
mov dl, bl
and dl, 0xf8
cmp dl, 0xf0
jne 0x475c66
movzx ecx, byte [esi + 1]
movzx edx, byte [esi + 2]
and ecx, 0x3f
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
push eax
mov ebx, ecx
add esi, 4
sub edi, 4
call fcn.00409960
sub eax, ebx
jmp 0x475dbb
push eax
xor ebx, ebx
add esi, 1
sub edi, 1
call fcn.00409960
sub eax, ebx
jmp 0x475dbb
push eax
call fcn.00409960
movzx ecx, bl
sub eax, ecx
add esi, 1
sub edi, 1
jmp 0x475dbb
mov cl, byte [esi]
test cl, cl
jns 0x475d97
cmp edi, 2
jl 0x475cda
mov dl, cl
and dl, 0xe0
cmp dl, 0xc0
jne 0x475cda
movzx edx, byte [esi + 1]
and ecx, 0x1f
and edx, 0x3f
shl ecx, 6
or ecx, edx
movzx edx, al
mov eax, dword [0x58b5d0]
movzx eax, byte [edx + eax]
add esi, 2
sub edi, 2
sub eax, ecx
jmp 0x475dae
cmp edi, 3
jl 0x475d25
mov dl, cl
and dl, 0xf0
cmp dl, 0xe0
jne 0x475d25
movzx edx, byte [esi + 1]
and ecx, 0xf
shl ecx, 6
and edx, 0x3f
or edx, ecx
movzx ecx, byte [esi + 2]
shl edx, 6
and ecx, 0x3f
or ecx, edx
movzx edx, al
mov eax, dword [0x58b5d0]
movzx eax, byte [edx + eax]
add esi, 3
sub edi, 3
sub eax, ecx
jmp 0x475dae
cmp edi, 4
jl 0x475d7c
mov dl, cl
and dl, 0xf8
cmp dl, 0xf0
jne 0x475d7c
movzx edx, byte [esi + 1]
and ecx, 7
shl ecx, 6
and edx, 0x3f
or edx, ecx
movzx ecx, byte [esi + 2]
and ecx, 0x3f
shl edx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
shl edx, 6
and ecx, 0x3f
or ecx, edx
movzx edx, al
mov eax, dword [0x58b5d0]
movzx eax, byte [edx + eax]
add esi, 4
sub edi, 4
sub eax, ecx
jmp 0x475dae
movzx edx, al
mov eax, dword [0x58b5d0]
movzx eax, byte [edx + eax]
xor ecx, ecx
add esi, 1
sub edi, 1
sub eax, ecx
jmp 0x475dae
movzx edx, al
mov eax, dword [0x58b5d0]
movzx eax, byte [edx + eax]
movzx ecx, cl
sub eax, ecx
add esi, 1
sub edi, 1
mov ecx, 1
add dword [esp + 0x14], ecx
sub dword [esp + 0x20], ecx
test eax, eax
je 0x475aa3
jge 0x475dd2
mov edx, dword [esp + 0x2c]
add edx, 0xffffffff
mov dword [esp + 0x3c], edx
jmp 0x475ddd
mov eax, dword [esp + 0x2c]
add eax, 1
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 0x3c]
cmp dword [esp + 0x30], ecx
jg 0x475e49
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x3c]
mov esi, dword [esp + 0x30]
mov ebx, dword [esp + 0x4c]
mov edi, dword [esp + 0x18]
jmp 0x475a86
sub edx, edi
je 0x475e4d
test edx, edx
jge 0x475e25
mov eax, dword [esp + 0x2c]
mov esi, dword [esp + 0x30]
add eax, 0xffffffff
mov dword [esp + 0x3c], eax
jmp 0x475e34
mov esi, dword [esp + 0x2c]
mov eax, dword [esp + 0x3c]
add esi, 1
mov dword [esp + 0x30], esi
cmp esi, eax
jg 0x475e49
mov ecx, dword [esp + 0x10]
mov ebx, dword [esp + 0x4c]
mov edi, dword [esp + 0x18]
jmp 0x475a86
xor eax, eax
jmp 0x475e52
mov eax, 1
test eax, eax
je 0x475e8b
mov eax, dword [esp + 0x38]
cmp eax, dword [esp + 0x24]
jne 0x475e7c
mov edx, dword [esp + 0x44]
push edx
call fcn.004021c0
lea ecx, [eax + 0xff0]
mov dword [esp + 0x24], ecx
mov edx, dword [esp + 0x28]
mov ecx, dword [edx]
mov dword [eax], ecx
add eax, 4
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x28]
add eax, 4
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x28], eax
jne 0x475a10
mov ebx, dword [esp + 0x38]
mov edi, dword [esp + 0x24]
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x475ec0
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov ecx, dword [esp + 0x28]
mov ecx, dword [ecx]
mov al, byte [ecx + 4]
cmp al, 0xff
jne 0x475ee4
mov eax, dword [ecx - 4]
jmp 0x475ee7
movzx eax, al
test eax, eax
lea edi, [eax + ecx + 5]
mov ebx, eax
mov dword [esp + 0x18], edi
mov dword [esp + 0x4c], ebx
je 0x475f22
lea ecx, [ecx]
sub edi, 1
cmp byte [edi], 0x2e
je 0x475f13
sub ebx, 1
jne 0x475f00
mov dword [esp + 0x4c], ebx
jmp 0x475f1e
add edi, 1
sub eax, ebx
mov ebx, eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x18], edi
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x14]
xor esi, esi
sub eax, 1
mov dword [esp + 0x30], esi
mov dword [esp + 0x3c], eax
sub eax, esi
cdq
sub eax, edx
sar eax, 1
add eax, esi
mov esi, dword [ecx + eax*8 + 0x1c]
mov dword [esp + 0x14], edi
mov edi, dword [ecx + eax*8 + 0x18]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x20], ebx
mov edx, dword [esp + 0x20]
test edx, edx
je 0x4762b4
test edi, edi
je 0x4762b4
mov ecx, dword [esp + 0x14]
mov al, byte [ecx]
test al, al
jns 0x476141
cmp edx, 2
jl 0x475fa6
mov bl, al
and bl, 0xe0
cmp bl, 0xc0
jne 0x475fa6
movzx ebx, byte [ecx + 1]
and eax, 0x1f
and ebx, 0x3f
shl eax, 6
or eax, ebx
add ecx, 2
sub edx, 2
jmp 0x476031
cmp edx, 3
jl 0x475fe3
mov bl, al
and bl, 0xf0
cmp bl, 0xe0
jne 0x475fe3
movzx ebx, byte [ecx + 1]
and eax, 0xf
shl eax, 6
and ebx, 0x3f
or ebx, eax
movzx eax, byte [ecx + 2]
shl ebx, 6
and eax, 0x3f
or eax, ebx
add ecx, 3
sub edx, 3
jmp 0x476031
cmp edx, 4
jl 0x476029
mov bl, al
and bl, 0xf8
cmp bl, 0xf0
jne 0x476029
movzx ebx, byte [ecx + 1]
and eax, 7
shl eax, 6
and ebx, 0x3f
or ebx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 3]
shl ebx, 6
and eax, 0x3f
or eax, ebx
add ecx, 4
sub edx, 4
jmp 0x476031
xor eax, eax
add ecx, 1
sub edx, 1
mov bl, byte [esi]
test bl, bl
mov dword [esp + 0x20], edx
mov dword [esp + 0x14], ecx
jns 0x47612b
cmp edi, 2
jl 0x47607c
mov cl, bl
and cl, 0xe0
cmp cl, 0xc0
jne 0x47607c
movzx edx, byte [esi + 1]
and ebx, 0x1f
and edx, 0x3f
shl ebx, 6
push eax
or ebx, edx
add esi, 2
sub edi, 2
call fcn.00421a20
sub eax, ebx
jmp 0x47626b
cmp edi, 3
jl 0x4760c3
mov cl, bl
and cl, 0xf0
cmp cl, 0xe0
jne 0x4760c3
movzx edx, byte [esi + 1]
movzx ecx, byte [esi + 2]
and edx, 0x3f
and ebx, 0xf
shl ebx, 6
or edx, ebx
shl edx, 6
and ecx, 0x3f
or edx, ecx
push eax
mov ebx, edx
add esi, 3
sub edi, 3
call fcn.00421a20
sub eax, ebx
jmp 0x47626b
cmp edi, 4
jl 0x476116
mov dl, bl
and dl, 0xf8
cmp dl, 0xf0
jne 0x476116
movzx ecx, byte [esi + 1]
movzx edx, byte [esi + 2]
and ecx, 0x3f
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
push eax
mov ebx, ecx
add esi, 4
sub edi, 4
call fcn.00421a20
sub eax, ebx
jmp 0x47626b
push eax
xor ebx, ebx
add esi, 1
sub edi, 1
call fcn.00421a20
sub eax, ebx
jmp 0x47626b
push eax
call fcn.00421a20
movzx ecx, bl
sub eax, ecx
add esi, 1
sub edi, 1
jmp 0x47626b
mov cl, byte [esi]
test cl, cl
jns 0x476247
cmp edi, 2
jl 0x47618a
mov dl, cl
and dl, 0xe0
cmp dl, 0xc0
jne 0x47618a
movzx edx, byte [esi + 1]
and ecx, 0x1f
and edx, 0x3f
shl ecx, 6
or ecx, edx
movzx edx, al
mov eax, dword [0x58b5d4]
movzx eax, byte [edx + eax]
add esi, 2
sub edi, 2
sub eax, ecx
jmp 0x47625e
cmp edi, 3
jl 0x4761d5
mov dl, cl
and dl, 0xf0
cmp dl, 0xe0
jne 0x4761d5
movzx edx, byte [esi + 1]
and ecx, 0xf
shl ecx, 6
and edx, 0x3f
or edx, ecx
movzx ecx, byte [esi + 2]
shl edx, 6
and ecx, 0x3f
or ecx, edx
movzx edx, al
mov eax, dword [0x58b5d4]
movzx eax, byte [edx + eax]
add esi, 3
sub edi, 3
sub eax, ecx
jmp 0x47625e
cmp edi, 4
jl 0x47622c
mov dl, cl
and dl, 0xf8
cmp dl, 0xf0
jne 0x47622c
movzx edx, byte [esi + 1]
and ecx, 7
shl ecx, 6
and edx, 0x3f
or edx, ecx
movzx ecx, byte [esi + 2]
and ecx, 0x3f
shl edx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
shl edx, 6
and ecx, 0x3f
or ecx, edx
movzx edx, al
mov eax, dword [0x58b5d4]
movzx eax, byte [edx + eax]
add esi, 4
sub edi, 4
sub eax, ecx
jmp 0x47625e
movzx edx, al
mov eax, dword [0x58b5d4]
movzx eax, byte [edx + eax]
xor ecx, ecx
add esi, 1
sub edi, 1
sub eax, ecx
jmp 0x47625e
movzx edx, al
mov eax, dword [0x58b5d4]
movzx eax, byte [edx + eax]
movzx ecx, cl
sub eax, ecx
add esi, 1
sub edi, 1
mov ecx, 1
add dword [esp + 0x14], ecx
sub dword [esp + 0x20], ecx
test eax, eax
je 0x475f53
jge 0x476282
mov edx, dword [esp + 0x2c]
add edx, 0xffffffff
mov dword [esp + 0x3c], edx
jmp 0x47628d
mov eax, dword [esp + 0x2c]
add eax, 1
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 0x3c]
cmp dword [esp + 0x30], ecx
jg 0x4762f5
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x3c]
mov esi, dword [esp + 0x30]
mov ebx, dword [esp + 0x4c]
mov edi, dword [esp + 0x18]
jmp 0x475f36
sub edx, edi
je 0x4762f9
test edx, edx
jge 0x4762d1
mov eax, dword [esp + 0x2c]
mov esi, dword [esp + 0x30]
add eax, 0xffffffff
mov dword [esp + 0x3c], eax
jmp 0x4762e0
mov esi, dword [esp + 0x2c]
mov eax, dword [esp + 0x3c]
add esi, 1
mov dword [esp + 0x30], esi
cmp esi, eax
jg 0x4762f5
mov ecx, dword [esp + 0x10]
mov ebx, dword [esp + 0x4c]
mov edi, dword [esp + 0x18]
jmp 0x475f36
xor eax, eax
jmp 0x4762fe
mov eax, 1
test eax, eax
je 0x476337
mov eax, dword [esp + 0x38]
cmp eax, dword [esp + 0x24]
jne 0x476328
mov edx, dword [esp + 0x44]
push edx
call fcn.004021c0
lea ecx, [eax + 0xff0]
mov dword [esp + 0x24], ecx
mov edx, dword [esp + 0x28]
mov ecx, dword [edx]
mov dword [eax], ecx
add eax, 4
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x28]
add eax, 4
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x28], eax
jne 0x475ec0
mov ebx, dword [esp + 0x38]
mov edi, dword [esp + 0x24]
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov ecx, dword [esp + 0x28]
mov ecx, dword [ecx]
mov al, byte [ecx + 4]
cmp al, 0xff
jne 0x476387
mov eax, dword [ecx - 4]
jmp 0x47638a
movzx eax, al
test eax, eax
lea edi, [eax + ecx + 5]
mov ebx, eax
mov dword [esp + 0x18], edi
mov dword [esp + 0x4c], ebx
je 0x4763c2
sub edi, 1
cmp byte [edi], 0x2e
je 0x4763b3
sub ebx, 1
jne 0x4763a0
mov dword [esp + 0x4c], ebx
jmp 0x4763be
add edi, 1
sub eax, ebx
mov ebx, eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x18], edi
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x14]
xor esi, esi
sub eax, 1
mov dword [esp + 0x30], esi
mov dword [esp + 0x3c], eax
sub eax, esi
cdq
sub eax, edx
sar eax, 1
add eax, esi
mov esi, dword [ecx + eax*8 + 0x1c]
mov dword [esp + 0x14], edi
mov edi, dword [ecx + eax*8 + 0x18]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x20], ebx
mov edx, dword [esp + 0x20]
test edx, edx
je 0x47675c
test edi, edi
je 0x47675c
mov ecx, dword [esp + 0x14]
mov al, byte [ecx]
test al, al
jns 0x4765dd
cmp edx, 2
jl 0x476446
mov bl, al
and bl, 0xe0
cmp bl, 0xc0
jne 0x476446
movzx ebx, byte [ecx + 1]
and eax, 0x1f
shl eax, 6
and ebx, 0x3f
or eax, ebx
add ecx, 2
sub edx, 2
jmp 0x4764d1
cmp edx, 3
jl 0x476483
mov bl, al
and bl, 0xf0
cmp bl, 0xe0
jne 0x476483
movzx ebx, byte [ecx + 1]
and eax, 0xf
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or eax, ebx
add ecx, 3
sub edx, 3
jmp 0x4764d1
cmp edx, 4
jl 0x4764c9
mov bl, al
and bl, 0xf8
cmp bl, 0xf0
jne 0x4764c9
movzx ebx, byte [ecx + 1]
and eax, 7
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [ecx + 3]
shl eax, 6
and ebx, 0x3f
or eax, ebx
add ecx, 4
sub edx, 4
jmp 0x4764d1
xor eax, eax
add ecx, 1
sub edx, 1
mov bl, byte [esi]
test bl, bl
mov dword [esp + 0x20], edx
mov dword [esp + 0x14], ecx
jns 0x4765c7
cmp edi, 2
jl 0x47651c
mov dl, bl
and dl, 0xe0
cmp dl, 0xc0
jne 0x47651c
movzx ecx, byte [esi + 1]
and ebx, 0x1f
and ecx, 0x3f
shl ebx, 6
push eax
or ebx, ecx
add esi, 2
sub edi, 2
call fcn.00409960
sub eax, ebx
jmp 0x47670c
cmp edi, 3
jl 0x476561
mov dl, bl
and dl, 0xf0
cmp dl, 0xe0
jne 0x476561
movzx ecx, byte [esi + 1]
movzx edx, byte [esi + 2]
and ebx, 0xf
shl ebx, 6
and ecx, 0x3f
or ebx, ecx
and edx, 0x3f
shl ebx, 6
push eax
or ebx, edx
add esi, 3
sub edi, 3
call fcn.00409960
sub eax, ebx
jmp 0x47670c
cmp edi, 4
jl 0x4765b2
mov cl, bl
and cl, 0xf8
cmp cl, 0xf0
jne 0x4765b2
movzx edx, byte [esi + 1]
movzx ecx, byte [esi + 2]
and ebx, 7
shl ebx, 6
and edx, 0x3f
or ebx, edx
movzx edx, byte [esi + 3]
shl ebx, 6
and ecx, 0x3f
or ebx, ecx
and edx, 0x3f
shl ebx, 6
push eax
or ebx, edx
add esi, 4
sub edi, 4
call fcn.00409960
sub eax, ebx
jmp 0x47670c
push eax
xor ebx, ebx
add esi, 1
sub edi, 1
call fcn.00409960
sub eax, ebx
jmp 0x47670c
push eax
call fcn.00409960
movzx ecx, bl
sub eax, ecx
add esi, 1
sub edi, 1
jmp 0x47670c
mov cl, byte [esi]
test cl, cl
jns 0x4766e7
cmp edi, 2
jl 0x476627
mov dl, cl
and dl, 0xe0
cmp dl, 0xc0
jne 0x476627
movzx edx, byte [esi + 1]
and ecx, 0x1f
and edx, 0x3f
shl ecx, 6
movzx eax, al
or ecx, edx
mov edx, dword [0x58b5d0]
movzx eax, byte [eax + edx]
add esi, 2
sub edi, 2
sub eax, ecx
jmp 0x4766ff
cmp edi, 3
jl 0x476673
mov dl, cl
and dl, 0xf0
cmp dl, 0xe0
jne 0x476673
movzx edx, byte [esi + 1]
and ecx, 0xf
and edx, 0x3f
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 2]
and edx, 0x3f
shl ecx, 6
movzx eax, al
or ecx, edx
mov edx, dword [0x58b5d0]
movzx eax, byte [eax + edx]
add esi, 3
sub edi, 3
sub eax, ecx
jmp 0x4766ff
cmp edi, 4
jl 0x4766cb
mov dl, cl
and dl, 0xf8
cmp dl, 0xf0
jne 0x4766cb
movzx edx, byte [esi + 1]
and ecx, 7
and edx, 0x3f
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 2]
and edx, 0x3f
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 3]
and edx, 0x3f
shl ecx, 6
movzx eax, al
or ecx, edx
mov edx, dword [0x58b5d0]
movzx eax, byte [eax + edx]
add esi, 4
sub edi, 4
sub eax, ecx
jmp 0x4766ff
mov edx, dword [0x58b5d0]
movzx eax, al
movzx eax, byte [eax + edx]
xor ecx, ecx
add esi, 1
sub edi, 1
sub eax, ecx
jmp 0x4766ff
mov edx, dword [0x58b5d0]
movzx eax, al
movzx eax, byte [eax + edx]
movzx ecx, cl
sub eax, ecx
add esi, 1
sub edi, 1
mov ecx, 1
add dword [esp + 0x14], ecx
sub dword [esp + 0x20], ecx
test eax, eax
je 0x4763f3
jge 0x47672a
mov edx, dword [esp + 0x2c]
add edx, 0xffffffff
mov dword [esp + 0x3c], edx
jmp 0x476735
mov eax, dword [esp + 0x2c]
add eax, 1
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 0x3c]
cmp dword [esp + 0x30], ecx
jg 0x4767a8
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x3c]
mov esi, dword [esp + 0x30]
mov ebx, dword [esp + 0x4c]
mov edi, dword [esp + 0x18]
jmp 0x4763d6
sub edx, edi
je 0x4767ac
test edx, edx
jge 0x476780
mov eax, dword [esp + 0x2c]
mov esi, dword [esp + 0x30]
add eax, 0xffffffff
mov dword [esp + 0x3c], eax
jmp 0x47678f
mov esi, dword [esp + 0x2c]
mov eax, dword [esp + 0x3c]
add esi, 1
mov dword [esp + 0x30], esi
cmp esi, eax
jg 0x4767a8
mov ecx, dword [esp + 0x10]
mov ebx, dword [esp + 0x4c]
mov edi, dword [esp + 0x18]
jmp 0x4763d6
xor eax, eax
jmp 0x4767b1
mov eax, 1
test eax, eax
jne 0x4767ea
mov eax, dword [esp + 0x38]
cmp eax, dword [esp + 0x24]
jne 0x4767db
mov edx, dword [esp + 0x44]
push edx
call fcn.004021c0
lea ecx, [eax + 0xff0]
mov dword [esp + 0x24], ecx
mov edx, dword [esp + 0x28]
mov ecx, dword [edx]
mov dword [eax], ecx
add eax, 4
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x28]
add eax, 4
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x28], eax
jne 0x476363
mov ebx, dword [esp + 0x38]
mov edi, dword [esp + 0x24]
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x476820
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov ecx, dword [esp + 0x28]
mov ecx, dword [ecx]
mov al, byte [ecx + 4]
cmp al, 0xff
jne 0x476844
mov eax, dword [ecx - 4]
jmp 0x476847
movzx eax, al
test eax, eax
lea edi, [eax + ecx + 5]
mov ebx, eax
mov dword [esp + 0x18], edi
mov dword [esp + 0x4c], ebx
je 0x476882
lea ecx, [ecx]
sub edi, 1
cmp byte [edi], 0x2e
je 0x476873
sub ebx, 1
jne 0x476860
mov dword [esp + 0x4c], ebx
jmp 0x47687e
add edi, 1
sub eax, ebx
mov ebx, eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x18], edi
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x14]
xor esi, esi
sub eax, 1
mov dword [esp + 0x30], esi
mov dword [esp + 0x3c], eax
sub eax, esi
cdq
sub eax, edx
sar eax, 1
add eax, esi
mov esi, dword [ecx + eax*8 + 0x1c]
mov dword [esp + 0x14], edi
mov edi, dword [ecx + eax*8 + 0x18]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x20], ebx
mov edx, dword [esp + 0x20]
test edx, edx
je 0x476c19
test edi, edi
je 0x476c19
mov ecx, dword [esp + 0x14]
mov al, byte [ecx]
test al, al
jns 0x476a9d
cmp edx, 2
jl 0x476906
mov bl, al
and bl, 0xe0
cmp bl, 0xc0
jne 0x476906
movzx ebx, byte [ecx + 1]
and eax, 0x1f
shl eax, 6
and ebx, 0x3f
or eax, ebx
add ecx, 2
sub edx, 2
jmp 0x476991
cmp edx, 3
jl 0x476943
mov bl, al
and bl, 0xf0
cmp bl, 0xe0
jne 0x476943
movzx ebx, byte [ecx + 1]
and eax, 0xf
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or eax, ebx
add ecx, 3
sub edx, 3
jmp 0x476991
cmp edx, 4
jl 0x476989
mov bl, al
and bl, 0xf8
cmp bl, 0xf0
jne 0x476989
movzx ebx, byte [ecx + 1]
and eax, 7
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [ecx + 3]
shl eax, 6
and ebx, 0x3f
or eax, ebx
add ecx, 4
sub edx, 4
jmp 0x476991
xor eax, eax
add ecx, 1
sub edx, 1
mov bl, byte [esi]
test bl, bl
mov dword [esp + 0x20], edx
mov dword [esp + 0x14], ecx
jns 0x476a87
cmp edi, 2
jl 0x4769dc
mov dl, bl
and dl, 0xe0
cmp dl, 0xc0
jne 0x4769dc
movzx ecx, byte [esi + 1]
and ebx, 0x1f
and ecx, 0x3f
shl ebx, 6
push eax
or ebx, ecx
add esi, 2
sub edi, 2
call fcn.00421a20
sub eax, ebx
jmp 0x476bcc
cmp edi, 3
jl 0x476a21
mov dl, bl
and dl, 0xf0
cmp dl, 0xe0
jne 0x476a21
movzx ecx, byte [esi + 1]
movzx edx, byte [esi + 2]
and ebx, 0xf
shl ebx, 6
and ecx, 0x3f
or ebx, ecx
and edx, 0x3f
shl ebx, 6
push eax
or ebx, edx
add esi, 3
sub edi, 3
call fcn.00421a20
sub eax, ebx
jmp 0x476bcc
cmp edi, 4
jl 0x476a72
mov cl, bl
and cl, 0xf8
cmp cl, 0xf0
jne 0x476a72
movzx edx, byte [esi + 1]
movzx ecx, byte [esi + 2]
and ebx, 7
shl ebx, 6
and edx, 0x3f
or ebx, edx
movzx edx, byte [esi + 3]
shl ebx, 6
and ecx, 0x3f
or ebx, ecx
and edx, 0x3f
shl ebx, 6
push eax
or ebx, edx
add esi, 4
sub edi, 4
call fcn.00421a20
sub eax, ebx
jmp 0x476bcc
push eax
xor ebx, ebx
add esi, 1
sub edi, 1
call fcn.00421a20
sub eax, ebx
jmp 0x476bcc
push eax
call fcn.00421a20
movzx ecx, bl
sub eax, ecx
add esi, 1
sub edi, 1
jmp 0x476bcc
mov cl, byte [esi]
test cl, cl
jns 0x476ba7
cmp edi, 2
jl 0x476ae7
mov dl, cl
and dl, 0xe0
cmp dl, 0xc0
jne 0x476ae7
movzx edx, byte [esi + 1]
and ecx, 0x1f
and edx, 0x3f
shl ecx, 6
movzx eax, al
or ecx, edx
mov edx, dword [0x58b5d4]
movzx eax, byte [eax + edx]
add esi, 2
sub edi, 2
sub eax, ecx
jmp 0x476bbf
cmp edi, 3
jl 0x476b33
mov dl, cl
and dl, 0xf0
cmp dl, 0xe0
jne 0x476b33
movzx edx, byte [esi + 1]
and ecx, 0xf
and edx, 0x3f
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 2]
and edx, 0x3f
shl ecx, 6
movzx eax, al
or ecx, edx
mov edx, dword [0x58b5d4]
movzx eax, byte [eax + edx]
add esi, 3
sub edi, 3
sub eax, ecx
jmp 0x476bbf
cmp edi, 4
jl 0x476b8b
mov dl, cl
and dl, 0xf8
cmp dl, 0xf0
jne 0x476b8b
movzx edx, byte [esi + 1]
and ecx, 7
and edx, 0x3f
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 2]
and edx, 0x3f
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 3]
and edx, 0x3f
shl ecx, 6
movzx eax, al
or ecx, edx
mov edx, dword [0x58b5d4]
movzx eax, byte [eax + edx]
add esi, 4
sub edi, 4
sub eax, ecx
jmp 0x476bbf
mov edx, dword [0x58b5d4]
movzx eax, al
movzx eax, byte [eax + edx]
xor ecx, ecx
add esi, 1
sub edi, 1
sub eax, ecx
jmp 0x476bbf
mov edx, dword [0x58b5d4]
movzx eax, al
movzx eax, byte [eax + edx]
movzx ecx, cl
sub eax, ecx
add esi, 1
sub edi, 1
mov ecx, 1
add dword [esp + 0x14], ecx
sub dword [esp + 0x20], ecx
test eax, eax
je 0x4768b3
jge 0x476be7
mov edx, dword [esp + 0x2c]
add edx, 0xffffffff
mov dword [esp + 0x3c], edx
jmp 0x476bf2
mov eax, dword [esp + 0x2c]
add eax, 1
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 0x3c]
cmp dword [esp + 0x30], ecx
jg 0x476c65
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x3c]
mov esi, dword [esp + 0x30]
mov ebx, dword [esp + 0x4c]
mov edi, dword [esp + 0x18]
jmp 0x476896
sub edx, edi
je 0x476c69
test edx, edx
jge 0x476c3d
mov eax, dword [esp + 0x2c]
mov esi, dword [esp + 0x30]
add eax, 0xffffffff
mov dword [esp + 0x3c], eax
jmp 0x476c4c
mov esi, dword [esp + 0x2c]
mov eax, dword [esp + 0x3c]
add esi, 1
mov dword [esp + 0x30], esi
cmp esi, eax
jg 0x476c65
mov ecx, dword [esp + 0x10]
mov ebx, dword [esp + 0x4c]
mov edi, dword [esp + 0x18]
jmp 0x476896
xor eax, eax
jmp 0x476c6e
mov eax, 1
test eax, eax
jne 0x476ca7
mov eax, dword [esp + 0x38]
cmp eax, dword [esp + 0x24]
jne 0x476c98
mov edx, dword [esp + 0x44]
push edx
call fcn.004021c0
lea ecx, [eax + 0xff0]
mov dword [esp + 0x24], ecx
mov edx, dword [esp + 0x28]
mov ecx, dword [edx]
mov dword [eax], ecx
add eax, 4
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x28]
add eax, 4
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x28], eax
jne 0x476820
mov ebx, dword [esp + 0x38]
mov edi, dword [esp + 0x24]
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov ecx, dword [esp + 0x28]
mov ecx, dword [ecx]
mov al, byte [ecx + 4]
cmp al, 0xff
jne 0x476cf7
mov eax, dword [ecx - 4]
jmp 0x476cfa
movzx eax, al
test eax, eax
lea edi, [ecx + eax + 5]
mov ebx, eax
mov dword [esp + 0x18], edi
mov dword [esp + 0x4c], ebx
je 0x476d32
sub edi, 1
cmp byte [edi], 0x2e
je 0x476d23
sub ebx, 1
jne 0x476d10
mov dword [esp + 0x4c], ebx
jmp 0x476d2e
add edi, 1
sub eax, ebx
mov ebx, eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x18], edi
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x14]
xor esi, esi
sub eax, 1
mov dword [esp + 0x30], esi
mov dword [esp + 0x3c], eax
sub eax, esi
cdq
sub eax, edx
sar eax, 1
add eax, esi
mov esi, dword [ecx + eax*8 + 0x1c]
mov dword [esp + 0x14], edi
mov edi, dword [ecx + eax*8 + 0x18]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x20], ebx
mov edx, dword [esp + 0x20]
test edx, edx
je 0x4770ce
test edi, edi
je 0x4770ce
mov ecx, dword [esp + 0x14]
mov al, byte [ecx]
test al, al
jns 0x476f54
cmp edx, 2
jl 0x476db6
mov bl, al
and bl, 0xe0
cmp bl, 0xc0
jne 0x476db6
movzx ebx, byte [ecx + 1]
and eax, 0x1f
shl eax, 6
and ebx, 0x3f
or eax, ebx
add ecx, 2
sub edx, 2
jmp 0x476e44
cmp edx, 3
jl 0x476df3
mov bl, al
and bl, 0xf0
cmp bl, 0xe0
jne 0x476df3
movzx ebx, byte [ecx + 1]
and eax, 0xf
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or eax, ebx
add ecx, 3
sub edx, 3
jmp 0x476e44
cmp edx, 4
jl 0x476e3c
mov bl, al
and bl, 0xf8
cmp bl, 0xf0
jne 0x476e3c
movzx ebx, byte [ecx + 1]
and eax, 7
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [ecx + 3]
shl eax, 6
and ebx, 0x3f
or eax, ebx
add ecx, 4
sub edx, 4
jmp 0x476e44
xor eax, eax
add ecx, 1
sub edx, 1
mov bl, byte [esi]
test bl, bl
mov dword [esp + 0x20], edx
mov dword [esp + 0x14], ecx
jns 0x476f3e
cmp edi, 2
jl 0x476e8f
mov dl, bl
and dl, 0xe0
cmp dl, 0xc0
jne 0x476e8f
movzx ecx, byte [esi + 1]
and ebx, 0x1f
and ecx, 0x3f
shl ebx, 6
push eax
or ebx, ecx
add esi, 2
sub edi, 2
call fcn.00409910
sub eax, ebx
jmp 0x47707e
cmp edi, 3
jl 0x476ed6
mov dl, bl
and dl, 0xf0
cmp dl, 0xe0
jne 0x476ed6
movzx ecx, byte [esi + 1]
movzx edx, byte [esi + 2]
and ecx, 0x3f
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
and edx, 0x3f
or ecx, edx
push eax
mov ebx, ecx
add esi, 3
sub edi, 3
call fcn.00409910
sub eax, ebx
jmp 0x47707e
cmp edi, 4
jl 0x476f29
mov cl, bl
and cl, 0xf8
cmp cl, 0xf0
jne 0x476f29
movzx edx, byte [esi + 1]
movzx ecx, byte [esi + 2]
and edx, 0x3f
and ebx, 7
shl ebx, 6
or edx, ebx
shl edx, 6
and ecx, 0x3f
or edx, ecx
movzx ecx, byte [esi + 3]
shl edx, 6
and ecx, 0x3f
or edx, ecx
push eax
mov ebx, edx
add esi, 4
sub edi, 4
call fcn.00409910
sub eax, ebx
jmp 0x47707e
push eax
xor ebx, ebx
add esi, 1
sub edi, 1
call fcn.00409910
sub eax, ebx
jmp 0x47707e
push eax
call fcn.00409910
movzx edx, bl
sub eax, edx
add esi, 1
sub edi, 1
jmp 0x47707e
mov cl, byte [esi]
test cl, cl
jns 0x47705a
cmp edi, 2
jl 0x476f9d
mov dl, cl
and dl, 0xe0
cmp dl, 0xc0
jne 0x476f9d
movzx edx, byte [esi + 1]
and ecx, 0x1f
and edx, 0x3f
shl ecx, 6
or ecx, edx
movzx edx, al
mov eax, dword [0x58b5d0]
movzx eax, byte [edx + eax]
add esi, 2
sub edi, 2
sub eax, ecx
jmp 0x477071
cmp edi, 3
jl 0x476fe8
mov dl, cl
and dl, 0xf0
cmp dl, 0xe0
jne 0x476fe8
movzx edx, byte [esi + 1]
and ecx, 0xf
shl ecx, 6
and edx, 0x3f
or edx, ecx
movzx ecx, byte [esi + 2]
shl edx, 6
and ecx, 0x3f
or ecx, edx
movzx edx, al
mov eax, dword [0x58b5d0]
movzx eax, byte [edx + eax]
add esi, 3
sub edi, 3
sub eax, ecx
jmp 0x477071
cmp edi, 4
jl 0x47703f
mov dl, cl
and dl, 0xf8
cmp dl, 0xf0
jne 0x47703f
movzx edx, byte [esi + 1]
and ecx, 7
shl ecx, 6
and edx, 0x3f
or edx, ecx
movzx ecx, byte [esi + 2]
and ecx, 0x3f
shl edx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
shl edx, 6
and ecx, 0x3f
or ecx, edx
movzx edx, al
mov eax, dword [0x58b5d0]
movzx eax, byte [edx + eax]
add esi, 4
sub edi, 4
sub eax, ecx
jmp 0x477071
movzx edx, al
mov eax, dword [0x58b5d0]
movzx eax, byte [edx + eax]
xor ecx, ecx
add esi, 1
sub edi, 1
sub eax, ecx
jmp 0x477071
movzx edx, al
mov eax, dword [0x58b5d0]
movzx eax, byte [edx + eax]
movzx ecx, cl
sub eax, ecx
add esi, 1
sub edi, 1
mov ecx, 1
add dword [esp + 0x14], ecx
sub dword [esp + 0x20], ecx
test eax, eax
je 0x476d63
jge 0x47709c
mov edx, dword [esp + 0x2c]
add edx, 0xffffffff
mov dword [esp + 0x3c], edx
jmp 0x4770a7
mov eax, dword [esp + 0x2c]
add eax, 1
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 0x3c]
cmp dword [esp + 0x30], ecx
jg 0x47711a
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x3c]
mov esi, dword [esp + 0x30]
mov ebx, dword [esp + 0x4c]
mov edi, dword [esp + 0x18]
jmp 0x476d46
sub edx, edi
je 0x477121
test edx, edx
jge 0x4770f2
mov eax, dword [esp + 0x2c]
mov esi, dword [esp + 0x30]
add eax, 0xffffffff
mov dword [esp + 0x3c], eax
jmp 0x477101
mov esi, dword [esp + 0x2c]
mov eax, dword [esp + 0x3c]
add esi, 1
mov dword [esp + 0x30], esi
cmp esi, eax
jg 0x47711a
mov ecx, dword [esp + 0x10]
mov ebx, dword [esp + 0x4c]
mov edi, dword [esp + 0x18]
jmp 0x476d46
xor eax, eax
jmp 0x477126
mov eax, 1
test eax, eax
je 0x47715f
mov eax, dword [esp + 0x38]
cmp eax, dword [esp + 0x24]
jne 0x477150
mov edx, dword [esp + 0x44]
push edx
call fcn.004021c0
lea ecx, [eax + 0xff0]
mov dword [esp + 0x24], ecx
mov edx, dword [esp + 0x28]
mov ecx, dword [edx]
mov dword [eax], ecx
add eax, 4
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x28]
add eax, 4
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x28], eax
jne 0x476cd3
mov ebx, dword [esp + 0x38]
mov edi, dword [esp + 0x24]
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov ecx, dword [esi]
mov al, byte [ecx + 4]
cmp al, 0xff
jne 0x4771af
mov eax, dword [ecx - 4]
jmp 0x4771b2
movzx eax, al
test eax, eax
lea ecx, [ecx + eax + 5]
mov edi, eax
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], edi
je 0x4771f9
jmp 0x4771d0
sub ecx, 1
cmp byte [ecx], 0x2e
je 0x4771ea
sub edi, 1
jne 0x4771d0
mov dword [esp + 0x30], edi
jmp 0x4771f5
add ecx, 1
sub eax, edi
mov edi, eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x2c], ecx
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x14]
xor ecx, ecx
sub eax, 1
mov dword [esp + 0x14], ecx
mov dword [esp + 0x20], eax
lea ecx, [ecx]
sub eax, ecx
cdq
sub eax, edx
mov edx, dword [esp + 0x10]
sar eax, 1
add eax, ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x48], edi
mov edi, dword [edx + eax*8 + 0x18]
mov dword [esp + 0x4c], edi
mov edi, dword [edx + eax*8 + 0x1c]
mov edx, dword [esp + 0x48]
sub edi, ecx
mov dword [esp + 0x50], edi
jmp 0x477240
test edx, edx
je 0x477297
cmp dword [esp + 0x4c], 0
je 0x477297
movzx edi, byte [ecx + edi]
movzx edx, byte [ecx]
sub edx, edi
jne 0x4772a1
mov edx, dword [esp + 0x48]
sub dword [esp + 0x4c], 1
mov edi, dword [esp + 0x50]
add ecx, 1
sub edx, 1
mov dword [esp + 0x48], edx
jmp 0x477240
lea ecx, [eax + 1]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x14], ecx
cmp ecx, eax
jg 0x4772b2
mov edi, dword [esp + 0x30]
jmp 0x477210
sub edx, dword [esp + 0x4c]
je 0x4772b9
test edx, edx
jge 0x47727b
mov ecx, dword [esp + 0x14]
add eax, 0xffffffff
mov dword [esp + 0x20], eax
jmp 0x477286
xor eax, eax
jmp 0x4772be
mov eax, 1
test eax, eax
je 0x4772f1
cmp ebx, dword [esp + 0x24]
jne 0x4772e6
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea ecx, [ebx + 0xff0]
mov dword [esp + 0x24], ecx
mov edx, dword [esi]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x47718b
mov edi, dword [esp + 0x24]
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x488888
mov edx, dword [esp + 0x28]
mov ecx, dword [edx]
mov al, byte [ecx + 4]
cmp al, 0xff
jne 0x47733c
mov eax, dword [ecx - 4]
jmp 0x47733f
movzx eax, al
test eax, eax
lea edi, [eax + ecx + 5]
mov ebx, eax
mov dword [esp + 0x4c], edi
mov dword [esp + 0x18], ebx
je 0x477389
jmp 0x477360
sub edi, 1
cmp byte [edi], 0x2e
je 0x47737a
sub ebx, 1
jne 0x477360
mov dword [esp + 0x18], ebx
jmp 0x477385
add edi, 1
sub eax, ebx
mov ebx, eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x4c], edi
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x14]
xor esi, esi
sub eax, 1
mov dword [esp + 0x30], esi
mov dword [esp + 0x3c], eax
lea ecx, [ecx]
sub eax, esi
cdq
sub eax, edx
sar eax, 1
add eax, esi
mov esi, dword [ecx + eax*8 + 0x1c]
mov dword [esp + 0x14], edi
mov edi, dword [ecx + eax*8 + 0x18]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x20], ebx
lea ecx, [ecx]
mov edx, dword [esp + 0x20]
test edx, edx
je 0x47772b
test edi, edi
je 0x47772b
mov ecx, dword [esp + 0x14]
mov al, byte [ecx]
test al, al
jns 0x4775b1
cmp edx, 2
jl 0x477413
mov bl, al
and bl, 0xe0
cmp bl, 0xc0
jne 0x477413
movzx ebx, byte [ecx + 1]
and eax, 0x1f
and ebx, 0x3f
shl eax, 6
or eax, ebx
add ecx, 2
sub edx, 2
jmp 0x4774a1
cmp edx, 3
jl 0x477450
mov bl, al
and bl, 0xf0
cmp bl, 0xe0
jne 0x477450
movzx ebx, byte [ecx + 1]
and eax, 0xf
shl eax, 6
and ebx, 0x3f
or ebx, eax
movzx eax, byte [ecx + 2]
shl ebx, 6
and eax, 0x3f
or eax, ebx
add ecx, 3
sub edx, 3
jmp 0x4774a1
cmp edx, 4
jl 0x477499
mov bl, al
and bl, 0xf8
cmp bl, 0xf0
jne 0x477499
movzx ebx, byte [ecx + 1]
and eax, 7
shl eax, 6
and ebx, 0x3f
or ebx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 3]
shl ebx, 6
and eax, 0x3f
or eax, ebx
add ecx, 4
sub edx, 4
jmp 0x4774a1
xor eax, eax
add ecx, 1
sub edx, 1
mov bl, byte [esi]
test bl, bl
mov dword [esp + 0x20], edx
mov dword [esp + 0x14], ecx
jns 0x47759b
cmp edi, 2
jl 0x4774ec
mov cl, bl
and cl, 0xe0
cmp cl, 0xc0
jne 0x4774ec
movzx edx, byte [esi + 1]
and ebx, 0x1f
and edx, 0x3f
shl ebx, 6
push eax
or ebx, edx
add esi, 2
sub edi, 2
call fcn.00409910
sub eax, ebx
jmp 0x4776db
cmp edi, 3
jl 0x477533
mov cl, bl
and cl, 0xf0
cmp cl, 0xe0
jne 0x477533
movzx edx, byte [esi + 1]
movzx ecx, byte [esi + 2]
and edx, 0x3f
and ebx, 0xf
shl ebx, 6
or edx, ebx
shl edx, 6
and ecx, 0x3f
or edx, ecx
push eax
mov ebx, edx
add esi, 3
sub edi, 3
call fcn.00409910
sub eax, ebx
jmp 0x4776db
cmp edi, 4
jl 0x477586
mov dl, bl
and dl, 0xf8
cmp dl, 0xf0
jne 0x477586
movzx ecx, byte [esi + 1]
movzx edx, byte [esi + 2]
and ecx, 0x3f
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
push eax
mov ebx, ecx
add esi, 4
sub edi, 4
call fcn.00409910
sub eax, ebx
jmp 0x4776db
push eax
xor ebx, ebx
add esi, 1
sub edi, 1
call fcn.00409910
sub eax, ebx
jmp 0x4776db
push eax
call fcn.00409910
movzx ecx, bl
sub eax, ecx
add esi, 1
sub edi, 1
jmp 0x4776db
mov cl, byte [esi]
test cl, cl
jns 0x4776b7
cmp edi, 2
jl 0x4775fa
mov dl, cl
and dl, 0xe0
cmp dl, 0xc0
jne 0x4775fa
movzx edx, byte [esi + 1]
and ecx, 0x1f
and edx, 0x3f
shl ecx, 6
or ecx, edx
movzx edx, al
mov eax, dword [0x58b5d0]
movzx eax, byte [edx + eax]
add esi, 2
sub edi, 2
sub eax, ecx
jmp 0x4776ce
cmp edi, 3
jl 0x477645
mov dl, cl
and dl, 0xf0
cmp dl, 0xe0
jne 0x477645
movzx edx, byte [esi + 1]
and ecx, 0xf
shl ecx, 6
and edx, 0x3f
or edx, ecx
movzx ecx, byte [esi + 2]
shl edx, 6
and ecx, 0x3f
or ecx, edx
movzx edx, al
mov eax, dword [0x58b5d0]
movzx eax, byte [edx + eax]
add esi, 3
sub edi, 3
sub eax, ecx
jmp 0x4776ce
cmp edi, 4
jl 0x47769c
mov dl, cl
and dl, 0xf8
cmp dl, 0xf0
jne 0x47769c
movzx edx, byte [esi + 1]
and ecx, 7
shl ecx, 6
and edx, 0x3f
or edx, ecx
movzx ecx, byte [esi + 2]
and ecx, 0x3f
shl edx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
shl edx, 6
and ecx, 0x3f
or ecx, edx
movzx edx, al
mov eax, dword [0x58b5d0]
movzx eax, byte [edx + eax]
add esi, 4
sub edi, 4
sub eax, ecx
jmp 0x4776ce
movzx edx, al
mov eax, dword [0x58b5d0]
movzx eax, byte [edx + eax]
xor ecx, ecx
add esi, 1
sub edi, 1
sub eax, ecx
jmp 0x4776ce
movzx edx, al
mov eax, dword [0x58b5d0]
movzx eax, byte [edx + eax]
movzx ecx, cl
sub eax, ecx
add esi, 1
sub edi, 1
mov ecx, 1
add dword [esp + 0x14], ecx
sub dword [esp + 0x20], ecx
test eax, eax
je 0x4773c0
jge 0x4776f9
mov edx, dword [esp + 0x2c]
add edx, 0xffffffff
mov dword [esp + 0x3c], edx
jmp 0x477704
mov eax, dword [esp + 0x2c]
add eax, 1
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 0x3c]
cmp dword [esp + 0x30], ecx
jg 0x477777
mov ecx, dword [esp + 0x10]
mov esi, dword [esp + 0x30]
mov eax, dword [esp + 0x3c]
mov edi, dword [esp + 0x4c]
mov ebx, dword [esp + 0x18]
jmp 0x4773a0
sub edx, edi
je 0x47777e
test edx, edx
jge 0x47774f
mov eax, dword [esp + 0x2c]
mov esi, dword [esp + 0x30]
add eax, 0xffffffff
mov dword [esp + 0x3c], eax
jmp 0x47775e
mov esi, dword [esp + 0x2c]
mov eax, dword [esp + 0x3c]
add esi, 1
mov dword [esp + 0x30], esi
cmp esi, eax
jg 0x477777
mov ecx, dword [esp + 0x10]
mov edi, dword [esp + 0x4c]
mov ebx, dword [esp + 0x18]
jmp 0x4773a0
xor eax, eax
jmp 0x477783
mov eax, 1
test eax, eax
jne 0x4777bc
mov eax, dword [esp + 0x38]
cmp eax, dword [esp + 0x24]
jne 0x4777ad
mov edx, dword [esp + 0x44]
push edx
call fcn.004021c0
lea ecx, [eax + 0xff0]
mov dword [esp + 0x24], ecx
mov edx, dword [esp + 0x28]
mov ecx, dword [edx]
mov dword [eax], ecx
add eax, 4
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x28]
add eax, 4
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x28], eax
jne 0x477311
mov ebx, dword [esp + 0x38]
mov edi, dword [esp + 0x24]
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov ecx, dword [esi]
mov al, byte [ecx + 4]
cmp al, 0xff
jne 0x47780f
mov eax, dword [ecx - 4]
jmp 0x477812
movzx eax, al
test eax, eax
lea ecx, [eax + ecx + 5]
mov edi, eax
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], edi
je 0x477859
jmp 0x477830
sub ecx, 1
cmp byte [ecx], 0x2e
je 0x47784a
sub edi, 1
jne 0x477830
mov dword [esp + 0x30], edi
jmp 0x477855
add ecx, 1
sub eax, edi
mov edi, eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x2c], ecx
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x14]
xor ecx, ecx
sub eax, 1
mov dword [esp + 0x14], ecx
mov dword [esp + 0x20], eax
lea ecx, [ecx]
sub eax, ecx
cdq
sub eax, edx
mov edx, dword [esp + 0x10]
sar eax, 1
add eax, ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x48], edi
mov edi, dword [edx + eax*8 + 0x18]
mov dword [esp + 0x4c], edi
mov edi, dword [edx + eax*8 + 0x1c]
mov edx, dword [esp + 0x48]
sub edi, ecx
mov dword [esp + 0x50], edi
jmp 0x4778a0
test edx, edx
je 0x4778f7
cmp dword [esp + 0x4c], 0
je 0x4778f7
movzx edi, byte [ecx + edi]
movzx edx, byte [ecx]
sub edx, edi
jne 0x477901
mov edx, dword [esp + 0x48]
sub dword [esp + 0x4c], 1
mov edi, dword [esp + 0x50]
add ecx, 1
sub edx, 1
mov dword [esp + 0x48], edx
jmp 0x4778a0
lea ecx, [eax + 1]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x14], ecx
cmp ecx, eax
jg 0x477912
mov edi, dword [esp + 0x30]
jmp 0x477870
sub edx, dword [esp + 0x4c]
je 0x477919
test edx, edx
jge 0x4778db
mov ecx, dword [esp + 0x14]
add eax, 0xffffffff
mov dword [esp + 0x20], eax
jmp 0x4778e6
xor eax, eax
jmp 0x47791e
mov eax, 1
test eax, eax
jne 0x477951
cmp ebx, dword [esp + 0x24]
jne 0x477946
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea ecx, [ebx + 0xff0]
mov dword [esp + 0x24], ecx
mov edx, dword [esi]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x4777e8
mov edi, dword [esp + 0x24]
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
mov edi, dword [esp + 0x10]
jne 0x488888
mov ecx, dword [esi]
mov al, byte [ecx + 4]
cmp al, 0xff
jne 0x47799c
mov eax, dword [ecx - 4]
jmp 0x47799f
movzx eax, al
test eax, eax
lea ecx, [eax + ecx + 5]
mov edx, eax
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x2c], edx
je 0x4779dc
sub ecx, 1
cmp byte [ecx], 0x2e
je 0x4779cf
sub edx, 1
jne 0x4779b5
mov dword [esp + 0x2c], edx
jmp 0x4779d8
add ecx, 1
sub eax, edx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x4c], ecx
mov eax, dword [edi + 0x14]
xor ecx, ecx
sub eax, 1
mov dword [esp + 0x20], ecx
mov dword [esp + 0x30], eax
lea esp, [esp]
sub eax, ecx
cdq
sub eax, edx
mov edx, dword [esp + 0x2c]
sar eax, 1
add eax, ecx
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x48], edx
mov edx, dword [edi + eax*8 + 0x18]
mov dword [esp + 0x14], edx
mov edx, dword [edi + eax*8 + 0x1c]
sub edx, ecx
mov dword [esp + 0x50], edx
mov edx, dword [esp + 0x48]
jmp 0x477a20
test edx, edx
je 0x477a81
cmp dword [esp + 0x14], 0
je 0x477a81
movzx edx, byte [ecx]
mov edi, dword [0x58b5d0]
movzx edx, byte [edx + edi]
mov edi, dword [esp + 0x50]
movzx edi, byte [ecx + edi]
sub edx, edi
jne 0x477a8b
mov edx, dword [esp + 0x48]
sub dword [esp + 0x14], 1
add ecx, 1
sub edx, 1
mov dword [esp + 0x48], edx
jmp 0x477a20
lea ecx, [eax + 1]
mov eax, dword [esp + 0x30]
mov dword [esp + 0x20], ecx
cmp ecx, eax
jg 0x477a9c
mov edi, dword [esp + 0x10]
jmp 0x4779f0
sub edx, dword [esp + 0x14]
je 0x477aa3
test edx, edx
jge 0x477a65
mov ecx, dword [esp + 0x20]
add eax, 0xffffffff
mov dword [esp + 0x30], eax
jmp 0x477a70
xor eax, eax
jmp 0x477aa8
mov eax, 1
test eax, eax
je 0x477adb
cmp ebx, dword [esp + 0x24]
jne 0x477ad0
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea ecx, [ebx + 0xff0]
mov dword [esp + 0x24], ecx
mov edx, dword [esi]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x477971
mov edi, dword [esp + 0x24]
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x477b00
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
mov edi, dword [esp + 0x10]
jne 0x488888
mov ecx, dword [esi]
mov al, byte [ecx + 4]
cmp al, 0xff
jne 0x477b2b
mov eax, dword [ecx - 4]
jmp 0x477b2e
movzx eax, al
test eax, eax
lea ecx, [eax + ecx + 5]
mov edx, eax
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x2c], edx
je 0x477b6b
sub ecx, 1
cmp byte [ecx], 0x2e
je 0x477b5e
sub edx, 1
jne 0x477b44
mov dword [esp + 0x2c], edx
jmp 0x477b67
add ecx, 1
sub eax, edx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x4c], ecx
mov eax, dword [edi + 0x14]
xor ecx, ecx
sub eax, 1
mov dword [esp + 0x20], ecx
mov dword [esp + 0x30], eax
jmp 0x477b80
sub eax, ecx
cdq
sub eax, edx
mov edx, dword [esp + 0x2c]
sar eax, 1
add eax, ecx
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x48], edx
mov edx, dword [edi + eax*8 + 0x18]
mov dword [esp + 0x14], edx
mov edx, dword [edi + eax*8 + 0x1c]
sub edx, ecx
mov dword [esp + 0x50], edx
mov edx, dword [esp + 0x48]
jmp 0x477bb0
test edx, edx
je 0x477c11
cmp dword [esp + 0x14], 0
je 0x477c11
movzx edx, byte [ecx]
mov edi, dword [0x58b5d0]
movzx edx, byte [edx + edi]
mov edi, dword [esp + 0x50]
movzx edi, byte [ecx + edi]
sub edx, edi
jne 0x477c1b
mov edx, dword [esp + 0x48]
sub dword [esp + 0x14], 1
add ecx, 1
sub edx, 1
mov dword [esp + 0x48], edx
jmp 0x477bb0
lea ecx, [eax + 1]
mov eax, dword [esp + 0x30]
mov dword [esp + 0x20], ecx
cmp ecx, eax
jg 0x477c2c
mov edi, dword [esp + 0x10]
jmp 0x477b80
sub edx, dword [esp + 0x14]
je 0x477c33
test edx, edx
jge 0x477bf5
mov ecx, dword [esp + 0x20]
add eax, 0xffffffff
mov dword [esp + 0x30], eax
jmp 0x477c00
xor eax, eax
jmp 0x477c38
mov eax, 1
test eax, eax
jne 0x477c6b
cmp ebx, dword [esp + 0x24]
jne 0x477c60
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea ecx, [ebx + 0xff0]
mov dword [esp + 0x24], ecx
mov edx, dword [esi]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x477b00
mov edi, dword [esp + 0x24]
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x477c90
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x488888
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x477cb5
mov ecx, dword [eax - 4]
jmp 0x477cb8
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 0x477d03
cmp ebx, edi
jne 0x477cf8
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x477c90
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x477d20
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x477d41
mov ecx, dword [eax - 4]
jmp 0x477d44
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 0x477d8f
cmp ebx, edi
jne 0x477d84
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x477d20
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x477db0
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
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 0x477e1e
cmp ebx, edi
jne 0x477e13
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov edx, dword [esi]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x477db0
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x477e40
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x488888
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 0x477eae
cmp ebx, edi
jne 0x477ea3
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov edx, dword [esi]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x477e40
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x477ed0
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x488888
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x477ef1
mov ecx, dword [eax - 4]
jmp 0x477ef4
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 0x477f3f
cmp ebx, edi
jne 0x477f34
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x477ed0
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x477f60
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x477f81
mov ecx, dword [eax - 4]
jmp 0x477f84
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 0x477fcb
cmp ebx, edi
jne 0x477fc0
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x477f60
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
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 0x478051
cmp ebx, edi
jne 0x478046
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov edx, dword [esi]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x477fe3
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
lea esp, [esp]
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x488888
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 0x4780da
cmp ebx, edi
jne 0x4780cf
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov edx, dword [esi]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x478070
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x488888
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x478113
mov ecx, dword [eax - 4]
jmp 0x478116
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 0x478161
cmp ebx, edi
jne 0x478156
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x4780f2
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
lea esp, [esp]
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x4781a1
mov edx, dword [eax - 4]
jmp 0x4781a4
movzx edx, cl
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx + 0x14]
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x10]
add ecx, 0x18
cmp dword [esp + 0x48], edx
jg 0x4781ed
mov edx, dword [esp + 0x48]
sub eax, ecx
lea edi, [ecx + edx]
add eax, 5
cmp ecx, edi
je 0x4781de
mov dl, byte [eax + ecx]
cmp dl, byte [ecx]
jne 0x4781e9
add ecx, 1
cmp ecx, edi
jne 0x4781d0
mov edi, dword [esp + 0x24]
mov eax, 1
jmp 0x4781ef
mov edi, dword [esp + 0x24]
xor eax, eax
test eax, eax
je 0x478220
cmp ebx, edi
jne 0x478215
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x478180
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
lea esp, [esp]
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
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 0x4782ae
cmp ebx, edi
jne 0x4782a3
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov edx, dword [esi]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x478240
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x4782d0
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x488888
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 0x47832d
mov edi, dword [esp + 0x78]
add ecx, eax
sub edi, eax
cmp eax, ecx
je 0x47831e
nop
mov dl, byte [edi + eax]
cmp dl, byte [eax]
jne 0x478329
add eax, 1
cmp eax, ecx
jne 0x478310
mov edi, dword [esp + 0x24]
mov eax, 1
jmp 0x47832f
mov edi, dword [esp + 0x24]
xor eax, eax
test eax, eax
je 0x47835c
cmp ebx, edi
jne 0x478351
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x4782d0
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x478380
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x4783a1
mov ecx, dword [eax - 4]
jmp 0x4783a4
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 0x4783eb
cmp ebx, edi
jne 0x4783e0
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x478380
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x478424
mov edx, dword [eax - 4]
jmp 0x478427
movzx edx, cl
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx + 0x14]
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x10]
add ecx, 0x18
cmp dword [esp + 0x48], edx
jg 0x478470
mov edx, dword [esp + 0x48]
sub eax, ecx
lea edi, [ecx + edx]
add eax, 5
cmp ecx, edi
je 0x478461
mov dl, byte [eax + ecx]
cmp dl, byte [ecx]
jne 0x47846c
add ecx, 1
cmp ecx, edi
jne 0x478453
mov edi, dword [esp + 0x24]
mov eax, 1
jmp 0x478472
mov edi, dword [esp + 0x24]
xor eax, eax
test eax, eax
jne 0x4784a3
cmp ebx, edi
jne 0x478498
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x478403
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
nop
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
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 0x47852e
cmp ebx, edi
jne 0x478523
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov edx, dword [esi]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x4784c0
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x478550
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x488888
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 0x4785ad
mov edi, dword [esp + 0x78]
add ecx, eax
sub edi, eax
cmp eax, ecx
je 0x47859e
nop
mov dl, byte [edi + eax]
cmp dl, byte [eax]
jne 0x4785a9
add eax, 1
cmp eax, ecx
jne 0x478590
mov edi, dword [esp + 0x24]
mov eax, 1
jmp 0x4785af
mov edi, dword [esp + 0x24]
xor eax, eax
test eax, eax
jne 0x4785e0
cmp ebx, edi
jne 0x4785d5
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x478550
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
lea esp, [esp]
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x478621
mov edx, dword [eax - 4]
jmp 0x478624
movzx edx, cl
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx + 0x14]
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x10]
add ecx, 0x18
cmp dword [esp + 0x48], edx
jg 0x478686
mov edx, dword [esp + 0x48]
sub eax, ecx
lea edi, [ecx + edx]
add eax, 5
cmp ecx, edi
mov dword [esp + 0x50], eax
je 0x478677
mov eax, dword [0x58b5d0]
mov edx, dword [esp + 0x50]
movzx edx, byte [edx + ecx]
mov dl, byte [edx + eax]
cmp dl, byte [ecx]
jne 0x478682
add ecx, 1
cmp ecx, edi
jne 0x47865d
mov edi, dword [esp + 0x24]
mov eax, 1
jmp 0x478688
mov edi, dword [esp + 0x24]
xor eax, eax
test eax, eax
je 0x4786b9
cmp ebx, edi
jne 0x4786ae
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x478600
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x4786e0
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
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]
add eax, 0x18
cmp ecx, dword [esp + 0x70]
jg 0x478753
mov edi, dword [esp + 0x78]
add ecx, eax
sub edi, eax
cmp eax, ecx
mov dword [esp + 0x50], ecx
je 0x478744
mov ecx, dword [0x58b5d0]
lea esp, [esp]
movzx edx, byte [edi + eax]
mov dl, byte [edx + ecx]
cmp dl, byte [eax]
jne 0x47874f
add eax, 1
cmp eax, dword [esp + 0x50]
jne 0x478730
mov edi, dword [esp + 0x24]
mov eax, 1
jmp 0x478755
mov edi, dword [esp + 0x24]
xor eax, eax
test eax, eax
je 0x478782
cmp ebx, edi
jne 0x478777
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x4786e0
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov edi, edi
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x4787c1
mov edx, dword [eax - 4]
jmp 0x4787c4
movzx edx, cl
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx + 0x14]
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x10]
add ecx, 0x18
cmp dword [esp + 0x48], edx
jg 0x47881e
mov edx, dword [esp + 0x48]
sub eax, ecx
lea edi, [ecx + edx]
add eax, 5
cmp ecx, edi
mov dword [esp + 0x50], eax
je 0x47880f
mov eax, dword [0x58b5d0]
mov edx, dword [esp + 0x50]
movzx edx, byte [edx + ecx]
mov dl, byte [edx + eax]
cmp dl, byte [ecx]
jne 0x47881a
add ecx, 1
cmp ecx, edi
jne 0x4787f9
mov edi, dword [esp + 0x24]
mov eax, 1
jmp 0x478820
mov edi, dword [esp + 0x24]
xor eax, eax
test eax, eax
jne 0x47884d
cmp ebx, edi
jne 0x478842
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x4787a0
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
lea esp, [esp]
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
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]
add eax, 0x18
cmp ecx, dword [esp + 0x70]
jg 0x4788e3
mov edi, dword [esp + 0x78]
add ecx, eax
sub edi, eax
cmp eax, ecx
mov dword [esp + 0x50], ecx
je 0x4788d4
mov ecx, dword [0x58b5d0]
lea esp, [esp]
movzx edx, byte [edi + eax]
mov dl, byte [edx + ecx]
cmp dl, byte [eax]
jne 0x4788df
add eax, 1
cmp eax, dword [esp + 0x50]
jne 0x4788c0
mov edi, dword [esp + 0x24]
mov eax, 1
jmp 0x4788e5
mov edi, dword [esp + 0x24]
xor eax, eax
test eax, eax
jne 0x47890e
cmp ebx, edi
jne 0x478903
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x478870
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
lea ebx, [ebx]
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
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.004244d0
test eax, eax
je 0x47897f
cmp ebx, edi
jne 0x478974
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x478930
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x4789a0
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
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.00424ac0
test eax, eax
je 0x4789ef
cmp ebx, edi
jne 0x4789e4
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x4789a0
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x478a10
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
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.004244d0
test eax, eax
jne 0x478a5f
cmp ebx, edi
jne 0x478a54
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x478a10
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x478a80
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
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.00424ac0
test eax, eax
jne 0x478acf
cmp ebx, edi
jne 0x478ac4
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x478a80
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x478af0
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
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.004250b0
test eax, eax
je 0x478b3f
cmp ebx, edi
jne 0x478b34
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x478af0
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x478b60
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
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.00424220
test eax, eax
je 0x478baf
cmp ebx, edi
jne 0x478ba4
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x478b60
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x478bd0
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
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.004250b0
test eax, eax
jne 0x478c1f
cmp ebx, edi
jne 0x478c14
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x478bd0
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x478c40
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
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.00424220
test eax, eax
jne 0x478c8f
cmp ebx, edi
jne 0x478c84
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x478c40
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x478cb0
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
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.00424340
test eax, eax
je 0x478cff
cmp ebx, edi
jne 0x478cf4
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x478cb0
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x478d20
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
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.00424340
test eax, eax
jne 0x478d6f
cmp ebx, edi
jne 0x478d64
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x478d20
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x478d90
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
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 0x478ddf
cmp ebx, edi
jne 0x478dd4
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x478d90
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x478e00
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
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 0x478e4f
cmp ebx, edi
jne 0x478e44
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x478e00
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x478e70
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
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 0x478ebf
cmp ebx, edi
jne 0x478eb4
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x478e70
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x478ee0
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
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 0x478f2f
cmp ebx, edi
jne 0x478f24
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x478ee0
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x478f50
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
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 0x478f9f
cmp ebx, edi
jne 0x478f94
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x478f50
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x478fc0
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
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 0x47900f
cmp ebx, edi
jne 0x479004
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x478fc0
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x479030
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
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 0x47907f
cmp ebx, edi
jne 0x479074
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x479030
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x4790a0
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
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 0x4790ef
cmp ebx, edi
jne 0x4790e4
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x4790a0
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x479110
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
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 0x47915f
cmp ebx, edi
jne 0x479154
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x479110
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x479180
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
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 0x4791cf
cmp ebx, edi
jne 0x4791c4
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x479180
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x4791f0
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
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.00425860
test eax, eax
je 0x47923f
cmp ebx, edi
jne 0x479234
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x4791f0
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x479260
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
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.00425e70
test eax, eax
je 0x4792af
cmp ebx, edi
jne 0x4792a4
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x479260
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x4792d0
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
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.00425860
test eax, eax
jne 0x47931f
cmp ebx, edi
jne 0x479314
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x4792d0
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x479340
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
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.00425e70
test eax, eax
jne 0x47938f
cmp ebx, edi
jne 0x479384
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x479340
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x4793b0
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
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.00426480
test eax, eax
je 0x4793ff
cmp ebx, edi
jne 0x4793f4
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x4793b0
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x479420
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
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 0x47946f
cmp ebx, edi
jne 0x479464
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x479420
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x479490
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
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.00426480
test eax, eax
jne 0x4794df
cmp ebx, edi
jne 0x4794d4
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x479490
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x479500
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
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 0x47954f
cmp ebx, edi
jne 0x479544
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x479500
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x479570
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
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 0x4795bf
cmp ebx, edi
jne 0x4795b4
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x479570
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x4795e0
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
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 0x47962f
cmp ebx, edi
jne 0x479624
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x4795e0
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x479650
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
cmp ebx, edi
jne 0x47967c
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov edx, dword [esi]
mov dword [ebx], edx
add ebx, 4
add esi, 4
cmp esi, dword [esp + 0x1c]
mov dword [esp + 0x38], ebx
jne 0x479650
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
nop
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x488888
mov edx, dword [esi]
cmp dword [edx], ecx
jne 0x4796dd
cmp ebx, edi
jne 0x4796d2
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x4796a0
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x479700
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov ecx, dword [esi]
cmp dword [ecx], eax
je 0x47973d
cmp ebx, edi
jne 0x479732
mov edx, dword [esp + 0x44]
push edx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov eax, dword [esi]
mov dword [ebx], eax
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x479700
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x479760
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x488888
mov eax, dword [esi]
mov edx, dword [ecx]
push eax
push edx
call fcn.004268e0
test eax, eax
je 0x4797a6
cmp ebx, edi
jne 0x47979b
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x479760
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov edi, edi
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov ecx, dword [esi]
mov eax, dword [edx]
push ecx
push eax
call fcn.004268e0
test eax, eax
jne 0x479806
cmp ebx, edi
jne 0x4797fb
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov edx, dword [esi]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x4797c0
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov edi, edi
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x488888
mov edx, dword [esi]
mov ecx, dword [eax]
push edx
push ecx
call fcn.00426680
test eax, eax
je 0x479866
cmp ebx, edi
jne 0x47985b
mov edx, dword [esp + 0x44]
push edx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov eax, dword [esi]
mov dword [ebx], eax
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x479820
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov edi, edi
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x488888
mov eax, dword [esi]
mov edx, dword [ecx]
push eax
push edx
call fcn.00426680
test eax, eax
jne 0x4798c6
cmp ebx, edi
jne 0x4798bb
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x479880
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov edi, edi
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov ecx, dword [esi]
mov eax, dword [edx]
push ecx
push eax
call fcn.00426ae0
test eax, eax
je 0x479926
cmp ebx, edi
jne 0x47991b
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov edx, dword [esi]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x4798e0
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov edi, edi
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x488888
mov edx, dword [esi]
mov ecx, dword [eax]
push edx
push ecx
call fcn.00426ae0
test eax, eax
jne 0x479986
cmp ebx, edi
jne 0x47997b
mov edx, dword [esp + 0x44]
push edx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov eax, dword [esi]
mov dword [ebx], eax
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x479940
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov edi, edi
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x488888
mov eax, dword [esi]
mov edx, dword [ecx]
push eax
push edx
call fcn.00426d40
test eax, eax
je 0x4799e6
cmp ebx, edi
jne 0x4799db
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x4799a0
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov edi, edi
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov ecx, dword [esi]
mov eax, dword [edx]
push ecx
push eax
call fcn.00426d40
test eax, eax
jne 0x479a46
cmp ebx, edi
jne 0x479a3b
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov edx, dword [esi]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x479a00
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov edi, edi
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x488888
mov edx, dword [esi]
mov ecx, dword [eax]
push edx
push ecx
call fcn.00426fc0
test eax, eax
je 0x479aa6
cmp ebx, edi
jne 0x479a9b
mov edx, dword [esp + 0x44]
push edx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov eax, dword [esi]
mov dword [ebx], eax
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x479a60
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov edi, edi
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x488888
mov eax, dword [esi]
mov edx, dword [ecx]
push eax
push edx
call fcn.00426fc0
test eax, eax
jne 0x479b06
cmp ebx, edi
jne 0x479afb
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x479ac0
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov edi, edi
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov ecx, dword [esi]
mov eax, dword [edx]
push ecx
push eax
call fcn.004272a0
test eax, eax
je 0x479b66
cmp ebx, edi
jne 0x479b5b
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov edx, dword [esi]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x479b20
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov edi, edi
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x488888
mov edx, dword [esi]
mov ecx, dword [eax]
push edx
push ecx
call fcn.004272a0
test eax, eax
jne 0x479bc6
cmp ebx, edi
jne 0x479bbb
mov edx, dword [esp + 0x44]
push edx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov eax, dword [esi]
mov dword [ebx], eax
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x479b80
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov edi, edi
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x488888
mov eax, dword [esi]
mov edx, dword [ecx]
push eax
push edx
call fcn.00427520
test eax, eax
je 0x479c26
cmp ebx, edi
jne 0x479c1b
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x479be0
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov edi, edi
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov ecx, dword [esi]
mov eax, dword [edx]
push ecx
push eax
call fcn.00427520
test eax, eax
jne 0x479c86
cmp ebx, edi
jne 0x479c7b
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov edx, dword [esi]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x479c40
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x488888
mov eax, dword [esi]
cmp dword [eax], ecx
jne 0x479cca
cmp byte [eax + 4], 0xff
jne 0x479cc5
mov eax, dword [eax - 8]
jmp 0x479cea
mov eax, dword [eax - 4]
jmp 0x479cea
mov ecx, dword [eax]
mov eax, dword [ecx]
test eax, eax
je 0x479cda
mov ecx, eax
mov eax, dword [eax]
test eax, eax
jne 0x479cd2
cmp byte [ecx + 4], 0xff
jne 0x479ce5
mov ecx, dword [ecx - 8]
jmp 0x479ce8
mov ecx, dword [ecx - 4]
mov eax, ecx
mov eax, dword [eax + 4]
cmp eax, dword [edx + 0x14]
jb 0x479d20
cmp eax, dword [edx + 0x18]
ja 0x479d20
cmp ebx, edi
jne 0x479d15
mov edx, dword [esp + 0x44]
push edx
call fcn.004021c0
mov edx, dword [esp + 0x10]
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov eax, dword [esi]
mov dword [ebx], eax
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x479ca2
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x34]
mov eax, dword [ecx + 0x2e4]
test eax, eax
jne 0x488888
mov eax, dword [esi]
cmp dword [eax], 0
jne 0x479d69
cmp byte [eax + 4], 0xff
jne 0x479d64
mov eax, dword [eax - 8]
jmp 0x479d89
mov eax, dword [eax - 4]
jmp 0x479d89
mov ecx, dword [eax]
mov eax, dword [ecx]
test eax, eax
je 0x479d79
mov ecx, eax
mov eax, dword [eax]
test eax, eax
jne 0x479d71
cmp byte [ecx + 4], 0xff
jne 0x479d84
mov ecx, dword [ecx - 8]
jmp 0x479d87
mov ecx, dword [ecx - 4]
mov eax, ecx
mov eax, dword [eax + 4]
cmp eax, dword [edx + 0x14]
jb 0x479d96
cmp eax, dword [edx + 0x18]
jbe 0x479dbf
cmp ebx, edi
jne 0x479db4
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004021c0
mov edx, dword [esp + 0x10]
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov eax, dword [esi]
mov dword [ebx], eax
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x479d40
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x479de0
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x488888
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x479e01
mov ecx, dword [eax - 4]
jmp 0x479e04
movzx ecx, cl
push ecx
add eax, 5
push eax
call fcn.005222a0
mov ecx, dword [esp + 0x10]
cmp eax, dword [ecx + 0x14]
jl 0x479e43
mov edx, ecx
cmp eax, dword [edx + 0x18]
jg 0x479e43
cmp ebx, edi
jne 0x479e38
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x479de0
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x479e60
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov edi, dword [esi]
mov al, byte [edi + 4]
cmp al, 0xff
jne 0x479e80
mov eax, dword [edi - 4]
jmp 0x479e83
movzx eax, al
push eax
lea ecx, [edi + 5]
push ecx
call fcn.005222a0
mov edi, dword [edi]
test edi, edi
mov dword [esp + 0x48], eax
je 0x479ec2
mov al, byte [edi + 4]
cmp al, 0xff
jne 0x479ea3
mov eax, dword [edi - 4]
jmp 0x479ea6
movzx eax, al
push eax
lea edx, [edi + 5]
push edx
call fcn.005222a0
mov ecx, dword [esp + 0x48]
mov edi, dword [edi]
test edi, edi
lea edx, [ecx + eax + 1]
mov dword [esp + 0x48], edx
jne 0x479e97
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x10]
cmp eax, dword [ecx + 0x14]
jl 0x479efb
cmp eax, dword [ecx + 0x18]
jg 0x479efb
cmp ebx, dword [esp + 0x24]
jne 0x479ef0
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea ecx, [ebx + 0xff0]
mov dword [esp + 0x24], ecx
mov edx, dword [esi]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x479e60
mov edi, dword [esp + 0x24]
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x479f20
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x488888
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x479f41
mov ecx, dword [eax - 4]
jmp 0x479f44
movzx ecx, cl
push ecx
add eax, 5
push eax
call fcn.005222a0
mov edx, dword [esp + 0x10]
cmp eax, dword [edx + 0x14]
jl 0x479f5e
mov ecx, edx
cmp eax, dword [ecx + 0x18]
jle 0x479f83
cmp ebx, edi
jne 0x479f78
mov edx, dword [esp + 0x44]
push edx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov eax, dword [esi]
mov dword [ebx], eax
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x479f20
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x479fa0
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x488888
mov edi, dword [esi]
mov al, byte [edi + 4]
cmp al, 0xff
jne 0x479fc0
mov eax, dword [edi - 4]
jmp 0x479fc3
movzx eax, al
push eax
lea eax, [edi + 5]
push eax
call fcn.005222a0
mov edi, dword [edi]
test edi, edi
mov dword [esp + 0x48], eax
je 0x47a002
mov al, byte [edi + 4]
cmp al, 0xff
jne 0x479fe3
mov eax, dword [edi - 4]
jmp 0x479fe6
movzx eax, al
push eax
lea ecx, [edi + 5]
push ecx
call fcn.005222a0
mov edx, dword [esp + 0x48]
mov edi, dword [edi]
test edi, edi
lea eax, [edx + eax + 1]
mov dword [esp + 0x48], eax
jne 0x479fd7
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x10]
cmp eax, dword [ecx + 0x14]
jl 0x47a014
cmp eax, dword [ecx + 0x18]
jle 0x47a03b
cmp ebx, dword [esp + 0x24]
jne 0x47a030
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004021c0
mov ebx, eax
lea edx, [ebx + 0xff0]
mov dword [esp + 0x24], edx
mov eax, dword [esi]
mov dword [ebx], eax
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x479fa0
mov edi, dword [esp + 0x24]
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x47a060
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x488888
mov eax, dword [esi]
mov ecx, dword [esp + 0x10]
push eax
push ecx
call fcn.004283d0
test eax, eax
je 0x47a0a8
cmp ebx, edi
jne 0x47a09d
mov edx, dword [esp + 0x44]
push edx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov eax, dword [esi]
mov dword [ebx], eax
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x47a060
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x488888
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 0x47a10d
cmp ebx, edi
jne 0x47a102
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x47a0c0
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x47a130
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov ecx, dword [esi]
mov edx, dword [esp + 0x10]
push ecx
push edx
call fcn.004283d0
test eax, eax
jne 0x47a178
cmp ebx, edi
jne 0x47a16d
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x47a130
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
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 0x47a1dd
cmp ebx, edi
jne 0x47a1d2
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov edx, dword [esi]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x47a190
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov edx, dword [esp + 0x10]
lea esp, [esp]
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x488888
mov eax, dword [esi]
mov eax, dword [eax]
test eax, eax
je 0x47a229
lea ebx, [ebx]
mov eax, dword [eax]
add ecx, 1
test eax, eax
jne 0x47a220
cmp ecx, dword [edx + 0x14]
jl 0x47a25c
cmp ecx, dword [edx + 0x18]
jg 0x47a25c
cmp ebx, edi
jne 0x47a251
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004021c0
mov edx, dword [esp + 0x10]
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov eax, dword [esi]
mov dword [ebx], eax
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x47a200
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov edx, dword [esp + 0x10]
jmp 0x47a280
mov ecx, dword [esp + 0x34]
mov eax, dword [ecx + 0x2e4]
test eax, eax
jne 0x488888
mov eax, dword [esi]
mov eax, dword [eax]
xor ecx, ecx
test eax, eax
je 0x47a2a9
lea esp, [esp]
mov eax, dword [eax]
add ecx, 1
test eax, eax
jne 0x47a2a0
cmp ecx, dword [edx + 0x14]
jl 0x47a2b3
cmp ecx, dword [edx + 0x18]
jle 0x47a2dc
cmp ebx, edi
jne 0x47a2d1
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004021c0
mov edx, dword [esp + 0x10]
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov eax, dword [esi]
mov dword [ebx], eax
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x47a280
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x488888
mov eax, dword [esi]
mov ecx, dword [eax]
mov edx, dword [esp + 0x10]
cmp ecx, dword [edx + 0x1c]
jne 0x47a338
cmp ebx, edi
jne 0x47a32d
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x47a2f4
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [esp + 0x10]
cmp edx, dword [eax + 0x1c]
je 0x47a394
cmp ebx, edi
jne 0x47a389
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov edx, dword [esi]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x47a350
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
lea esp, [esp]
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x488888
mov edx, dword [esp + 0x10]
mov eax, dword [esi]
push edx
push eax
call fcn.004310b0
test eax, eax
je 0x47a3f8
cmp ebx, edi
jne 0x47a3ed
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov edx, dword [esi]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x47a3b0
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x488888
mov edx, dword [esp + 0x10]
mov eax, dword [esi]
push edx
push eax
call fcn.004310b0
test eax, eax
jne 0x47a458
cmp ebx, edi
jne 0x47a44d
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov edx, dword [esi]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x47a410
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x488888
mov eax, dword [esi]
mov edx, dword [esp + 0x68]
push eax
push edx
call fcn.00453ed0
test eax, eax
je 0x47a49a
mov eax, dword [eax]
mov eax, dword [eax + 8]
jmp 0x47a49c
xor eax, eax
mov ecx, dword [esp + 0x10]
cmp eax, dword [ecx + 0x14]
jb 0x47a4cf
cmp eax, dword [ecx + 0x18]
ja 0x47a4cf
cmp ebx, edi
jne 0x47a4c4
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov edx, dword [esi]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x47a470
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x47a4f0
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x488888
mov eax, dword [esi]
mov edx, dword [esp + 0x68]
push eax
push edx
call fcn.00453ed0
test eax, eax
je 0x47a51a
mov eax, dword [eax]
mov eax, dword [eax + 8]
jmp 0x47a51c
xor eax, eax
mov ecx, dword [esp + 0x10]
cmp eax, dword [ecx + 0x14]
jb 0x47a52a
cmp eax, dword [ecx + 0x18]
jbe 0x47a54f
cmp ebx, edi
jne 0x47a544
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov edx, dword [esi]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x47a4f0
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x47a570
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x488888
mov eax, dword [esi]
mov edx, dword [esp + 0x68]
push eax
push edx
call fcn.00453ed0
test eax, eax
je 0x47a59c
mov eax, dword [eax]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
jmp 0x47a5a0
xor ecx, ecx
xor eax, eax
mov edx, dword [esp + 0x10]
cmp eax, dword [edx + 0x1c]
jb 0x47a5e1
ja 0x47a5b0
cmp ecx, dword [edx + 0x18]
jb 0x47a5e1
cmp eax, dword [edx + 0x24]
ja 0x47a5e1
jb 0x47a5bc
cmp ecx, dword [edx + 0x20]
ja 0x47a5e1
cmp ebx, edi
jne 0x47a5d6
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x47a570
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
lea esp, [esp]
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov eax, dword [esi]
mov ecx, dword [esp + 0x68]
push eax
push ecx
call fcn.00453ed0
test eax, eax
je 0x47a62c
mov eax, dword [eax]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
jmp 0x47a630
xor ecx, ecx
xor eax, eax
mov edx, dword [esp + 0x10]
cmp eax, dword [edx + 0x1c]
jb 0x47a64c
ja 0x47a640
cmp ecx, dword [edx + 0x18]
jb 0x47a64c
cmp eax, dword [edx + 0x24]
jb 0x47a671
ja 0x47a64c
cmp ecx, dword [edx + 0x20]
jbe 0x47a671
cmp ebx, edi
jne 0x47a666
mov edx, dword [esp + 0x44]
push edx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov eax, dword [esi]
mov dword [ebx], eax
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x47a600
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
lea esp, [esp]
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x488888
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x34]
push eax
push edi
push ebx
push ecx
push edx
call fcn.00448000
mov ecx, dword [esp + 0x10]
cmp eax, dword [ecx + 0x14]
jae 0x47a6e6
cmp ebx, edi
jne 0x47a6db
mov edx, dword [esp + 0x44]
push edx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov eax, dword [esi]
mov dword [ebx], eax
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x47a690
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov edi, edi
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x488888
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x34]
push eax
push edi
push ebx
push ecx
push edx
call fcn.00448000
mov ecx, dword [esp + 0x10]
cmp eax, dword [ecx + 0x14]
jb 0x47a756
cmp ebx, edi
jne 0x47a74b
mov edx, dword [esp + 0x44]
push edx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov eax, dword [esi]
mov dword [ebx], eax
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x47a700
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov edi, edi
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x488888
mov eax, dword [esp + 0x10]
mov ecx, dword [esi]
push eax
push ecx
call fcn.00428640
test eax, eax
je 0x47a7b8
cmp ebx, edi
jne 0x47a7ad
mov edx, dword [esp + 0x44]
push edx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov eax, dword [esi]
mov dword [ebx], eax
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x47a770
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x488888
mov eax, dword [esp + 0x10]
mov ecx, dword [esi]
push eax
push ecx
call fcn.00428640
test eax, eax
jne 0x47a818
cmp ebx, edi
jne 0x47a80d
mov edx, dword [esp + 0x44]
push edx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov eax, dword [esi]
mov dword [ebx], eax
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x47a7d0
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x488888
mov eax, dword [esi]
push eax
push ecx
call fcn.00423c90
mov ecx, dword [esp + 0x10]
cmp edx, dword [ecx + 0x1c]
jb 0x47a88c
ja 0x47a85b
cmp eax, dword [ecx + 0x18]
jb 0x47a88c
cmp edx, dword [ecx + 0x24]
ja 0x47a88c
jb 0x47a867
cmp eax, dword [ecx + 0x20]
ja 0x47a88c
cmp ebx, edi
jne 0x47a881
mov edx, dword [esp + 0x44]
push edx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov eax, dword [esi]
mov dword [ebx], eax
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x47a830
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x488888
mov eax, dword [esi]
push eax
push ecx
call fcn.00423c90
mov ecx, dword [esp + 0x10]
cmp edx, dword [ecx + 0x1c]
jb 0x47a8db
ja 0x47a8cf
cmp eax, dword [ecx + 0x18]
jb 0x47a8db
cmp edx, dword [ecx + 0x24]
jb 0x47a900
ja 0x47a8db
cmp eax, dword [ecx + 0x20]
jbe 0x47a900
cmp ebx, edi
jne 0x47a8f5
mov edx, dword [esp + 0x44]
push edx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov eax, dword [esi]
mov dword [ebx], eax
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x47a8a4
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov edx, dword [esp + 0x10]
lea esp, [esp]
mov ecx, dword [esp + 0x34]
mov eax, dword [ecx + 0x2e4]
test eax, eax
jne 0x488888
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x47a941
mov ecx, dword [eax - 4]
jmp 0x47a944
movzx ecx, cl
lea eax, [ecx + eax + 5]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
cmp eax, dword [edx + 0x1c]
jb 0x47a98e
ja 0x47a959
cmp ecx, dword [edx + 0x18]
jb 0x47a98e
cmp eax, dword [edx + 0x24]
ja 0x47a98e
jb 0x47a965
cmp ecx, dword [edx + 0x20]
ja 0x47a98e
cmp ebx, edi
jne 0x47a983
mov edx, dword [esp + 0x44]
push edx
call fcn.004021c0
mov edx, dword [esp + 0x10]
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov eax, dword [esi]
mov dword [ebx], eax
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x47a920
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov edx, dword [esp + 0x10]
lea ebx, [ebx]
mov ecx, dword [esp + 0x34]
mov eax, dword [ecx + 0x2e4]
test eax, eax
jne 0x488888
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x47a9d1
mov ecx, dword [eax - 4]
jmp 0x47a9d4
movzx ecx, cl
lea eax, [ecx + eax + 5]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
cmp eax, dword [edx + 0x1c]
jb 0x47a9f5
ja 0x47a9e9
cmp ecx, dword [edx + 0x18]
jb 0x47a9f5
cmp eax, dword [edx + 0x24]
jb 0x47aa1e
ja 0x47a9f5
cmp ecx, dword [edx + 0x20]
jbe 0x47aa1e
cmp ebx, edi
jne 0x47aa13
mov edx, dword [esp + 0x44]
push edx
call fcn.004021c0
mov edx, dword [esp + 0x10]
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov eax, dword [esi]
mov dword [ebx], eax
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x47a9b0
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x47aa40
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x488888
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x47aa65
mov ecx, dword [eax - 4]
lea ecx, [ecx + eax + 5]
jmp 0x47aa6c
movzx edx, cl
lea ecx, [edx + eax + 5]
mov eax, dword [esp + 0x68]
mov eax, dword [eax + 0x360]
mov edx, dword [ecx + eax]
mov eax, dword [ecx + eax + 4]
mov ecx, dword [esp + 0x10]
cmp eax, dword [ecx + 0x1c]
jb 0x47aabe
ja 0x47aa8d
cmp edx, dword [ecx + 0x18]
jb 0x47aabe
cmp eax, dword [ecx + 0x24]
ja 0x47aabe
jb 0x47aa99
cmp edx, dword [ecx + 0x20]
ja 0x47aabe
cmp ebx, edi
jne 0x47aab3
mov edx, dword [esp + 0x44]
push edx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov eax, dword [esi]
mov dword [ebx], eax
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x47aa40
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
lea ebx, [ebx]
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x488888
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x47ab05
mov ecx, dword [eax - 4]
lea ecx, [ecx + eax + 5]
jmp 0x47ab0c
movzx edx, cl
lea ecx, [edx + eax + 5]
mov eax, dword [esp + 0x68]
mov eax, dword [eax + 0x360]
mov edx, dword [ecx + eax]
mov eax, dword [ecx + eax + 4]
mov ecx, dword [esp + 0x10]
cmp eax, dword [ecx + 0x1c]
jb 0x47ab39
ja 0x47ab2d
cmp edx, dword [ecx + 0x18]
jb 0x47ab39
cmp eax, dword [ecx + 0x24]
jb 0x47ab5e
ja 0x47ab39
cmp edx, dword [ecx + 0x20]
jbe 0x47ab5e
cmp ebx, edi
jne 0x47ab53
mov edx, dword [esp + 0x44]
push edx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov eax, dword [esi]
mov dword [ebx], eax
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x47aae0
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
lea ebx, [ebx]
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x488888
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x47aba5
mov ecx, dword [eax - 4]
lea ecx, [ecx + eax + 5]
jmp 0x47abac
movzx edx, cl
lea ecx, [edx + eax + 5]
mov eax, dword [esp + 0x68]
mov eax, dword [eax + 0x358]
mov edx, dword [ecx + eax]
mov eax, dword [ecx + eax + 4]
mov ecx, dword [esp + 0x10]
cmp eax, dword [ecx + 0x1c]
jb 0x47abfe
ja 0x47abcd
cmp edx, dword [ecx + 0x18]
jb 0x47abfe
cmp eax, dword [ecx + 0x24]
ja 0x47abfe
jb 0x47abd9
cmp edx, dword [ecx + 0x20]
ja 0x47abfe
cmp ebx, edi
jne 0x47abf3
mov edx, dword [esp + 0x44]
push edx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov eax, dword [esi]
mov dword [ebx], eax
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x47ab80
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
lea ebx, [ebx]
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x488888
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x47ac45
mov ecx, dword [eax - 4]
lea ecx, [ecx + eax + 5]
jmp 0x47ac4c
movzx edx, cl
lea ecx, [edx + eax + 5]
mov eax, dword [esp + 0x68]
mov eax, dword [eax + 0x358]
mov edx, dword [ecx + eax]
mov eax, dword [ecx + eax + 4]
mov ecx, dword [esp + 0x10]
cmp eax, dword [ecx + 0x1c]
jb 0x47ac79
ja 0x47ac6d
cmp edx, dword [ecx + 0x18]
jb 0x47ac79
cmp eax, dword [ecx + 0x24]
jb 0x47ac9e
ja 0x47ac79
cmp edx, dword [ecx + 0x20]
jbe 0x47ac9e
cmp ebx, edi
jne 0x47ac93
mov edx, dword [esp + 0x44]
push edx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov eax, dword [esi]
mov dword [ebx], eax
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x47ac20
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
lea ebx, [ebx]
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x488888
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x47ace5
mov ecx, dword [eax - 4]
lea ecx, [ecx + eax + 5]
jmp 0x47acec
movzx edx, cl
lea ecx, [edx + eax + 5]
mov eax, dword [esp + 0x68]
mov eax, dword [eax + 0x368]
mov edx, dword [ecx + eax]
mov eax, dword [ecx + eax + 4]
mov ecx, dword [esp + 0x10]
cmp eax, dword [ecx + 0x1c]
jb 0x47ad3e
ja 0x47ad0d
cmp edx, dword [ecx + 0x18]
jb 0x47ad3e
cmp eax, dword [ecx + 0x24]
ja 0x47ad3e
jb 0x47ad19
cmp edx, dword [ecx + 0x20]
ja 0x47ad3e
cmp ebx, edi
jne 0x47ad33
mov edx, dword [esp + 0x44]
push edx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov eax, dword [esi]
mov dword [ebx], eax
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x47acc0
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
lea ebx, [ebx]
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x488888
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x47ad85
mov ecx, dword [eax - 4]
lea ecx, [ecx + eax + 5]
jmp 0x47ad8c
movzx edx, cl
lea ecx, [edx + eax + 5]
mov eax, dword [esp + 0x68]
mov eax, dword [eax + 0x368]
mov edx, dword [ecx + eax]
mov eax, dword [ecx + eax + 4]
mov ecx, dword [esp + 0x10]
cmp eax, dword [ecx + 0x1c]
jb 0x47adb9
ja 0x47adad
cmp edx, dword [ecx + 0x18]
jb 0x47adb9
cmp eax, dword [ecx + 0x24]
jb 0x47adde
ja 0x47adb9
cmp edx, dword [ecx + 0x20]
jbe 0x47adde
cmp ebx, edi
jne 0x47add3
mov edx, dword [esp + 0x44]
push edx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov eax, dword [esi]
mov dword [ebx], eax
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x47ad60
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
lea ebx, [ebx]
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x488888
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x47ae25
mov ecx, dword [eax - 4]
lea eax, [ecx + eax + 5]
jmp 0x47ae2c
movzx edx, cl
lea eax, [edx + eax + 5]
mov edx, dword [esp + 0x68]
mov ecx, dword [esp + 0x10]
mov edx, dword [edx + 0x370]
mov ecx, dword [ecx + 0x14]
mov eax, dword [eax + edx]
and eax, ecx
cmp eax, ecx
jne 0x47ae6b
cmp ebx, edi
jne 0x47ae60
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov edx, dword [esi]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x47ae00
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x488888
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x47aea8
mov edx, dword [eax - 4]
lea eax, [edx + eax + 5]
jmp 0x47aeaf
movzx ecx, cl
lea eax, [ecx + eax + 5]
mov edx, dword [esp + 0x10]
mov ecx, dword [edx + 0x14]
mov edx, dword [esp + 0x68]
mov edx, dword [edx + 0x370]
mov eax, dword [eax + edx]
and eax, ecx
cmp eax, ecx
je 0x47aeee
cmp ebx, edi
jne 0x47aee3
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov edx, dword [esi]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x47ae83
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x47af10
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x488888
mov eax, dword [esi]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x10]
mov edi, dword [edx + 0x14]
push eax
push ecx
call fcn.00423d10
and eax, edi
cmp eax, edi
jne 0x47af63
cmp ebx, dword [esp + 0x24]
jne 0x47af58
mov edx, dword [esp + 0x44]
push edx
call fcn.004021c0
mov ebx, eax
lea eax, [ebx + 0xff0]
mov dword [esp + 0x24], eax
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x47af10
mov edi, dword [esp + 0x24]
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
nop
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov edx, dword [esi]
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x10]
mov edi, dword [ecx + 0x14]
push edx
push eax
call fcn.00423d10
and eax, edi
cmp eax, edi
je 0x47afd3
cmp ebx, dword [esp + 0x24]
jne 0x47afc8
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004021c0
mov ebx, eax
lea edx, [ebx + 0xff0]
mov dword [esp + 0x24], edx
mov eax, dword [esi]
mov dword [ebx], eax
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x47af80
mov edi, dword [esp + 0x24]
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
nop
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x488888
mov eax, dword [esi]
push eax
push ecx
call fcn.00423dd0
mov ecx, dword [esp + 0x10]
cmp edx, dword [ecx + 0x1c]
jb 0x47b04c
ja 0x47b01b
cmp eax, dword [ecx + 0x18]
jb 0x47b04c
cmp edx, dword [ecx + 0x24]
ja 0x47b04c
jb 0x47b027
cmp eax, dword [ecx + 0x20]
ja 0x47b04c
cmp ebx, edi
jne 0x47b041
mov edx, dword [esp + 0x44]
push edx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov eax, dword [esi]
mov dword [ebx], eax
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x47aff0
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x488888
mov eax, dword [esi]
push eax
push ecx
call fcn.00423dd0
mov ecx, dword [esp + 0x10]
cmp edx, dword [ecx + 0x1c]
jb 0x47b09b
ja 0x47b08f
cmp eax, dword [ecx + 0x18]
jb 0x47b09b
cmp edx, dword [ecx + 0x24]
jb 0x47b0c0
ja 0x47b09b
cmp eax, dword [ecx + 0x20]
jbe 0x47b0c0
cmp ebx, edi
jne 0x47b0b5
mov edx, dword [esp + 0x44]
push edx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov eax, dword [esi]
mov dword [ebx], eax
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x47b064
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x47b0e0
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x488888
mov eax, dword [esi]
push eax
push ecx
call fcn.00423d70
mov ecx, dword [esp + 0x10]
cmp edx, dword [ecx + 0x1c]
jb 0x47b13c
ja 0x47b10b
cmp eax, dword [ecx + 0x18]
jb 0x47b13c
cmp edx, dword [ecx + 0x24]
ja 0x47b13c
jb 0x47b117
cmp eax, dword [ecx + 0x20]
ja 0x47b13c
cmp ebx, edi
jne 0x47b131
mov edx, dword [esp + 0x44]
push edx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov eax, dword [esi]
mov dword [ebx], eax
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x47b0e0
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x488888
mov eax, dword [esi]
push eax
push ecx
call fcn.00423d70
mov ecx, dword [esp + 0x10]
cmp edx, dword [ecx + 0x1c]
jb 0x47b18b
ja 0x47b17f
cmp eax, dword [ecx + 0x18]
jb 0x47b18b
cmp edx, dword [ecx + 0x24]
jb 0x47b1b0
ja 0x47b18b
cmp eax, dword [ecx + 0x20]
jbe 0x47b1b0
cmp ebx, edi
jne 0x47b1a5
mov edx, dword [esp + 0x44]
push edx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov eax, dword [esi]
mov dword [ebx], eax
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x47b154
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x47b1d0
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x488888
mov eax, dword [esi]
push eax
push ecx
call fcn.0042d410
mov ecx, dword [esp + 0x10]
cmp edx, dword [ecx + 0x1c]
jb 0x47b22c
ja 0x47b1fb
cmp eax, dword [ecx + 0x18]
jb 0x47b22c
cmp edx, dword [ecx + 0x24]
ja 0x47b22c
jb 0x47b207
cmp eax, dword [ecx + 0x20]
ja 0x47b22c
cmp ebx, edi
jne 0x47b221
mov edx, dword [esp + 0x44]
push edx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov eax, dword [esi]
mov dword [ebx], eax
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x47b1d0
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x488888
mov eax, dword [esi]
push eax
push ecx
call fcn.0042d410
mov ecx, dword [esp + 0x10]
cmp edx, dword [ecx + 0x1c]
jb 0x47b27b
ja 0x47b26f
cmp eax, dword [ecx + 0x18]
jb 0x47b27b
cmp edx, dword [ecx + 0x24]
jb 0x47b2a0
ja 0x47b27b
cmp eax, dword [ecx + 0x20]
jbe 0x47b2a0
cmp ebx, edi
jne 0x47b295
mov edx, dword [esp + 0x44]
push edx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov eax, dword [esi]
mov dword [ebx], eax
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x47b244
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x47b2c0
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x488888
mov eax, dword [esi]
push eax
push ecx
call fcn.00423e30
mov ecx, dword [esp + 0x10]
cmp edx, dword [ecx + 0x1c]
jb 0x47b31c
ja 0x47b2eb
cmp eax, dword [ecx + 0x18]
jb 0x47b31c
cmp edx, dword [ecx + 0x24]
ja 0x47b31c
jb 0x47b2f7
cmp eax, dword [ecx + 0x20]
ja 0x47b31c
cmp ebx, edi
jne 0x47b311
mov edx, dword [esp + 0x44]
push edx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov eax, dword [esi]
mov dword [ebx], eax
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x47b2c0
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x488888
mov eax, dword [esi]
push eax
push ecx
call fcn.00423e30
mov ecx, dword [esp + 0x10]
cmp edx, dword [ecx + 0x1c]
jb 0x47b36b
ja 0x47b35f
cmp eax, dword [ecx + 0x18]
jb 0x47b36b
cmp edx, dword [ecx + 0x24]
jb 0x47b390
ja 0x47b36b
cmp eax, dword [ecx + 0x20]
jbe 0x47b390
cmp ebx, edi
jne 0x47b385
mov edx, dword [esp + 0x44]
push edx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov eax, dword [esi]
mov dword [ebx], eax
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x47b334
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x47b3b0
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x488888
mov eax, dword [esi]
push eax
push ecx
call fcn.00423e90
mov edi, eax
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x20]
push edx
add eax, 0x24
push eax
push edi
call fcn.00403620
push eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 0x14]
push edi
call ecx
test eax, eax
je 0x47b415
cmp ebx, dword [esp + 0x24]
jne 0x47b40a
mov edx, dword [esp + 0x44]
push edx
call fcn.004021c0
mov ebx, eax
lea eax, [ebx + 0xff0]
mov dword [esp + 0x24], eax
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x47b3b0
mov edi, dword [esp + 0x24]
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov ecx, dword [esi]
push ecx
push edx
call fcn.00423e90
mov edi, eax
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x20]
push ecx
add eax, 0x24
push eax
push edi
call fcn.00403620
mov edx, dword [esp + 0x18]
push eax
mov eax, dword [edx + 0x14]
push edi
call eax
test eax, eax
jne 0x47b496
cmp ebx, dword [esp + 0x24]
jne 0x47b48b
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004021c0
mov ebx, eax
lea edx, [ebx + 0xff0]
mov dword [esp + 0x24], edx
mov eax, dword [esi]
mov dword [ebx], eax
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x47b431
mov edi, dword [esp + 0x24]
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x488888
mov eax, dword [esi]
mov edx, dword [ecx]
push eax
push edx
call fcn.00428380
mov edi, eax
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x20]
push ecx
add eax, 0x24
push eax
push edi
call fcn.00403620
mov edx, dword [esp + 0x18]
push eax
mov eax, dword [edx + 0x14]
push edi
call eax
test eax, eax
je 0x47b519
cmp ebx, dword [esp + 0x24]
jne 0x47b50e
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004021c0
mov ebx, eax
lea edx, [ebx + 0xff0]
mov dword [esp + 0x24], edx
mov eax, dword [esi]
mov dword [ebx], eax
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x47b4b2
mov edi, dword [esp + 0x24]
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x47b540
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x488888
mov eax, dword [esi]
mov edx, dword [ecx]
push eax
push edx
call fcn.00428380
mov edi, eax
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x20]
push ecx
add eax, 0x24
push eax
push edi
call fcn.00403620
mov edx, dword [esp + 0x18]
push eax
mov eax, dword [edx + 0x14]
push edi
call eax
test eax, eax
jne 0x47b5a7
cmp ebx, dword [esp + 0x24]
jne 0x47b59c
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004021c0
mov ebx, eax
lea edx, [ebx + 0xff0]
mov dword [esp + 0x24], edx
mov eax, dword [esi]
mov dword [ebx], eax
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x47b540
mov edi, dword [esp + 0x24]
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x488888
mov dword [esp + 0x258], edx
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x47b5eb
mov eax, dword [eax - 4]
jmp 0x47b5ee
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 0x47b640
cmp ebx, edi
jne 0x47b635
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x47b5c3
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
lea esp, [esp]
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
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 0x47b6df
cmp ebx, edi
jne 0x47b6d4
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov edx, dword [esi]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x47b660
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x47b700
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x488888
mov dword [esp + 0x1b8], ecx
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x47b728
mov eax, dword [eax - 4]
jmp 0x47b72b
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 0x47b77d
cmp ebx, edi
jne 0x47b772
mov edx, dword [esp + 0x44]
push edx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov eax, dword [esi]
mov dword [ebx], eax
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x47b700
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
lea esp, [esp]
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x488888
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 0x47b81f
cmp ebx, edi
jne 0x47b814
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x47b7a0
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x47b840
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov ecx, dword [esp + 0x10]
mov edx, dword [esi]
push ecx
push edx
call fcn.00427ef0
test eax, eax
je 0x47b888
cmp ebx, edi
jne 0x47b87d
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x47b840
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov ecx, dword [esp + 0x10]
mov edx, dword [esi]
push ecx
push edx
call fcn.00427ef0
test eax, eax
jne 0x47b8e8
cmp ebx, edi
jne 0x47b8dd
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x47b8a0
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov ecx, dword [esp + 0x10]
mov edx, dword [esi]
push ecx
push edx
call fcn.00427f50
test eax, eax
je 0x47b948
cmp ebx, edi
jne 0x47b93d
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x47b900
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov ecx, dword [esp + 0x10]
mov edx, dword [esi]
push ecx
push edx
call fcn.00427f50
test eax, eax
jne 0x47b9a8
cmp ebx, edi
jne 0x47b99d
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x47b960
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov ecx, dword [esp + 0x10]
mov edx, dword [esi]
push ecx
push edx
call fcn.00428020
test eax, eax
je 0x47ba08
cmp ebx, edi
jne 0x47b9fd
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x47b9c0
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov ecx, dword [esp + 0x10]
mov edx, dword [esi]
push ecx
push edx
call fcn.00428020
test eax, eax
jne 0x47ba68
cmp ebx, edi
jne 0x47ba5d
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x47ba20
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov ecx, dword [esp + 0x10]
mov edx, dword [esi]
push ecx
push edx
call fcn.00428160
test eax, eax
je 0x47bac8
cmp ebx, edi
jne 0x47babd
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x47ba80
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov ecx, dword [esp + 0x10]
mov edx, dword [esi]
push ecx
push edx
call fcn.00428160
test eax, eax
jne 0x47bb2c
cmp ebx, edi
jne 0x47bb21
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x47bae0
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov ecx, dword [esp + 0x10]
mov edx, dword [esi]
push ecx
push edx
call fcn.00428100
test eax, eax
je 0x47bb94
cmp ebx, edi
jne 0x47bb89
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x47bb44
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
lea esp, [esp]
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov ecx, dword [esp + 0x10]
mov edx, dword [esi]
push ecx
push edx
call fcn.00428100
test eax, eax
jne 0x47bc00
cmp ebx, edi
jne 0x47bbf5
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x47bbb0
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x47bc20
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov ecx, dword [esp + 0x10]
mov edx, dword [esi]
push ecx
push edx
call fcn.00429e00
test eax, eax
je 0x47bc70
cmp ebx, edi
jne 0x47bc65
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x47bc20
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x47bc90
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov ecx, dword [esp + 0x10]
mov edx, dword [esi]
push ecx
push edx
call fcn.00429e00
test eax, eax
jne 0x47bce0
cmp ebx, edi
jne 0x47bcd5
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x47bc90
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x47bd00
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov ecx, dword [esp + 0x10]
mov edx, dword [esi]
push ecx
push edx
call fcn.00429f80
test eax, eax
je 0x47bd50
cmp ebx, edi
jne 0x47bd45
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x47bd00
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x47bd70
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov ecx, dword [esp + 0x10]
mov edx, dword [esi]
push ecx
push edx
call fcn.00429f80
test eax, eax
jne 0x47bdc0
cmp ebx, edi
jne 0x47bdb5
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x47bd70
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x47bde0
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov ecx, dword [esp + 0x10]
mov edx, dword [esi]
push ecx
push edx
call fcn.0042a0b0
test eax, eax
je 0x47be30
cmp ebx, edi
jne 0x47be25
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x47bde0
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x47be50
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov ecx, dword [esp + 0x10]
mov edx, dword [esi]
push ecx
push edx
call fcn.0042a0b0
test eax, eax
jne 0x47bea0
cmp ebx, edi
jne 0x47be95
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x47be50
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x47bec0
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov ecx, dword [esp + 0x10]
mov edx, dword [esi]
push ecx
push edx
call fcn.0042a1e0
test eax, eax
je 0x47bf10
cmp ebx, edi
jne 0x47bf05
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x47bec0
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x47bf30
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov ecx, dword [esp + 0x10]
mov edx, dword [esi]
push ecx
push edx
call fcn.0042a1e0
test eax, eax
jne 0x47bf80
cmp ebx, edi
jne 0x47bf75
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x47bf30
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x47bfa0
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov ecx, dword [esp + 0x10]
mov edx, dword [esi]
push ecx
push edx
call fcn.0042a300
test eax, eax
je 0x47bff0
cmp ebx, edi
jne 0x47bfe5
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x47bfa0
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x47c010
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov ecx, dword [esp + 0x10]
mov edx, dword [esi]
push ecx
push edx
call fcn.0042a300
test eax, eax
jne 0x47c060
cmp ebx, edi
jne 0x47c055
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x47c010
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x47c080
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov ecx, dword [esp + 0x10]
mov edx, dword [esi]
push ecx
push edx
call fcn.0042a420
test eax, eax
je 0x47c0d0
cmp ebx, edi
jne 0x47c0c5
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x47c080
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x47c0f0
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov ecx, dword [esp + 0x10]
mov edx, dword [esi]
push ecx
push edx
call fcn.0042a420
test eax, eax
jne 0x47c140
cmp ebx, edi
jne 0x47c135
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x47c0f0
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x47c160
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov ecx, dword [esp + 0x10]
mov edx, dword [esi]
push ecx
push edx
call fcn.0042a540
test eax, eax
je 0x47c1b0
cmp ebx, edi
jne 0x47c1a5
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x47c160
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x47c1d0
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov ecx, dword [esp + 0x10]
mov edx, dword [esi]
push ecx
push edx
call fcn.0042a540
test eax, eax
jne 0x47c220
cmp ebx, edi
jne 0x47c215
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x47c1d0
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x47c240
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov ecx, dword [esp + 0x10]
mov edx, dword [esi]
push ecx
push edx
call fcn.0042a660
test eax, eax
je 0x47c290
cmp ebx, edi
jne 0x47c285
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x47c240
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x47c2b0
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov ecx, dword [esp + 0x10]
mov edx, dword [esi]
push ecx
push edx
call fcn.0042a660
test eax, eax
jne 0x47c300
cmp ebx, edi
jne 0x47c2f5
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x47c2b0
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x47c320
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov ecx, dword [esp + 0x10]
mov edx, dword [esi]
push ecx
push edx
call fcn.00428550
test eax, eax
je 0x47c370
cmp ebx, edi
jne 0x47c365
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x47c320
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x47c390
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov ecx, dword [esp + 0x10]
mov edx, dword [esi]
push ecx
push edx
call fcn.00428550
test eax, eax
jne 0x47c3e0
cmp ebx, edi
jne 0x47c3d5
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x47c390
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
jmp 0x47c400
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
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.00427ba0
test eax, eax
je 0x47c457
cmp ebx, edi
jne 0x47c44c
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x47c400
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
nop
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
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.00427ba0
test eax, eax
jne 0x47c4c7
cmp ebx, edi
jne 0x47c4bc
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x47c470
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
nop
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esi]
push ecx
add eax, 0x1c
push eax
mov eax, dword [edx]
push eax
call fcn.00430ae0
test eax, eax
je 0x47c539
cmp ebx, edi
jne 0x47c52e
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov edx, dword [esi]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x47c4e0
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x488888
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x14]
push edx
add eax, 0x1c
push eax
mov eax, dword [esi]
mov ecx, dword [eax]
push ecx
call fcn.00430ae0
test eax, eax
jne 0x47c5aa
cmp ebx, edi
jne 0x47c59f
mov edx, dword [esp + 0x44]
push edx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov eax, dword [esi]
mov dword [ebx], eax
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x47c551
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x488888
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esi]
push ecx
add eax, 0x1c
push eax
mov eax, dword [edx]
push eax
call fcn.00430ae0
test eax, eax
je 0x47c61b
cmp ebx, edi
jne 0x47c610
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov edx, dword [esi]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x47c5c2
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x488888
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x14]
push edx
add eax, 0x1c
push eax
mov eax, dword [esi]
mov ecx, dword [eax]
push ecx
call fcn.00430ae0
test eax, eax
jne 0x47c68c
cmp ebx, edi
jne 0x47c681
mov edx, dword [esp + 0x44]
push edx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov eax, dword [esi]
mov dword [ebx], eax
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x47c633
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x488888
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esi]
mov eax, dword [edx]
push ecx
push eax
call fcn.00430bb0
test eax, eax
je 0x47c6f9
cmp ebx, edi
jne 0x47c6ee
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov edx, dword [esi]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x47c6a4
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x2e4]
test ecx, ecx
jne 0x488888
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x14]
mov ecx, dword [esi]
mov edx, dword [ecx]
push eax
push edx
call fcn.00430bb0
test eax, eax
jne 0x47c766
cmp ebx, edi
jne 0x47c75b
mov eax, dword [esp + 0x44]
push eax
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x47c711
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
mov edi, edi
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x2e4]
test eax, eax
jne 0x488888
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 0x14]
mov eax, dword [esi]
mov ecx, dword [eax]
push edx
push ecx
call fcn.00430bb0
test eax, eax
je 0x47c7d5
cmp ebx, edi
jne 0x47c7ca
mov edx, dword [esp + 0x44]
push edx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov eax, dword [esi]
mov dword [ebx], eax
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x47c780
jmp case.0x46a9ea.1
cmp esi, dword [esp + 0x1c]
je case.0x46a9ea.1
lea ecx, [ecx]
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x488888
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov edx, dword [esi]
mov eax, dword [edx]
push ecx
push eax
call fcn.00430bb0
test eax, eax
jne 0x47c845
cmp ebx, edi
jne 0x47c83a
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004021c0
mov ebx, eax
lea edi, [ebx + 0xff0]
mov dword [esp + 0x24], edi
mov edx, dword [esi]
mov dword [ebx], edx
add ebx, 4
mov dword [esp + 0x38], ebx
add esi, 4
cmp esi, dword [esp + 0x1c]
jne 0x47c7f0
mov eax, 1
add dword [esp + 0x184], eax
sub dword [esp + 0x180], eax
jne 0x46a9b0
jmp 0x488888
cmp dword [esp + 0x180], ebx
je 0x488888
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x24]
mov edx, dword [ecx]
mov eax, dword [esp + 0x184]
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 + 0x28], edx
mov dword [esp + 0x1c], ecx
je 0x48886f
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx + 0x2e4]
test edx, edx
jne 0x488888
mov eax, ecx
mov edi, dword [eax + 0xb4]
mov dword [esp + 0x10], edi
jmp 0x47c8d0
mov eax, dword [edi + 0xc]
cmp eax, 0x183
ja case.0x47c8de.1
jmp dword [eax*4 + 0x488ec4]
mov ecx, dword [esp + 0x28]
mov ecx, dword [ecx]
mov al, byte [ecx + 4]
cmp al, 0xff
jne 0x47c8fe
mov esi, dword [ecx - 4]
jmp 0x47c901
movzx esi, al
mov edx, dword [edi + 0x14]
add ecx, 5
cmp edx, esi
lea eax, [edi + 0x18]
jle 0x47c919
xor eax, eax
jmp 0x47cc3f
lea edi, [ecx + esi]
sub ecx, eax
lea ebx, [eax + edx]
mov dword [esp + 0x2c], ecx
sub ecx, edx
add ecx, esi
lea edx, [eax + 3]
mov dword [esp + 0x50], edx
mov dword [esp + 0x4c], ebx
lea edx, [eax + 4]
sub ebx, eax
mov dword [esp + 0x58], ecx
lea ecx, [eax + 2]
sub edi, eax
mov dword [esp + 0x60], edx
mov dword [esp + 0x54], ecx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x64], edi
mov edx, 1
jmp 0x47c960
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x64]
add esi, 0x18
mov dword [esp + 0x30], ecx
mov dword [esp + 0x18], eax
cmp esi, dword [esp + 0x4c]
jae 0x47cc39
mov cl, byte [esi + edi]
mov bl, byte [esi]
mov edx, dword [0x58b5d0]
movzx eax, cl
cmp byte [eax + edx], bl
jne 0x47c9d1
mov edx, 1
add dword [esp + 0x14], edx
add dword [esp + 0x20], edx
add dword [esp + 0x3c], edx
sub dword [esp + 0x18], edx
add esi, edx
sub dword [esp + 0x30], edx
jmp 0x47c993
test cl, cl
jns 0x47cc21
mov edx, dword [esp + 0x18]
sub edx, edi
cmp edx, 2
mov dword [esp + 0x48], edx
jl 0x47ca1c
mov dl, cl
and dl, 0xe0
cmp dl, 0xc0
jne 0x47ca18
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 0x47cab1
mov edx, dword [esp + 0x48]
cmp edx, 3
jl 0x47ca62
mov dl, cl
and dl, 0xf0
cmp dl, 0xe0
jne 0x47ca5e
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 0x47cab1
mov edx, dword [esp + 0x48]
cmp edx, 4
jl 0x47caaf
and cl, 0xf8
cmp cl, 0xf0
jne 0x47caaf
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 0x47cab1
xor eax, eax
test bl, bl
mov edx, 1
jns 0x47cbe9
mov ecx, dword [esp + 0x4c]
cmp dword [esp + 0x20], ecx
ja 0x47cb10
mov dl, bl
and dl, 0xe0
cmp dl, 0xc0
jne 0x47cb10
movzx ecx, byte [esi + 1]
mov edx, 2
add dword [esp + 0x14], edx
add dword [esp + 0x20], edx
add dword [esp + 0x3c], edx
sub dword [esp + 0x18], edx
sub dword [esp + 0x30], edx
and ebx, 0x1f
and ecx, 0x3f
shl ebx, 6
add esi, edx
mov edx, 1
or ecx, ebx
sub edi, edx
jmp 0x47cc02
cmp dword [esp + 0x3c], ecx
ja 0x47cb70
mov dl, bl
and dl, 0xf0
cmp dl, 0xe0
jne 0x47cb70
movzx ecx, byte [esi + 1]
mov edx, dword [esp + 0x20]
add dword [esp + 0x14], 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 + 0x3c], ebx
sub dword [esp + 0x18], ebx
sub dword [esp + 0x30], ebx
add edx, ebx
add esi, 3
mov dword [esp + 0x20], edx
sub edi, 2
lea edx, [ebx - 2]
jmp 0x47cc02
cmp dword [esp + 0x14], ecx
ja 0x47cbdf
mov cl, bl
and cl, 0xf8
cmp cl, 0xf0
jne 0x47cbdf
movzx ecx, byte [esi + 1]
mov edx, dword [esp + 0x20]
and ebx, 7
add dword [esp + 0x14], 4
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 + 0x3c]
movzx ebx, byte [ebx]
and ebx, 0x3f
shl ecx, 6
or ecx, ebx
mov ebx, 4
add dword [esp + 0x3c], ebx
sub dword [esp + 0x18], ebx
sub dword [esp + 0x30], ebx
add edx, ebx
add esi, 4
mov dword [esp + 0x20], edx
sub edi, 3
lea edx, [ebx - 3]
jmp 0x47cc02
xor ecx, ecx
lea edx, [ecx + 1]
jmp 0x47cbec
movzx ecx, bl
add dword [esp + 0x14], edx
add dword [esp + 0x20], edx
add dword [esp + 0x3c], edx
sub dword [esp + 0x18], edx
add esi, edx
sub dword [esp + 0x30], edx
cmp eax, ecx
jne 0x47cc26
mov eax, dword [esp + 0x18]
sub eax, edi
cmp eax, dword [esp + 0x30]
jge 0x47c993
xor eax, eax
jmp 0x47cc3b
mov edx, 1
mov ecx, dword [esp + 0x2c]
cmp ecx, dword [esp + 0x58]
je 0x47cc1a
add dword [esp + 0x2c], edx
jmp 0x47c960
mov eax, edx
mov edi, dword [esp + 0x10]
test eax, eax
je case.0x47c8de.1
cmp dword [edi + 4], 0
je 0x488829
mov edi, dword [edi + 4]
jmp 0x47c8c3
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x47cc73
mov ecx, dword [eax - 4]
jmp 0x47cc76
movzx ecx, cl
cmp dword [edi + 0x14], 0
je 0x482f72
add eax, 5
mov dword [esp + 0x4c], eax
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x18], ecx
mov ecx, dword [edi + 0x14]
mov dword [esp + 0x10], eax
lea esi, [edi + 0x18]
mov dword [esp + 0x14], ecx
cmp dword [esp + 0x18], 0
je 0x47c912
mov edx, dword [esp + 0x10]
mov al, byte [edx]
mov bl, byte [esi]
mov edx, dword [0x58b5d0]
mov byte [esp + 0x43], al
movzx eax, al
cmp byte [eax + edx], bl
jne 0x47cce8
mov eax, 1
add dword [esp + 0x10], eax
sub dword [esp + 0x18], eax
add esi, eax
sub ecx, eax
mov dword [esp + 0x14], ecx
jmp 0x47cedc
test byte [esp + 0x43], 0x80
je 0x47cf78
cmp dword [esp + 0x18], 2
jl 0x47cd3d
mov dl, byte [esp + 0x43]
and dl, 0xe0
cmp dl, 0xc0
jne 0x47cd3d
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
add dword [esp + 0x10], ecx
sub dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x14]
jmp 0x47ce01
cmp dword [esp + 0x18], 3
jl 0x47cd93
mov dl, byte [esp + 0x43]
and dl, 0xf0
cmp dl, 0xe0
jne 0x47cd93
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
add dword [esp + 0x10], ecx
sub dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x14]
jmp 0x47ce01
cmp dword [esp + 0x18], 4
jl 0x47cdf5
mov dl, byte [esp + 0x43]
and dl, 0xf8
cmp dl, 0xf0
jne 0x47cdf5
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
add dword [esp + 0x10], ecx
sub dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x14]
jmp 0x47ce01
add dword [esp + 0x10], 1
xor eax, eax
sub dword [esp + 0x18], 1
test bl, bl
jns 0x47cec7
cmp ecx, 2
jl 0x47ce3a
mov dl, bl
and dl, 0xe0
cmp dl, 0xc0
jne 0x47ce3a
movzx edx, byte [esi + 1]
and ebx, 0x1f
and edx, 0x3f
shl ebx, 6
or edx, ebx
add esi, 2
sub ecx, 2
jmp 0x47ced0
cmp ecx, 3
jl 0x47ce77
mov dl, bl
and dl, 0xf0
cmp dl, 0xe0
jne 0x47ce77
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 0x47ced0
cmp ecx, 4
jl 0x47cec0
mov dl, bl
and dl, 0xf8
cmp dl, 0xf0
jne 0x47cec0
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 0x47ced0
xor edx, edx
jmp 0x47ceca
movzx edx, bl
add esi, 1
sub ecx, 1
cmp eax, edx
mov dword [esp + 0x14], ecx
jne 0x47cf78
test ecx, ecx
jne 0x47cca5
mov al, byte [esi - 1]
cmp al, 0x61
jb 0x47cef7
cmp al, 0x7a
jbe 0x47cf27
cmp al, 0x41
jb 0x47cf07
cmp al, 0x5a
jbe 0x47cf27
cmp al, 0x30
jb 0x47cf17
cmp al, 0x39
jbe 0x47cf27
cmp al, 0x5f
je 0x47cf27
test al, al
jns 0x482f72
cmp dword [esp + 0x18], 0
je 0x482f72
mov eax, dword [esp + 0x10]
mov al, byte [eax]
cmp al, 0x61
jb 0x47cf48
cmp al, 0x7a
jbe 0x47cf78
cmp al, 0x41
jb 0x47cf58
cmp al, 0x5a
jbe 0x47cf78
cmp al, 0x30
jb 0x47cf68
cmp al, 0x39
jbe 0x47cf78
cmp al, 0x5f
je 0x47cf78
test al, al
jns 0x482f72
mov cl, byte [edi + 0x18]
mov eax, 1
add dword [esp + 0x4c], eax
sub dword [esp + 0x2c], eax
cmp cl, 0x61
jb 0x47cf9a
cmp cl, 0x7a
jbe 0x47cfcf
cmp cl, 0x41
jb 0x47cfac
cmp cl, 0x5a
jbe 0x47cfcf
cmp cl, 0x30
jb 0x47cfbe
cmp cl, 0x39
jbe 0x47cfcf
cmp cl, 0x5f
je 0x47cfcf
test cl, cl
jns 0x47cc8b
cmp dword [esp + 0x2c], 0
je 0x47cc8b
mov edx, dword [esp + 0x4c]
mov al, byte [edx - 1]
cmp al, 0x61
jb 0x47cfed
cmp al, 0x7a
jbe 0x47cf7b
cmp al, 0x41
jb 0x47cff9
cmp al, 0x5a
jbe 0x47cf7b
cmp al, 0x30
jb 0x47d009
cmp al, 0x39
jbe 0x47cf7b
cmp al, 0x5f
je 0x47cf7b
test al, al
jns 0x47cc8b
jmp 0x47cf7b
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov al, byte [ecx + 4]
cmp al, 0xff
jne 0x47d037
mov esi, dword [ecx - 4]
jmp 0x47d03a
movzx esi, al
mov edx, dword [edi + 0x14]
add ecx, 5
cmp edx, esi
lea eax, [edi + 0x18]
jle 0x47d052
xor eax, eax
jmp 0x47cc3f
lea edi, [ecx + esi]
sub ecx, eax
mov dword [esp + 0x2c], ecx
sub ecx, edx
add ecx, esi
lea ebx, [eax + edx]
mov dword [esp + 0x58], ecx
lea ecx, [eax + 3]
mov dword [esp + 0x4c], ebx
lea edx, [eax + 2]
sub ebx, eax
mov dword [esp + 0x50], ecx
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, 1
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x64]
add esi, 0x18
mov dword [esp + 0x30], ecx
mov dword [esp + 0x18], eax
cmp esi, dword [esp + 0x4c]
jae 0x47cc39
mov cl, byte [esi + edi]
mov bl, byte [esi]
mov edx, dword [0x58b5d4]
movzx eax, cl
cmp byte [eax + edx], bl
jne 0x47d101
mov edx, 1
add dword [esp + 0x14], edx
add dword [esp + 0x20], edx
add dword [esp + 0x3c], edx
sub dword [esp + 0x18], edx
add esi, edx
sub dword [esp + 0x30], edx
jmp 0x47d0c3
test cl, cl
jns 0x47d351
mov edx, dword [esp + 0x18]
sub edx, edi
cmp edx, 2
mov dword [esp + 0x48], edx
jl 0x47d14c
mov dl, cl
and dl, 0xe0
cmp dl, 0xc0
jne 0x47d148
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 0x47d1e1
mov edx, dword [esp + 0x48]
cmp edx, 3
jl 0x47d192
mov dl, cl
and dl, 0xf0
cmp dl, 0xe0
jne 0x47d18e
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 0x47d1e1
mov edx, dword [esp + 0x48]
cmp edx, 4
jl 0x47d1df
and cl, 0xf8
cmp cl, 0xf0
jne 0x47d1df
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 0x47d1e1
xor eax, eax
test bl, bl
mov edx, 1
jns 0x47d319
mov ecx, dword [esp + 0x4c]
cmp dword [esp + 0x20], ecx
ja 0x47d240
mov dl, bl
and dl, 0xe0
cmp dl, 0xc0
jne 0x47d240
movzx ecx, byte [esi + 1]
mov edx, 2
add dword [esp + 0x14], edx
add dword [esp + 0x20], edx
add dword [esp + 0x3c], edx
sub dword [esp + 0x18], edx
sub dword [esp + 0x30], edx
and ebx, 0x1f
and ecx, 0x3f
shl ebx, 6
add esi, edx
mov edx, 1
or ecx, ebx
sub edi, edx
jmp 0x47d332
cmp dword [esp + 0x3c], ecx
ja 0x47d2a0
mov dl, bl
and dl, 0xf0
cmp dl, 0xe0
jne 0x47d2a0
movzx ecx, byte [esi + 1]
mov edx, dword [esp + 0x20]
add dword [esp + 0x14], 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 + 0x3c], ebx
sub dword [esp + 0x18], ebx
sub dword [esp + 0x30], ebx
add edx, ebx
add esi, 3
mov dword [esp + 0x20], edx
sub edi, 2
lea edx, [ebx - 2]
jmp 0x47d332
cmp dword [esp + 0x14], ecx
ja 0x47d30f
mov cl, bl
and cl, 0xf8
cmp cl, 0xf0
jne 0x47d30f
movzx ecx, byte [esi + 1]
mov edx, dword [esp + 0x20]
and ebx, 7
add dword [esp + 0x14], 4
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 + 0x3c]
movzx ebx, byte [ebx]
and ebx, 0x3f
shl ecx, 6
or ecx, ebx
mov ebx, 4
add dword [esp + 0x3c], ebx
sub dword [esp + 0x18], ebx
sub dword [esp + 0x30], ebx
add edx, ebx
add esi, 4
mov dword [esp + 0x20], edx
sub edi, 3
lea edx, [ebx - 3]
jmp 0x47d332
xor ecx, ecx
lea edx, [ecx + 1]
jmp 0x47d31c
movzx ecx, bl
add dword [esp + 0x14], edx
add dword [esp + 0x20], edx
add dword [esp + 0x3c], edx
sub dword [esp + 0x18], edx
add esi, edx
sub dword [esp + 0x30], edx
cmp eax, ecx
jne 0x47d356
mov eax, dword [esp + 0x18]
sub eax, edi
cmp eax, dword [esp + 0x30]
jge 0x47d0c3
xor eax, eax
jmp 0x47cc3b
mov edx, 1
mov ecx, dword [esp + 0x2c]
cmp ecx, dword [esp + 0x58]
je 0x47cc1a
add dword [esp + 0x2c], edx
jmp 0x47d090
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x47d387
mov edx, dword [eax - 4]
jmp 0x47d38a
movzx edx, cl
mov ecx, dword [edi + 0x14]
test ecx, ecx
je 0x482f72
add eax, 5
mov dword [esp + 0x48], eax
mov dword [esp + 0x2c], edx
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x48]
mov dword [esp + 0x18], ecx
mov ecx, dword [edi + 0x14]
mov dword [esp + 0x10], eax
lea esi, [edi + 0x18]
mov dword [esp + 0x14], ecx
cmp dword [esp + 0x18], 0
je 0x47c912
mov edx, dword [esp + 0x10]
mov al, byte [edx]
mov bl, byte [esi]
mov edx, dword [0x58b5d4]
mov byte [esp + 0x43], al
movzx eax, al
cmp byte [eax + edx], bl
jne 0x47d3fd
mov eax, 1
add dword [esp + 0x10], eax
sub dword [esp + 0x18], eax
add esi, eax
sub ecx, eax
mov dword [esp + 0x14], ecx
jmp 0x47d5f1
test byte [esp + 0x43], 0x80
je 0x47d68d
cmp dword [esp + 0x18], 2
jl 0x47d452
mov dl, byte [esp + 0x43]
and dl, 0xe0
cmp dl, 0xc0
jne 0x47d452
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
add dword [esp + 0x10], ecx
sub dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x14]
jmp 0x47d516
cmp dword [esp + 0x18], 3
jl 0x47d4a8
mov dl, byte [esp + 0x43]
and dl, 0xf0
cmp dl, 0xe0
jne 0x47d4a8
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
add dword [esp + 0x10], ecx
sub dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x14]
jmp 0x47d516
cmp dword [esp + 0x18], 4
jl 0x47d50a
mov dl, byte [esp + 0x43]
and dl, 0xf8
cmp dl, 0xf0
jne 0x47d50a
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
add dword [esp + 0x10], ecx
sub dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x14]
jmp 0x47d516
add dword [esp + 0x10], 1
xor eax, eax
sub dword [esp + 0x18], 1
test bl, bl
jns 0x47d5dc
cmp ecx, 2
jl 0x47d54f
mov dl, bl
and dl, 0xe0
cmp dl, 0xc0
jne 0x47d54f
movzx edx, byte [esi + 1]
and ebx, 0x1f
shl ebx, 6
and edx, 0x3f
or ebx, edx
add esi, 2
sub ecx, 2
jmp 0x47d5e5
cmp ecx, 3
jl 0x47d58c
mov dl, bl
and dl, 0xf0
cmp dl, 0xe0
jne 0x47d58c
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 0x47d5e5
cmp ecx, 4
jl 0x47d5d5
mov dl, bl
and dl, 0xf8
cmp dl, 0xf0
jne 0x47d5d5
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 0x47d5e5
xor ebx, ebx
jmp 0x47d5df
movzx ebx, bl
add esi, 1
sub ecx, 1
cmp eax, ebx
mov dword [esp + 0x14], ecx
jne 0x47d68d
test ecx, ecx
jne 0x47d3ba
mov al, byte [esi - 1]
cmp al, 0x61
jb 0x47d60c
cmp al, 0x7a
jbe 0x47d63c
cmp al, 0x41
jb 0x47d61c
cmp al, 0x5a
jbe 0x47d63c
cmp al, 0x30
jb 0x47d62c
cmp al, 0x39
jbe 0x47d63c
cmp al, 0x5f
je 0x47d63c
test al, al
jns 0x482f72
cmp dword [esp + 0x18], 0
je 0x482f72
mov eax, dword [esp + 0x10]
mov al, byte [eax]
cmp al, 0x61
jb 0x47d65d
cmp al, 0x7a
jbe 0x47d68d
cmp al, 0x41
jb 0x47d66d
cmp al, 0x5a
jbe 0x47d68d
cmp al, 0x30
jb 0x47d67d
cmp al, 0x39
jbe 0x47d68d
cmp al, 0x5f
je 0x47d68d
test al, al
jns 0x482f72
mov cl, byte [edi + 0x18]
mov esi, dword [esp + 0x2c]
mov edx, dword [esp + 0x48]
jmp 0x47d6a0
add edx, 1
sub esi, 1
cmp cl, 0x61
mov dword [esp + 0x48], edx
mov dword [esp + 0x2c], esi
jb 0x47d6c0
cmp cl, 0x7a
jbe 0x47d6f5
cmp cl, 0x41
jb 0x47d6d2
cmp cl, 0x5a
jbe 0x47d6f5
cmp cl, 0x30
jb 0x47d6e4
cmp cl, 0x39
jbe 0x47d6f5
cmp cl, 0x5f
je 0x47d6f5
test cl, cl
jns 0x47d3a0
test esi, esi
je 0x47d3a0
mov al, byte [edx - 1]
cmp al, 0x61
jb 0x47d70c
cmp al, 0x7a
jbe 0x47d6a0
cmp al, 0x41
jb 0x47d718
cmp al, 0x5a
jbe 0x47d6a0
cmp al, 0x30
jb 0x47d728
cmp al, 0x39
jbe 0x47d6a0
cmp al, 0x5f
je 0x47d6a0
test al, al
js 0x47d6a0
jmp 0x47d3a0
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
push edx
lea eax, [esp + 0x74]
push eax
call fcn.00424170
mov edx, dword [edi + 0x14]
mov esi, dword [esp + 0x70]
cmp edx, esi
lea eax, [edi + 0x18]
jle 0x47d767
xor eax, eax
jmp 0x47cc3f
mov ecx, dword [esp + 0x78]
lea edi, [ecx + esi]
sub ecx, eax
mov dword [esp + 0x2c], ecx
sub ecx, edx
add ecx, esi
mov dword [esp + 0x58], ecx
lea ebx, [edx + eax]
lea ecx, [eax + 3]
mov dword [esp + 0x50], ecx
mov dword [esp + 0x4c], ebx
lea ecx, [eax + 4]
sub ebx, eax
lea edx, [eax + 2]
sub edi, eax
mov dword [esp + 0x60], ecx
mov dword [esp + 0x54], edx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x64], edi
mov ecx, 1
lea esp, [esp]
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x54]
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 0x60]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x64]
add esi, 0x18
mov dword [esp + 0x30], eax
mov dword [esp + 0x18], edx
cmp esi, dword [esp + 0x4c]
jae 0x47da8d
mov cl, byte [esi + edi]
mov bl, byte [esi]
mov edx, dword [0x58b5d0]
movzx eax, cl
cmp byte [eax + edx], bl
jne 0x47d821
mov ecx, 1
add dword [esp + 0x14], ecx
add dword [esp + 0x20], ecx
add dword [esp + 0x3c], ecx
sub dword [esp + 0x18], ecx
add esi, ecx
sub dword [esp + 0x30], ecx
jmp 0x47d7e3
test cl, cl
jns 0x47da71
mov edx, dword [esp + 0x18]
sub edx, edi
cmp edx, 2
mov dword [esp + 0x48], edx
jl 0x47d86c
mov dl, cl
and dl, 0xe0
cmp dl, 0xc0
jne 0x47d868
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 0x47d901
mov edx, dword [esp + 0x48]
cmp edx, 3
jl 0x47d8b2
mov dl, cl
and dl, 0xf0
cmp dl, 0xe0
jne 0x47d8ae
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 0x47d901
mov edx, dword [esp + 0x48]
cmp edx, 4
jl 0x47d8ff
and cl, 0xf8
cmp cl, 0xf0
jne 0x47d8ff
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 0x47d901
xor eax, eax
test bl, bl
mov ecx, 1
jns 0x47da39
mov ecx, dword [esp + 0x4c]
cmp dword [esp + 0x20], ecx
ja 0x47d960
mov dl, bl
and dl, 0xe0
cmp dl, 0xc0
jne 0x47d960
movzx ecx, byte [esi + 1]
and ebx, 0x1f
and ecx, 0x3f
shl ebx, 6
or ebx, ecx
mov ecx, 2
add dword [esp + 0x14], ecx
add dword [esp + 0x20], ecx
add dword [esp + 0x3c], ecx
sub dword [esp + 0x18], ecx
sub dword [esp + 0x30], ecx
add esi, ecx
mov ecx, 1
sub edi, ecx
jmp 0x47da52
cmp dword [esp + 0x3c], ecx
ja 0x47d9c0
mov dl, bl
and dl, 0xf0
cmp dl, 0xe0
jne 0x47d9c0
movzx ecx, byte [esi + 1]
add dword [esp + 0x14], 3
and ebx, 0xf
and ecx, 0x3f
shl ebx, 6
or ebx, ecx
mov ecx, dword [esp + 0x20]
movzx edx, byte [ecx]
and edx, 0x3f
shl ebx, 6
or ebx, edx
mov edx, 3
add dword [esp + 0x3c], edx
sub dword [esp + 0x18], edx
sub dword [esp + 0x30], edx
add ecx, edx
add esi, 3
mov dword [esp + 0x20], ecx
sub edi, 2
lea ecx, [edx - 2]
jmp 0x47da52
cmp dword [esp + 0x14], ecx
ja 0x47da2f
mov cl, bl
and cl, 0xf8
cmp cl, 0xf0
jne 0x47da2f
movzx edx, byte [esi + 1]
mov ecx, dword [esp + 0x20]
add dword [esp + 0x14], 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 + 0x3c]
movzx edx, byte [edx]
and edx, 0x3f
shl ebx, 6
or ebx, edx
mov edx, 4
add dword [esp + 0x3c], edx
sub dword [esp + 0x18], edx
sub dword [esp + 0x30], edx
add ecx, edx
add esi, 4
mov dword [esp + 0x20], ecx
sub edi, 3
lea ecx, [edx - 3]
jmp 0x47da52
xor ebx, ebx
lea ecx, [ebx + 1]
jmp 0x47da3c
movzx ebx, bl
add dword [esp + 0x14], ecx
add dword [esp + 0x20], ecx
add dword [esp + 0x3c], ecx
sub dword [esp + 0x18], ecx
add esi, ecx
sub dword [esp + 0x30], ecx
cmp eax, ebx
jne 0x47da76
mov eax, dword [esp + 0x18]
sub eax, edi
cmp eax, dword [esp + 0x30]
jge 0x47d7e3
xor eax, eax
jmp 0x47cc3b
mov ecx, 1
mov edx, dword [esp + 0x2c]
cmp edx, dword [esp + 0x58]
je 0x47cc1a
add dword [esp + 0x2c], ecx
jmp 0x47d7b0
mov eax, ecx
jmp 0x47cc3b
mov eax, dword [esp + 0x28]
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 + 0x50], eax
je 0x482f72
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x2c], ecx
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x10], edx
mov dword [esp + 0x18], eax
lea esi, [edi + 0x18]
mov dword [esp + 0x14], ecx
cmp dword [esp + 0x18], 0
je 0x47c912
mov edx, dword [esp + 0x10]
mov al, byte [edx]
mov bl, byte [esi]
mov edx, dword [0x58b5d0]
mov byte [esp + 0x43], al
movzx eax, al
cmp byte [edx + eax], bl
jne 0x47db22
mov eax, 1
add dword [esp + 0x10], eax
sub dword [esp + 0x18], eax
add esi, eax
sub ecx, eax
mov dword [esp + 0x14], ecx
jmp 0x47dd16
test byte [esp + 0x43], 0x80
je 0x47ddb2
cmp dword [esp + 0x18], 2
jl 0x47db77
mov dl, byte [esp + 0x43]
and dl, 0xe0
cmp dl, 0xc0
jne 0x47db77
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
add dword [esp + 0x10], ecx
sub dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x14]
jmp 0x47dc3b
cmp dword [esp + 0x18], 3
jl 0x47dbcd
mov dl, byte [esp + 0x43]
and dl, 0xf0
cmp dl, 0xe0
jne 0x47dbcd
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
add dword [esp + 0x10], ecx
sub dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x14]
jmp 0x47dc3b
cmp dword [esp + 0x18], 4
jl 0x47dc2f
mov dl, byte [esp + 0x43]
and dl, 0xf8
cmp dl, 0xf0
jne 0x47dc2f
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
add dword [esp + 0x10], ecx
sub dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x14]
jmp 0x47dc3b
add dword [esp + 0x10], 1
xor eax, eax
sub dword [esp + 0x18], 1
test bl, bl
jns 0x47dd01
cmp ecx, 2
jl 0x47dc74
mov dl, bl
and dl, 0xe0
cmp dl, 0xc0
jne 0x47dc74
movzx edx, byte [esi + 1]
and ebx, 0x1f
and edx, 0x3f
shl ebx, 6
or edx, ebx
add esi, 2
sub ecx, 2
jmp 0x47dd0a
cmp ecx, 3
jl 0x47dcb1
mov dl, bl
and dl, 0xf0
cmp dl, 0xe0
jne 0x47dcb1
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 0x47dd0a
cmp ecx, 4
jl 0x47dcfa
mov dl, bl
and dl, 0xf8
cmp dl, 0xf0
jne 0x47dcfa
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 0x47dd0a
xor edx, edx
jmp 0x47dd04
movzx edx, bl
add esi, 1
sub ecx, 1
cmp eax, edx
mov dword [esp + 0x14], ecx
jne 0x47ddb2
test ecx, ecx
jne 0x47dadf
mov al, byte [esi - 1]
cmp al, 0x61
jb 0x47dd31
cmp al, 0x7a
jbe 0x47dd61
cmp al, 0x41
jb 0x47dd41
cmp al, 0x5a
jbe 0x47dd61
cmp al, 0x30
jb 0x47dd51
cmp al, 0x39
jbe 0x47dd61
cmp al, 0x5f
je 0x47dd61
test al, al
jns 0x482f72
cmp dword [esp + 0x18], 0
je 0x482f72
mov eax, dword [esp + 0x10]
mov al, byte [eax]
cmp al, 0x61
jb 0x47dd82
cmp al, 0x7a
jbe 0x47ddb2
cmp al, 0x41
jb 0x47dd92
cmp al, 0x5a
jbe 0x47ddb2
cmp al, 0x30
jb 0x47dda2
cmp al, 0x39
jbe 0x47ddb2
cmp al, 0x5f
je 0x47ddb2
test al, al
jns 0x482f72
mov cl, byte [edi + 0x18]
jmp 0x47ddc0
mov eax, 1
add dword [esp + 0x4c], eax
sub dword [esp + 0x2c], eax
cmp cl, 0x61
jb 0x47dddf
cmp cl, 0x7a
jbe 0x47de14
cmp cl, 0x41
jb 0x47ddf1
cmp cl, 0x5a
jbe 0x47de14
cmp cl, 0x30
jb 0x47de03
cmp cl, 0x39
jbe 0x47de14
cmp cl, 0x5f
je 0x47de14
test cl, cl
jns 0x47dac4
cmp dword [esp + 0x2c], 0
je 0x47dac4
mov edx, dword [esp + 0x4c]
mov al, byte [edx - 1]
cmp al, 0x61
jb 0x47de32
cmp al, 0x7a
jbe 0x47ddc0
cmp al, 0x41
jb 0x47de3e
cmp al, 0x5a
jbe 0x47ddc0
cmp al, 0x30
jb 0x47de4e
cmp al, 0x39
jbe 0x47ddc0
cmp al, 0x5f
je 0x47ddc0
test al, al
js 0x47ddc0
jmp 0x47dac4
mov eax, dword [esp + 0x28]
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]
jle 0x47de8d
xor eax, eax
jmp 0x47cc3f
mov ecx, dword [esp + 0x78]
lea edi, [ecx + esi]
sub ecx, eax
mov dword [esp + 0x2c], ecx
sub ecx, edx
add ecx, esi
lea ebx, [eax + edx]
mov dword [esp + 0x58], ecx
lea ecx, [eax + 3]
mov dword [esp + 0x4c], ebx
lea edx, [eax + 2]
sub ebx, eax
mov dword [esp + 0x50], ecx
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, 1
nop
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x64]
add esi, 0x18
mov dword [esp + 0x30], ecx
mov dword [esp + 0x18], eax
cmp esi, dword [esp + 0x4c]
jae 0x47cc39
mov cl, byte [esi + edi]
mov bl, byte [esi]
mov edx, dword [0x58b5d4]
movzx eax, cl
cmp byte [eax + edx], bl
jne 0x47df41
mov edx, 1
add dword [esp + 0x14], edx
add dword [esp + 0x20], edx
add dword [esp + 0x3c], edx
sub dword [esp + 0x18], edx
add esi, edx
sub dword [esp + 0x30], edx
jmp 0x47df03
test cl, cl
jns 0x47e191
mov edx, dword [esp + 0x18]
sub edx, edi
cmp edx, 2
mov dword [esp + 0x48], edx
jl 0x47df8c
mov dl, cl
and dl, 0xe0
cmp dl, 0xc0
jne 0x47df88
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 0x47e021
mov edx, dword [esp + 0x48]
cmp edx, 3
jl 0x47dfd2
mov dl, cl
and dl, 0xf0
cmp dl, 0xe0
jne 0x47dfce
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 0x47e021
mov edx, dword [esp + 0x48]
cmp edx, 4
jl 0x47e01f
and cl, 0xf8
cmp cl, 0xf0
jne 0x47e01f
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 0x47e021
xor eax, eax
test bl, bl
mov edx, 1
jns 0x47e159
mov ecx, dword [esp + 0x4c]
cmp dword [esp + 0x20], ecx
ja 0x47e080
mov dl, bl
and dl, 0xe0
cmp dl, 0xc0
jne 0x47e080
movzx ecx, byte [esi + 1]
mov edx, 2
add dword [esp + 0x14], edx
add dword [esp + 0x20], edx
add dword [esp + 0x3c], edx
sub dword [esp + 0x18], edx
sub dword [esp + 0x30], edx
and ebx, 0x1f
and ecx, 0x3f
shl ebx, 6
add esi, edx
mov edx, 1
or ecx, ebx
sub edi, edx
jmp 0x47e172
cmp dword [esp + 0x3c], ecx
ja 0x47e0e0
mov dl, bl
and dl, 0xf0
cmp dl, 0xe0
jne 0x47e0e0
movzx ecx, byte [esi + 1]
mov edx, dword [esp + 0x20]
add dword [esp + 0x14], 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 + 0x3c], ebx
sub dword [esp + 0x18], ebx
sub dword [esp + 0x30], ebx
add edx, ebx
add esi, 3
mov dword [esp + 0x20], edx
sub edi, 2
lea edx, [ebx - 2]
jmp 0x47e172
cmp dword [esp + 0x14], ecx
ja 0x47e14f
mov cl, bl
and cl, 0xf8
cmp cl, 0xf0
jne 0x47e14f
movzx ecx, byte [esi + 1]
mov edx, dword [esp + 0x20]
and ebx, 7
add dword [esp + 0x14], 4
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 + 0x3c]
movzx ebx, byte [ebx]
and ebx, 0x3f
shl ecx, 6
or ecx, ebx
mov ebx, 4
add dword [esp + 0x3c], ebx
sub dword [esp + 0x18], ebx
sub dword [esp + 0x30], ebx
add edx, ebx
add esi, 4
mov dword [esp + 0x20], edx
sub edi, 3
lea edx, [ebx - 3]
jmp 0x47e172
xor ecx, ecx
lea edx, [ecx + 1]
jmp 0x47e15c
movzx ecx, bl
add dword [esp + 0x14], edx
add dword [esp + 0x20], edx
add dword [esp + 0x3c], edx
sub dword [esp + 0x18], edx
add esi, edx
sub dword [esp + 0x30], edx
cmp eax, ecx
jne 0x47e196
mov eax, dword [esp + 0x18]
sub eax, edi
cmp eax, dword [esp + 0x30]
jge 0x47df03
xor eax, eax
jmp 0x47cc3b
mov edx, 1
mov ecx, dword [esp + 0x2c]
cmp ecx, dword [esp + 0x58]
je 0x47cc1a
add dword [esp + 0x2c], edx
jmp 0x47ded0
mov edx, dword [esp + 0x28]
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 + 0x50], eax
je 0x482f72
mov edx, dword [esp + 0x78]
mov eax, dword [esp + 0x70]
mov dword [esp + 0x4c], edx
mov dword [esp + 0x2c], eax
lea ecx, [ecx]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x18], edx
lea esi, [edi + 0x18]
mov dword [esp + 0x14], ecx
cmp dword [esp + 0x18], 0
je 0x47c912
mov eax, dword [esp + 0x10]
mov al, byte [eax]
mov bl, byte [esi]
mov edx, dword [0x58b5d4]
mov byte [esp + 0x43], al
movzx eax, al
cmp byte [eax + edx], bl
jne 0x47e23e
mov eax, 1
add dword [esp + 0x10], eax
sub dword [esp + 0x18], eax
add esi, eax
sub ecx, eax
mov dword [esp + 0x14], ecx
jmp 0x47e432
test byte [esp + 0x43], 0x80
je 0x47e4ce
cmp dword [esp + 0x18], 2
jl 0x47e293
mov dl, byte [esp + 0x43]
and dl, 0xe0
cmp dl, 0xc0
jne 0x47e293
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
add dword [esp + 0x10], ecx
sub dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x14]
jmp 0x47e357
cmp dword [esp + 0x18], 3
jl 0x47e2e9
mov dl, byte [esp + 0x43]
and dl, 0xf0
cmp dl, 0xe0
jne 0x47e2e9
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
add dword [esp + 0x10], ecx
sub dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x14]
jmp 0x47e357
cmp dword [esp + 0x18], 4
jl 0x47e34b
mov dl, byte [esp + 0x43]
and dl, 0xf8
cmp dl, 0xf0
jne 0x47e34b
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
add dword [esp + 0x10], ecx
sub dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x14]
jmp 0x47e357
add dword [esp + 0x10], 1
xor eax, eax
sub dword [esp + 0x18], 1
test bl, bl
jns 0x47e41d
cmp ecx, 2
jl 0x47e390
mov dl, bl
and dl, 0xe0
cmp dl, 0xc0
jne 0x47e390
movzx edx, byte [esi + 1]
and ebx, 0x1f
and edx, 0x3f
shl ebx, 6
or edx, ebx
add esi, 2
sub ecx, 2
jmp 0x47e426
cmp ecx, 3
jl 0x47e3cd
mov dl, bl
and dl, 0xf0
cmp dl, 0xe0
jne 0x47e3cd
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 0x47e426
cmp ecx, 4
jl 0x47e416
mov dl, bl
and dl, 0xf8
cmp dl, 0xf0
jne 0x47e416
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 0x47e426
xor edx, edx
jmp 0x47e420
movzx edx, bl
add esi, 1
sub ecx, 1
cmp eax, edx
mov dword [esp + 0x14], ecx
jne 0x47e4ce
test ecx, ecx
jne 0x47e1fb
mov al, byte [esi - 1]
cmp al, 0x61
jb 0x47e44d
cmp al, 0x7a
jbe 0x47e47d
cmp al, 0x41
jb 0x47e45d
cmp al, 0x5a
jbe 0x47e47d
cmp al, 0x30
jb 0x47e46d
cmp al, 0x39
jbe 0x47e47d
cmp al, 0x5f
je 0x47e47d
test al, al
jns 0x482f72
cmp dword [esp + 0x18], 0
je 0x482f72
mov eax, dword [esp + 0x10]
mov al, byte [eax]
cmp al, 0x61
jb 0x47e49e
cmp al, 0x7a
jbe 0x47e4ce
cmp al, 0x41
jb 0x47e4ae
cmp al, 0x5a
jbe 0x47e4ce
cmp al, 0x30
jb 0x47e4be
cmp al, 0x39
jbe 0x47e4ce
cmp al, 0x5f
je 0x47e4ce
test al, al
jns 0x482f72
mov cl, byte [edi + 0x18]
mov eax, 1
add dword [esp + 0x4c], eax
sub dword [esp + 0x2c], eax
cmp cl, 0x61
jb 0x47e4f0
cmp cl, 0x7a
jbe 0x47e525
cmp cl, 0x41
jb 0x47e502
cmp cl, 0x5a
jbe 0x47e525
cmp cl, 0x30
jb 0x47e514
cmp cl, 0x39
jbe 0x47e525
cmp cl, 0x5f
je 0x47e525
test cl, cl
jns 0x47e1e0
cmp dword [esp + 0x2c], 0
je 0x47e1e0
mov edx, dword [esp + 0x4c]
mov al, byte [edx - 1]
cmp al, 0x61
jb 0x47e543
cmp al, 0x7a
jbe 0x47e4d1
cmp al, 0x41
jb 0x47e54f
cmp al, 0x5a
jbe 0x47e4d1
cmp al, 0x30
jb 0x47e55f
cmp al, 0x39
jbe 0x47e4d1
cmp al, 0x5f
je 0x47e4d1
test al, al
js 0x47e4d1
jmp 0x47e1e0
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov al, byte [ecx + 4]
cmp al, 0xff
jne 0x47e58d
mov esi, dword [ecx - 4]
jmp 0x47e590
movzx esi, al
mov edx, dword [edi + 0x14]
add ecx, 5
cmp edx, esi
lea eax, [edi + 0x18]
jle 0x47e5a8
xor eax, eax
jmp 0x4887e9
lea edi, [ecx + esi]
sub ecx, eax
mov dword [esp + 0x2c], ecx
sub ecx, edx
add ecx, esi
lea ebx, [eax + edx]
mov dword [esp + 0x58], ecx
lea ecx, [eax + 3]
mov dword [esp + 0x4c], ebx
lea edx, [eax + 2]
sub ebx, eax
mov dword [esp + 0x50], ecx
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, 1
jmp 0x47e5f0
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x64]
add esi, 0x18
mov dword [esp + 0x30], ecx
mov dword [esp + 0x18], eax
cmp esi, dword [esp + 0x4c]
jae 0x47fe21
mov cl, byte [esi + edi]
mov bl, byte [esi]
mov edx, dword [0x58b5d0]
movzx eax, cl
cmp byte [eax + edx], bl
jne 0x47e661
mov edx, 1
add dword [esp + 0x14], edx
add dword [esp + 0x20], edx
add dword [esp + 0x3c], edx
sub dword [esp + 0x18], edx
add esi, edx
sub dword [esp + 0x30], edx
jmp 0x47e623
test cl, cl
jns 0x47e8b5
mov edx, dword [esp + 0x18]
sub edx, edi
cmp edx, 2
mov dword [esp + 0x48], edx
jl 0x47e6ac
mov dl, cl
and dl, 0xe0
cmp dl, 0xc0
jne 0x47e6a8
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 0x47e741
mov edx, dword [esp + 0x48]
cmp edx, 3
jl 0x47e6f2
mov dl, cl
and dl, 0xf0
cmp dl, 0xe0
jne 0x47e6ee
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 0x47e741
mov edx, dword [esp + 0x48]
cmp edx, 4
jl 0x47e73f
and cl, 0xf8
cmp cl, 0xf0
jne 0x47e73f
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 0x47e741
xor eax, eax
test bl, bl
mov edx, 1
jns 0x47e879
mov ecx, dword [esp + 0x4c]
cmp dword [esp + 0x20], ecx
ja 0x47e7a0
mov dl, bl
and dl, 0xe0
cmp dl, 0xc0
jne 0x47e7a0
movzx ecx, byte [esi + 1]
mov edx, 2
add dword [esp + 0x14], edx
add dword [esp + 0x20], edx
add dword [esp + 0x3c], edx
sub dword [esp + 0x18], edx
sub dword [esp + 0x30], edx
and ebx, 0x1f
and ecx, 0x3f
shl ebx, 6
add esi, edx
mov edx, 1
or ecx, ebx
sub edi, edx
jmp 0x47e892
cmp dword [esp + 0x3c], ecx
ja 0x47e800
mov dl, bl
and dl, 0xf0
cmp dl, 0xe0
jne 0x47e800
movzx ecx, byte [esi + 1]
mov edx, dword [esp + 0x20]
add dword [esp + 0x14], 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 + 0x3c], ebx
sub dword [esp + 0x18], ebx
sub dword [esp + 0x30], ebx
add edx, ebx
add esi, 3
mov dword [esp + 0x20], edx
sub edi, 2
lea edx, [ebx - 2]
jmp 0x47e892
cmp dword [esp + 0x14], ecx
ja 0x47e86f
mov cl, bl
and cl, 0xf8
cmp cl, 0xf0
jne 0x47e86f
movzx ecx, byte [esi + 1]
mov edx, dword [esp + 0x20]
and ebx, 7
add dword [esp + 0x14], 4
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 + 0x3c]
movzx ebx, byte [ebx]
and ebx, 0x3f
shl ecx, 6
or ecx, ebx
mov ebx, 4
add dword [esp + 0x3c], ebx
sub dword [esp + 0x18], ebx
sub dword [esp + 0x30], ebx
add edx, ebx
add esi, 4
mov dword [esp + 0x20], edx
sub edi, 3
lea edx, [ebx - 3]
jmp 0x47e892
xor ecx, ecx
lea edx, [ecx + 1]
jmp 0x47e87c
movzx ecx, bl
add dword [esp + 0x14], edx
add dword [esp + 0x20], edx
add dword [esp + 0x3c], edx
sub dword [esp + 0x18], edx
add esi, edx
sub dword [esp + 0x30], edx
cmp eax, ecx
jne 0x47e8ba
mov eax, dword [esp + 0x18]
sub eax, edi
cmp eax, dword [esp + 0x30]
jge 0x47e623
mov edi, dword [esp + 0x10]
xor eax, eax
jmp 0x4887e9
mov edx, 1
mov ecx, dword [esp + 0x2c]
cmp ecx, dword [esp + 0x58]
je 0x47e8aa
add dword [esp + 0x2c], edx
jmp 0x47e5f0
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x47e8e7
mov ecx, dword [eax - 4]
jmp 0x47e8ea
movzx ecx, cl
cmp dword [edi + 0x14], 0
je 0x4873f2
add eax, 5
mov dword [esp + 0x4c], eax
mov dword [esp + 0x2c], ecx
nop
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x18], ecx
mov ecx, dword [edi + 0x14]
mov dword [esp + 0x10], eax
lea esi, [edi + 0x18]
mov dword [esp + 0x14], ecx
cmp dword [esp + 0x18], 0
je 0x4873c0
mov edx, dword [esp + 0x10]
mov al, byte [edx]
mov bl, byte [esi]
mov edx, dword [0x58b5d0]
mov byte [esp + 0x43], al
movzx eax, al
cmp byte [eax + edx], bl
jne 0x47e95d
mov eax, 1
add dword [esp + 0x10], eax
sub dword [esp + 0x18], eax
add esi, eax
sub ecx, eax
mov dword [esp + 0x14], ecx
jmp 0x47eb51
test byte [esp + 0x43], 0x80
je 0x47ebed
cmp dword [esp + 0x18], 2
jl 0x47e9b2
mov dl, byte [esp + 0x43]
and dl, 0xe0
cmp dl, 0xc0
jne 0x47e9b2
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
add dword [esp + 0x10], ecx
sub dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x14]
jmp 0x47ea76
cmp dword [esp + 0x18], 3
jl 0x47ea08
mov dl, byte [esp + 0x43]
and dl, 0xf0
cmp dl, 0xe0
jne 0x47ea08
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
add dword [esp + 0x10], ecx
sub dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x14]
jmp 0x47ea76
cmp dword [esp + 0x18], 4
jl 0x47ea6a
mov dl, byte [esp + 0x43]
and dl, 0xf8
cmp dl, 0xf0
jne 0x47ea6a
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
add dword [esp + 0x10], ecx
sub dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x14]
jmp 0x47ea76
add dword [esp + 0x10], 1
xor eax, eax
sub dword [esp + 0x18], 1
test bl, bl
jns 0x47eb3c
cmp ecx, 2
jl 0x47eaaf
mov dl, bl
and dl, 0xe0
cmp dl, 0xc0
jne 0x47eaaf
movzx edx, byte [esi + 1]
and ebx, 0x1f
and edx, 0x3f
shl ebx, 6
or edx, ebx
add esi, 2
sub ecx, 2
jmp 0x47eb45
cmp ecx, 3
jl 0x47eaec
mov dl, bl
and dl, 0xf0
cmp dl, 0xe0
jne 0x47eaec
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 0x47eb45
cmp ecx, 4
jl 0x47eb35
mov dl, bl
and dl, 0xf8
cmp dl, 0xf0
jne 0x47eb35
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 0x47eb45
xor edx, edx
jmp 0x47eb3f
movzx edx, bl
add esi, 1
sub ecx, 1
cmp eax, edx
mov dword [esp + 0x14], ecx
jne 0x47ebed
test ecx, ecx
jne 0x47e91a
mov al, byte [esi - 1]
cmp al, 0x61
jb 0x47eb6c
cmp al, 0x7a
jbe 0x47eb9c
cmp al, 0x41
jb 0x47eb7c
cmp al, 0x5a
jbe 0x47eb9c
cmp al, 0x30
jb 0x47eb8c
cmp al, 0x39
jbe 0x47eb9c
cmp al, 0x5f
je 0x47eb9c
test al, al
jns 0x4873f2
cmp dword [esp + 0x18], 0
je 0x4873f2
mov eax, dword [esp + 0x10]
mov al, byte [eax]
cmp al, 0x61
jb 0x47ebbd
cmp al, 0x7a
jbe 0x47ebed
cmp al, 0x41
jb 0x47ebcd
cmp al, 0x5a
jbe 0x47ebed
cmp al, 0x30
jb 0x47ebdd
cmp al, 0x39
jbe 0x47ebed
cmp al, 0x5f
je 0x47ebed
test al, al
jns 0x4873f2
mov cl, byte [edi + 0x18]
mov eax, 1
add dword [esp + 0x4c], eax
sub dword [esp + 0x2c], eax
cmp cl, 0x61
jb 0x47ec0f
cmp cl, 0x7a
jbe 0x47ec44
cmp cl, 0x41
jb 0x47ec21
cmp cl, 0x5a
jbe 0x47ec44
cmp cl, 0x30
jb 0x47ec33
cmp cl, 0x39
jbe 0x47ec44
cmp cl, 0x5f
je 0x47ec44
test cl, cl
jns 0x47e900
cmp dword [esp + 0x2c], 0
je 0x47e900
mov edx, dword [esp + 0x4c]
mov al, byte [edx - 1]
cmp al, 0x61
jb 0x47ec62
cmp al, 0x7a
jbe 0x47ebf0
cmp al, 0x41
jb 0x47ec6e
cmp al, 0x5a
jbe 0x47ebf0
cmp al, 0x30
jb 0x47ec7e
cmp al, 0x39
jbe 0x47ebf0
cmp al, 0x5f
je 0x47ebf0
test al, al
js 0x47ebf0
jmp 0x47e900
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov al, byte [ecx + 4]
cmp al, 0xff
jne 0x47ecac
mov esi, dword [ecx - 4]
jmp 0x47ecaf
movzx esi, al
mov edx, dword [edi + 0x14]
add ecx, 5
cmp edx, esi
lea eax, [edi + 0x18]
jle 0x47ecc7
xor eax, eax
jmp 0x4887e9
lea edi, [ecx + esi]
sub ecx, eax
mov dword [esp + 0x2c], ecx
sub ecx, edx
add ecx, esi
lea ebx, [eax + edx]
mov dword [esp + 0x58], ecx
lea ecx, [eax + 3]
mov dword [esp + 0x4c], ebx
lea edx, [eax + 2]
sub ebx, eax
mov dword [esp + 0x50], ecx
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, 1
jmp 0x47ed10
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x64]
add esi, 0x18
mov dword [esp + 0x30], ecx
mov dword [esp + 0x18], eax
cmp esi, dword [esp + 0x4c]
jae 0x47fe21
mov cl, byte [esi + edi]
mov bl, byte [esi]
mov edx, dword [0x58b5d4]
movzx eax, cl
cmp byte [eax + edx], bl
jne 0x47ed81
mov edx, 1
add dword [esp + 0x14], edx
add dword [esp + 0x20], edx
add dword [esp + 0x3c], edx
sub dword [esp + 0x18], edx
add esi, edx
sub dword [esp + 0x30], edx
jmp 0x47ed43
test cl, cl
jns 0x47efd5
mov edx, dword [esp + 0x18]
sub edx, edi
cmp edx, 2
mov dword [esp + 0x48], edx
jl 0x47edcc
mov dl, cl
and dl, 0xe0
cmp dl, 0xc0
jne 0x47edc8
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 0x47ee61
mov edx, dword [esp + 0x48]
cmp edx, 3
jl 0x47ee12
mov dl, cl
and dl, 0xf0
cmp dl, 0xe0
jne 0x47ee0e
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 0x47ee61
mov edx, dword [esp + 0x48]
cmp edx, 4
jl 0x47ee5f
and cl, 0xf8
cmp cl, 0xf0
jne 0x47ee5f
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 0x47ee61
xor eax, eax
test bl, bl
mov edx, 1
jns 0x47ef99
mov ecx, dword [esp + 0x4c]
cmp dword [esp + 0x20], ecx
ja 0x47eec0
mov dl, bl
and dl, 0xe0
cmp dl, 0xc0
jne 0x47eec0
movzx ecx, byte [esi + 1]
mov edx, 2
add dword [esp + 0x14], edx
add dword [esp + 0x20], edx
add dword [esp + 0x3c], edx
sub dword [esp + 0x18], edx
sub dword [esp + 0x30], edx
and ebx, 0x1f
and ecx, 0x3f
shl ebx, 6
add esi, edx
mov edx, 1
or ecx, ebx
sub edi, edx
jmp 0x47efb2
cmp dword [esp + 0x3c], ecx
ja 0x47ef20
mov dl, bl
and dl, 0xf0
cmp dl, 0xe0
jne 0x47ef20
movzx ecx, byte [esi + 1]
mov edx, dword [esp + 0x20]
add dword [esp + 0x14], 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 + 0x3c], ebx
sub dword [esp + 0x18], ebx
sub dword [esp + 0x30], ebx
add edx, ebx
add esi, 3
mov dword [esp + 0x20], edx
sub edi, 2
lea edx, [ebx - 2]
jmp 0x47efb2
cmp dword [esp + 0x14], ecx
ja 0x47ef8f
mov cl, bl
and cl, 0xf8
cmp cl, 0xf0
jne 0x47ef8f
movzx ecx, byte [esi + 1]
mov edx, dword [esp + 0x20]
and ebx, 7
add dword [esp + 0x14], 4
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 + 0x3c]
movzx ebx, byte [ebx]
and ebx, 0x3f
shl ecx, 6
or ecx, ebx
mov ebx, 4
add dword [esp + 0x3c], ebx
sub dword [esp + 0x18], ebx
sub dword [esp + 0x30], ebx
add edx, ebx
add esi, 4
mov dword [esp + 0x20], edx
sub edi, 3
lea edx, [ebx - 3]
jmp 0x47efb2
xor ecx, ecx
lea edx, [ecx + 1]
jmp 0x47ef9c
movzx ecx, bl
add dword [esp + 0x14], edx
add dword [esp + 0x20], edx
add dword [esp + 0x3c], edx
sub dword [esp + 0x18], edx
add esi, edx
sub dword [esp + 0x30], edx
cmp eax, ecx
jne 0x47efda
mov eax, dword [esp + 0x18]
sub eax, edi
cmp eax, dword [esp + 0x30]
jge 0x47ed43
mov edi, dword [esp + 0x10]
xor eax, eax
jmp 0x4887e9
mov edx, 1
mov ecx, dword [esp + 0x2c]
cmp ecx, dword [esp + 0x58]
je 0x47e8aa
add dword [esp + 0x2c], edx
jmp 0x47ed10
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x47f00b
mov ecx, dword [eax - 4]
jmp 0x47f00e
movzx ecx, cl
cmp dword [edi + 0x14], 0
je 0x4873f2
add eax, 5
mov dword [esp + 0x4c], eax
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x18], ecx
mov ecx, dword [edi + 0x14]
mov dword [esp + 0x10], eax
lea esi, [edi + 0x18]
mov dword [esp + 0x14], ecx
cmp dword [esp + 0x18], 0
je 0x4873c0
mov edx, dword [esp + 0x10]
mov al, byte [edx]
mov bl, byte [esi]
mov edx, dword [0x58b5d4]
mov byte [esp + 0x43], al
movzx eax, al
cmp byte [eax + edx], bl
jne 0x47f080
mov eax, 1
add dword [esp + 0x10], eax
sub dword [esp + 0x18], eax
add esi, eax
sub ecx, eax
mov dword [esp + 0x14], ecx
jmp 0x47f274
test byte [esp + 0x43], 0x80
je 0x47f310
cmp dword [esp + 0x18], 2
jl 0x47f0d5
mov dl, byte [esp + 0x43]
and dl, 0xe0
cmp dl, 0xc0
jne 0x47f0d5
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
add dword [esp + 0x10], ecx
sub dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x14]
jmp 0x47f199
cmp dword [esp + 0x18], 3
jl 0x47f12b
mov dl, byte [esp + 0x43]
and dl, 0xf0
cmp dl, 0xe0
jne 0x47f12b
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
add dword [esp + 0x10], ecx
sub dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x14]
jmp 0x47f199
cmp dword [esp + 0x18], 4
jl 0x47f18d
mov dl, byte [esp + 0x43]
and dl, 0xf8
cmp dl, 0xf0
jne 0x47f18d
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
add dword [esp + 0x10], ecx
sub dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x14]
jmp 0x47f199
add dword [esp + 0x10], 1
xor eax, eax
sub dword [esp + 0x18], 1
test bl, bl
jns 0x47f25f
cmp ecx, 2
jl 0x47f1d2
mov dl, bl
and dl, 0xe0
cmp dl, 0xc0
jne 0x47f1d2
movzx edx, byte [esi + 1]
and ebx, 0x1f
and edx, 0x3f
shl ebx, 6
or edx, ebx
add esi, 2
sub ecx, 2
jmp 0x47f268
cmp ecx, 3
jl 0x47f20f
mov dl, bl
and dl, 0xf0
cmp dl, 0xe0
jne 0x47f20f
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 0x47f268
cmp ecx, 4
jl 0x47f258
mov dl, bl
and dl, 0xf8
cmp dl, 0xf0
jne 0x47f258
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 0x47f268
xor edx, edx
jmp 0x47f262
movzx edx, bl
add esi, 1
sub ecx, 1
cmp eax, edx
mov dword [esp + 0x14], ecx
jne 0x47f310
test ecx, ecx
jne 0x47f03d
mov al, byte [esi - 1]
cmp al, 0x61
jb 0x47f28f
cmp al, 0x7a
jbe 0x47f2bf
cmp al, 0x41
jb 0x47f29f
cmp al, 0x5a
jbe 0x47f2bf
cmp al, 0x30
jb 0x47f2af
cmp al, 0x39
jbe 0x47f2bf
cmp al, 0x5f
je 0x47f2bf
test al, al
jns 0x4873f2
cmp dword [esp + 0x18], 0
je 0x4873f2
mov eax, dword [esp + 0x10]
mov al, byte [eax]
cmp al, 0x61
jb 0x47f2e0
cmp al, 0x7a
jbe 0x47f310
cmp al, 0x41
jb 0x47f2f0
cmp al, 0x5a
jbe 0x47f310
cmp al, 0x30
jb 0x47f300
cmp al, 0x39
jbe 0x47f310
cmp al, 0x5f
je 0x47f310
test al, al
jns 0x4873f2
mov cl, byte [edi + 0x18]
mov eax, 1
add dword [esp + 0x4c], eax
sub dword [esp + 0x2c], eax
cmp cl, 0x61
jb 0x47f332
cmp cl, 0x7a
jbe 0x47f367
cmp cl, 0x41
jb 0x47f344
cmp cl, 0x5a
jbe 0x47f367
cmp cl, 0x30
jb 0x47f356
cmp cl, 0x39
jbe 0x47f367
cmp cl, 0x5f
je 0x47f367
test cl, cl
jns 0x47f023
cmp dword [esp + 0x2c], 0
je 0x47f023
mov edx, dword [esp + 0x4c]
mov al, byte [edx - 1]
cmp al, 0x61
jb 0x47f385
cmp al, 0x7a
jbe 0x47f313
cmp al, 0x41
jb 0x47f391
cmp al, 0x5a
jbe 0x47f313
cmp al, 0x30
jb 0x47f3a1
cmp al, 0x39
jbe 0x47f313
cmp al, 0x5f
je 0x47f313
test al, al
js 0x47f313
jmp 0x47f023
mov eax, dword [esp + 0x28]
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]
jle 0x47f3e0
xor eax, eax
jmp 0x4887e9
mov ecx, dword [esp + 0x78]
lea edi, [ecx + esi]
sub ecx, eax
mov dword [esp + 0x2c], ecx
sub ecx, edx
add ecx, esi
lea ebx, [eax + edx]
mov dword [esp + 0x58], ecx
lea ecx, [eax + 3]
mov dword [esp + 0x4c], ebx
lea edx, [eax + 2]
sub ebx, eax
mov dword [esp + 0x50], ecx
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, 1
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x64]
add esi, 0x18
mov dword [esp + 0x30], ecx
mov dword [esp + 0x18], eax
cmp esi, dword [esp + 0x4c]
jae 0x47fe21
mov cl, byte [esi + edi]
mov bl, byte [esi]
mov edx, dword [0x58b5d0]
movzx eax, cl
cmp byte [eax + edx], bl
jne 0x47f493
mov edx, 1
add dword [esp + 0x14], edx
add dword [esp + 0x20], edx
add dword [esp + 0x3c], edx
sub dword [esp + 0x18], edx
add esi, edx
sub dword [esp + 0x30], edx
jmp 0x47f455
test cl, cl
jns 0x47f6e7
mov edx, dword [esp + 0x18]
sub edx, edi
cmp edx, 2
mov dword [esp + 0x48], edx
jl 0x47f4de
mov dl, cl
and dl, 0xe0
cmp dl, 0xc0
jne 0x47f4da
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 0x47f573
mov edx, dword [esp + 0x48]
cmp edx, 3
jl 0x47f524
mov dl, cl
and dl, 0xf0
cmp dl, 0xe0
jne 0x47f520
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 0x47f573
mov edx, dword [esp + 0x48]
cmp edx, 4
jl 0x47f571
and cl, 0xf8
cmp cl, 0xf0
jne 0x47f571
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 0x47f573
xor eax, eax
test bl, bl
mov edx, 1
jns 0x47f6ab
mov ecx, dword [esp + 0x4c]
cmp dword [esp + 0x20], ecx
ja 0x47f5d2
mov dl, bl
and dl, 0xe0
cmp dl, 0xc0
jne 0x47f5d2
movzx ecx, byte [esi + 1]
mov edx, 2
add dword [esp + 0x14], edx
add dword [esp + 0x20], edx
add dword [esp + 0x3c], edx
sub dword [esp + 0x18], edx
sub dword [esp + 0x30], edx
and ebx, 0x1f
and ecx, 0x3f
shl ebx, 6
add esi, edx
mov edx, 1
or ecx, ebx
sub edi, edx
jmp 0x47f6c4
cmp dword [esp + 0x3c], ecx
ja 0x47f632
mov dl, bl
and dl, 0xf0
cmp dl, 0xe0
jne 0x47f632
movzx ecx, byte [esi + 1]
mov edx, dword [esp + 0x20]
add dword [esp + 0x14], 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 + 0x3c], ebx
sub dword [esp + 0x18], ebx
sub dword [esp + 0x30], ebx
add edx, ebx
add esi, 3
mov dword [esp + 0x20], edx
sub edi, 2
lea edx, [ebx - 2]
jmp 0x47f6c4
cmp dword [esp + 0x14], ecx
ja 0x47f6a1
mov cl, bl
and cl, 0xf8
cmp cl, 0xf0
jne 0x47f6a1
movzx ecx, byte [esi + 1]
mov edx, dword [esp + 0x20]
and ebx, 7
add dword [esp + 0x14], 4
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 + 0x3c]
movzx ebx, byte [ebx]
and ebx, 0x3f
shl ecx, 6
or ecx, ebx
mov ebx, 4
add dword [esp + 0x3c], ebx
sub dword [esp + 0x18], ebx
sub dword [esp + 0x30], ebx
add edx, ebx
add esi, 4
mov dword [esp + 0x20], edx
sub edi, 3
lea edx, [ebx - 3]
jmp 0x47f6c4
xor ecx, ecx
lea edx, [ecx + 1]
jmp 0x47f6ae
movzx ecx, bl
add dword [esp + 0x14], edx
add dword [esp + 0x20], edx
add dword [esp + 0x3c], edx
sub dword [esp + 0x18], edx
add esi, edx
sub dword [esp + 0x30], edx
cmp eax, ecx
jne 0x47f6ec
mov eax, dword [esp + 0x18]
sub eax, edi
cmp eax, dword [esp + 0x30]
jge 0x47f455
mov edi, dword [esp + 0x10]
xor eax, eax
jmp 0x4887e9
mov edx, 1
mov ecx, dword [esp + 0x2c]
cmp ecx, dword [esp + 0x58]
je 0x47e8aa
add dword [esp + 0x2c], edx
jmp 0x47f422
mov edx, dword [esp + 0x28]
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 + 0x50], eax
je 0x4873f2
mov edx, dword [esp + 0x78]
mov eax, dword [esp + 0x70]
mov dword [esp + 0x4c], edx
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x18], edx
lea esi, [edi + 0x18]
mov dword [esp + 0x14], ecx
cmp dword [esp + 0x18], 0
je 0x4873c0
mov eax, dword [esp + 0x10]
mov al, byte [eax]
mov bl, byte [esi]
mov edx, dword [0x58b5d0]
mov byte [esp + 0x43], al
movzx eax, al
cmp byte [eax + edx], bl
jne 0x47f791
mov eax, 1
add dword [esp + 0x10], eax
sub dword [esp + 0x18], eax
add esi, eax
sub ecx, eax
mov dword [esp + 0x14], ecx
jmp 0x47f985
test byte [esp + 0x43], 0x80
je 0x47fa21
cmp dword [esp + 0x18], 2
jl 0x47f7e6
mov dl, byte [esp + 0x43]
and dl, 0xe0
cmp dl, 0xc0
jne 0x47f7e6
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
add dword [esp + 0x10], ecx
sub dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x14]
jmp 0x47f8aa
cmp dword [esp + 0x18], 3
jl 0x47f83c
mov dl, byte [esp + 0x43]
and dl, 0xf0
cmp dl, 0xe0
jne 0x47f83c
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
add dword [esp + 0x10], ecx
sub dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x14]
jmp 0x47f8aa
cmp dword [esp + 0x18], 4
jl 0x47f89e
mov dl, byte [esp + 0x43]
and dl, 0xf8
cmp dl, 0xf0
jne 0x47f89e
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
add dword [esp + 0x10], ecx
sub dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x14]
jmp 0x47f8aa
add dword [esp + 0x10], 1
xor eax, eax
sub dword [esp + 0x18], 1
test bl, bl
jns 0x47f970
cmp ecx, 2
jl 0x47f8e3
mov dl, bl
and dl, 0xe0
cmp dl, 0xc0
jne 0x47f8e3
movzx edx, byte [esi + 1]
and ebx, 0x1f
and edx, 0x3f
shl ebx, 6
or edx, ebx
add esi, 2
sub ecx, 2
jmp 0x47f979
cmp ecx, 3
jl 0x47f920
mov dl, bl
and dl, 0xf0
cmp dl, 0xe0
jne 0x47f920
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 0x47f979
cmp ecx, 4
jl 0x47f969
mov dl, bl
and dl, 0xf8
cmp dl, 0xf0
jne 0x47f969
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 0x47f979
xor edx, edx
jmp 0x47f973
movzx edx, bl
add esi, 1
sub ecx, 1
cmp eax, edx
mov dword [esp + 0x14], ecx
jne 0x47fa21
test ecx, ecx
jne 0x47f74e
mov al, byte [esi - 1]
cmp al, 0x61
jb 0x47f9a0
cmp al, 0x7a
jbe 0x47f9d0
cmp al, 0x41
jb 0x47f9b0
cmp al, 0x5a
jbe 0x47f9d0
cmp al, 0x30
jb 0x47f9c0
cmp al, 0x39
jbe 0x47f9d0
cmp al, 0x5f
je 0x47f9d0
test al, al
jns 0x4873f2
cmp dword [esp + 0x18], 0
je 0x4873f2
mov eax, dword [esp + 0x10]
mov al, byte [eax]
cmp al, 0x61
jb 0x47f9f1
cmp al, 0x7a
jbe 0x47fa21
cmp al, 0x41
jb 0x47fa01
cmp al, 0x5a
jbe 0x47fa21
cmp al, 0x30
jb 0x47fa11
cmp al, 0x39
jbe 0x47fa21
cmp al, 0x5f
je 0x47fa21
test al, al
jns 0x4873f2
mov cl, byte [edi + 0x18]
jmp 0x47fa30
mov eax, 1
add dword [esp + 0x4c], eax
sub dword [esp + 0x2c], eax
cmp cl, 0x61
jb 0x47fa4f
cmp cl, 0x7a
jbe 0x47fa84
cmp cl, 0x41
jb 0x47fa61
cmp cl, 0x5a
jbe 0x47fa84
cmp cl, 0x30
jb 0x47fa73
cmp cl, 0x39
jbe 0x47fa84
cmp cl, 0x5f
je 0x47fa84
test cl, cl
jns 0x47f733
cmp dword [esp + 0x2c], 0
je 0x47f733
mov edx, dword [esp + 0x4c]
mov al, byte [edx - 1]
cmp al, 0x61
jb 0x47faa2
cmp al, 0x7a
jbe 0x47fa30
cmp al, 0x41
jb 0x47faae
cmp al, 0x5a
jbe 0x47fa30
cmp al, 0x30
jb 0x47fabe
cmp al, 0x39
jbe 0x47fa30
cmp al, 0x5f
je 0x47fa30
test al, al
js 0x47fa30
jmp 0x47f733
mov eax, dword [esp + 0x28]
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]
jle 0x47fafd
xor eax, eax
jmp 0x4887e9
mov ecx, dword [esp + 0x78]
lea edi, [ecx + esi]
sub ecx, eax
mov dword [esp + 0x2c], ecx
sub ecx, edx
add ecx, esi
lea ebx, [eax + edx]
mov dword [esp + 0x58], ecx
lea ecx, [eax + 3]
mov dword [esp + 0x4c], ebx
lea edx, [eax + 2]
sub ebx, eax
mov dword [esp + 0x50], ecx
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, 1
nop
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x64]
add esi, 0x18
mov dword [esp + 0x30], ecx
mov dword [esp + 0x18], eax
cmp esi, dword [esp + 0x4c]
jae 0x47fe21
mov cl, byte [esi + edi]
mov bl, byte [esi]
mov edx, dword [0x58b5d4]
movzx eax, cl
cmp byte [eax + edx], bl
jne 0x47fbb1
mov edx, 1
add dword [esp + 0x14], edx
add dword [esp + 0x20], edx
add dword [esp + 0x3c], edx
sub dword [esp + 0x18], edx
add esi, edx
sub dword [esp + 0x30], edx
jmp 0x47fb73
test cl, cl
jns 0x47fe05
mov edx, dword [esp + 0x18]
sub edx, edi
cmp edx, 2
mov dword [esp + 0x48], edx
jl 0x47fbfc
mov dl, cl
and dl, 0xe0
cmp dl, 0xc0
jne 0x47fbf8
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 0x47fc91
mov edx, dword [esp + 0x48]
cmp edx, 3
jl 0x47fc42
mov dl, cl
and dl, 0xf0
cmp dl, 0xe0
jne 0x47fc3e
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 0x47fc91
mov edx, dword [esp + 0x48]
cmp edx, 4
jl 0x47fc8f
and cl, 0xf8
cmp cl, 0xf0
jne 0x47fc8f
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 0x47fc91
xor eax, eax
test bl, bl
mov edx, 1
jns 0x47fdc9
mov ecx, dword [esp + 0x4c]
cmp dword [esp + 0x20], ecx
ja 0x47fcf0
mov dl, bl
and dl, 0xe0
cmp dl, 0xc0
jne 0x47fcf0
movzx ecx, byte [esi + 1]
mov edx, 2
add dword [esp + 0x14], edx
add dword [esp + 0x20], edx
add dword [esp + 0x3c], edx
sub dword [esp + 0x18], edx
sub dword [esp + 0x30], edx
and ebx, 0x1f
and ecx, 0x3f
shl ebx, 6
add esi, edx
mov edx, 1
or ecx, ebx
sub edi, edx
jmp 0x47fde2
cmp dword [esp + 0x3c], ecx
ja 0x47fd50
mov dl, bl
and dl, 0xf0
cmp dl, 0xe0
jne 0x47fd50
movzx ecx, byte [esi + 1]
mov edx, dword [esp + 0x20]
add dword [esp + 0x14], 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 + 0x3c], ebx
sub dword [esp + 0x18], ebx
sub dword [esp + 0x30], ebx
add edx, ebx
add esi, 3
mov dword [esp + 0x20], edx
sub edi, 2
lea edx, [ebx - 2]
jmp 0x47fde2
cmp dword [esp + 0x14], ecx
ja 0x47fdbf
mov cl, bl
and cl, 0xf8
cmp cl, 0xf0
jne 0x47fdbf
movzx ecx, byte [esi + 1]
mov edx, dword [esp + 0x20]
and ebx, 7
add dword [esp + 0x14], 4
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 + 0x3c]
movzx ebx, byte [ebx]
and ebx, 0x3f
shl ecx, 6
or ecx, ebx
mov ebx, 4
add dword [esp + 0x3c], ebx
sub dword [esp + 0x18], ebx
sub dword [esp + 0x30], ebx
add edx, ebx
add esi, 4
mov dword [esp + 0x20], edx
sub edi, 3
lea edx, [ebx - 3]
jmp 0x47fde2
xor ecx, ecx
lea edx, [ecx + 1]
jmp 0x47fdcc
movzx ecx, bl
add dword [esp + 0x14], edx
add dword [esp + 0x20], edx
add dword [esp + 0x3c], edx
sub dword [esp + 0x18], edx
add esi, edx
sub dword [esp + 0x30], edx
cmp eax, ecx
jne 0x47fe0a
mov eax, dword [esp + 0x18]
sub eax, edi
cmp eax, dword [esp + 0x30]
jge 0x47fb73
mov edi, dword [esp + 0x10]
xor eax, eax
jmp 0x4887e9
mov edx, 1
mov ecx, dword [esp + 0x2c]
cmp ecx, dword [esp + 0x58]
je 0x47e8aa
add dword [esp + 0x2c], edx
jmp 0x47fb40
mov edi, dword [esp + 0x10]
mov eax, edx
jmp 0x4887e9
mov edx, dword [esp + 0x28]
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 + 0x50], eax
je 0x4873f2
mov edx, dword [esp + 0x78]
mov eax, dword [esp + 0x70]
mov dword [esp + 0x48], edx
mov dword [esp + 0x2c], eax
lea esp, [esp]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x18], edx
lea esi, [edi + 0x18]
mov dword [esp + 0x14], ecx
cmp dword [esp + 0x18], 0
je 0x4873c0
mov eax, dword [esp + 0x10]
mov al, byte [eax]
mov bl, byte [esi]
mov edx, dword [0x58b5d4]
mov byte [esp + 0x43], al
movzx eax, al
cmp byte [eax + edx], bl
jne 0x47febe
mov eax, 1
add dword [esp + 0x10], eax
sub dword [esp + 0x18], eax
add esi, eax
sub ecx, eax
mov dword [esp + 0x14], ecx
jmp 0x4800b2
test byte [esp + 0x43], 0x80
je 0x48014e
cmp dword [esp + 0x18], 2
jl 0x47ff13
mov dl, byte [esp + 0x43]
and dl, 0xe0
cmp dl, 0xc0
jne 0x47ff13
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
add dword [esp + 0x10], ecx
sub dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x14]
jmp 0x47ffd7
cmp dword [esp + 0x18], 3
jl 0x47ff69
mov dl, byte [esp + 0x43]
and dl, 0xf0
cmp dl, 0xe0
jne 0x47ff69
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
add dword [esp + 0x10], ecx
sub dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x14]
jmp 0x47ffd7
cmp dword [esp + 0x18], 4
jl 0x47ffcb
mov dl, byte [esp + 0x43]
and dl, 0xf8
cmp dl, 0xf0
jne 0x47ffcb
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
add dword [esp + 0x10], ecx
sub dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x14]
jmp 0x47ffd7
add dword [esp + 0x10], 1
xor eax, eax
sub dword [esp + 0x18], 1
test bl, bl
jns 0x48009d
cmp ecx, 2
jl 0x480010
mov dl, bl
and dl, 0xe0
cmp dl, 0xc0
jne 0x480010
movzx edx, byte [esi + 1]
and ebx, 0x1f
shl ebx, 6
and edx, 0x3f
or ebx, edx
add esi, 2
sub ecx, 2
jmp 0x4800a6
cmp ecx, 3
jl 0x48004d
mov dl, bl
and dl, 0xf0
cmp dl, 0xe0
jne 0x48004d
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 0x4800a6
cmp ecx, 4
jl 0x480096
mov dl, bl
and dl, 0xf8
cmp dl, 0xf0
jne 0x480096
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 0x4800a6
xor ebx, ebx
jmp 0x4800a0
movzx ebx, bl
add esi, 1
sub ecx, 1
cmp eax, ebx
mov dword [esp + 0x14], ecx
jne 0x48014e
test ecx, ecx
jne 0x47fe7b
mov al, byte [esi - 1]
cmp al, 0x61
jb 0x4800cd
cmp al, 0x7a
jbe 0x4800fd
cmp al, 0x41
jb 0x4800dd
cmp al, 0x5a
jbe 0x4800fd
cmp al, 0x30
jb 0x4800ed
cmp al, 0x39
jbe 0x4800fd
cmp al, 0x5f
je 0x4800fd
test al, al
jns 0x4873f2
cmp dword [esp + 0x18], 0
je 0x4873f2
mov eax, dword [esp + 0x10]
mov al, byte [eax]
cmp al, 0x61
jb 0x48011e
cmp al, 0x7a
jbe 0x48014e
cmp al, 0x41
jb 0x48012e
cmp al, 0x5a
jbe 0x48014e
cmp al, 0x30
jb 0x48013e
cmp al, 0x39
jbe 0x48014e
cmp al, 0x5f
je 0x48014e
test al, al
jns 0x4873f2
mov cl, byte [edi + 0x18]
mov esi, dword [esp + 0x2c]
mov edx, dword [esp + 0x48]
lea esp, [esp]
add edx, 1
sub esi, 1
cmp cl, 0x61
mov dword [esp + 0x48], edx
mov dword [esp + 0x2c], esi
jb 0x480180
cmp cl, 0x7a
jbe 0x4801b5
cmp cl, 0x41
jb 0x480192
cmp cl, 0x5a
jbe 0x4801b5
cmp cl, 0x30
jb 0x4801a4
cmp cl, 0x39
jbe 0x4801b5
cmp cl, 0x5f
je 0x4801b5
test cl, cl
jns 0x47fe60
test esi, esi
je 0x47fe60
mov al, byte [edx - 1]
cmp al, 0x61
jb 0x4801cc
cmp al, 0x7a
jbe 0x480160
cmp al, 0x41
jb 0x4801d8
cmp al, 0x5a
jbe 0x480160
cmp al, 0x30
jb 0x4801e8
cmp al, 0x39
jbe 0x480160
cmp al, 0x5f
je 0x480160
test al, al
js 0x480160
jmp 0x47fe60
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x480217
mov ecx, dword [eax - 4]
jmp 0x48021a
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 0x47cc3f
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x48024b
mov edx, dword [eax - 4]
jmp 0x48024e
movzx edx, cl
mov ecx, dword [edi + 0x14]
test ecx, ecx
je 0x482f72
add eax, 5
mov dword [esp + 0x48], eax
mov dword [esp + 0x2c], edx
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x10], ecx
mov ecx, dword [edi + 0x14]
mov dword [esp + 0x18], edx
lea esi, [edi + 0x18]
mov dword [esp + 0x14], ecx
cmp dword [esp + 0x18], 0
je 0x47c912
mov eax, dword [esp + 0x10]
mov al, byte [eax]
mov bl, byte [esi]
mov edx, dword [0x58b5d0]
mov byte [esp + 0x43], al
movzx eax, al
cmp byte [eax + edx], bl
jne 0x4802c1
mov eax, 1
add dword [esp + 0x10], eax
sub dword [esp + 0x18], eax
add esi, eax
sub ecx, eax
mov dword [esp + 0x14], ecx
jmp 0x4804b5
test byte [esp + 0x43], 0x80
je 0x480551
cmp dword [esp + 0x18], 2
jl 0x480316
mov dl, byte [esp + 0x43]
and dl, 0xe0
cmp dl, 0xc0
jne 0x480316
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
add dword [esp + 0x10], ecx
sub dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x14]
jmp 0x4803da
cmp dword [esp + 0x18], 3
jl 0x48036c
mov dl, byte [esp + 0x43]
and dl, 0xf0
cmp dl, 0xe0
jne 0x48036c
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
add dword [esp + 0x10], ecx
sub dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x14]
jmp 0x4803da
cmp dword [esp + 0x18], 4
jl 0x4803ce
mov dl, byte [esp + 0x43]
and dl, 0xf8
cmp dl, 0xf0
jne 0x4803ce
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
add dword [esp + 0x10], ecx
sub dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x14]
jmp 0x4803da
add dword [esp + 0x10], 1
xor eax, eax
sub dword [esp + 0x18], 1
test bl, bl
jns 0x4804a0
cmp ecx, 2
jl 0x480413
mov dl, bl
and dl, 0xe0
cmp dl, 0xc0
jne 0x480413
movzx edx, byte [esi + 1]
and ebx, 0x1f
shl ebx, 6
and edx, 0x3f
or ebx, edx
add esi, 2
sub ecx, 2
jmp 0x4804a9
cmp ecx, 3
jl 0x480450
mov dl, bl
and dl, 0xf0
cmp dl, 0xe0
jne 0x480450
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 0x4804a9
cmp ecx, 4
jl 0x480499
mov dl, bl
and dl, 0xf8
cmp dl, 0xf0
jne 0x480499
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 0x4804a9
xor ebx, ebx
jmp 0x4804a3
movzx ebx, bl
add esi, 1
sub ecx, 1
cmp eax, ebx
mov dword [esp + 0x14], ecx
jne 0x480551
test ecx, ecx
jne 0x48027e
mov al, byte [esi - 1]
cmp al, 0x61
jb 0x4804d0
cmp al, 0x7a
jbe 0x480500
cmp al, 0x41
jb 0x4804e0
cmp al, 0x5a
jbe 0x480500
cmp al, 0x30
jb 0x4804f0
cmp al, 0x39
jbe 0x480500
cmp al, 0x5f
je 0x480500
test al, al
jns 0x482f72
cmp dword [esp + 0x18], 0
je 0x482f72
mov eax, dword [esp + 0x10]
mov al, byte [eax]
cmp al, 0x61
jb 0x480521
cmp al, 0x7a
jbe 0x480551
cmp al, 0x41
jb 0x480531
cmp al, 0x5a
jbe 0x480551
cmp al, 0x30
jb 0x480541
cmp al, 0x39
jbe 0x480551
cmp al, 0x5f
je 0x480551
test al, al
jns 0x482f72
mov cl, byte [edi + 0x18]
mov edx, dword [esp + 0x48]
mov esi, dword [esp + 0x2c]
lea esp, [esp]
add edx, 1
sub esi, 1
cmp cl, 0x61
mov dword [esp + 0x48], edx
mov dword [esp + 0x2c], esi
jb 0x480580
cmp cl, 0x7a
jbe 0x4805b5
cmp cl, 0x41
jb 0x480592
cmp cl, 0x5a
jbe 0x4805b5
cmp cl, 0x30
jb 0x4805a4
cmp cl, 0x39
jbe 0x4805b5
cmp cl, 0x5f
je 0x4805b5
test cl, cl
jns 0x480264
test esi, esi
je 0x480264
mov al, byte [edx - 1]
cmp al, 0x61
jb 0x4805cc
cmp al, 0x7a
jbe 0x480560
cmp al, 0x41
jb 0x4805d8
cmp al, 0x5a
jbe 0x480560
cmp al, 0x30
jb 0x4805e8
cmp al, 0x39
jbe 0x480560
cmp al, 0x5f
je 0x480560
test al, al
js 0x480560
jmp 0x480264
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x480617
mov ecx, dword [eax - 4]
jmp 0x48061a
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 0x47cc3f
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x48064b
mov ecx, dword [eax - 4]
jmp 0x48064e
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 0x47cc3f
mov eax, dword [esp + 0x28]
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 0x47cc3f
mov ecx, dword [esp + 0x28]
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 + 0x50], eax
je 0x482f72
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x70]
mov dword [esp + 0x48], ecx
mov dword [esp + 0x2c], edx
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x48]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x10], eax
lea esi, [edi + 0x18]
mov dword [esp + 0x14], ecx
cmp dword [esp + 0x18], 0
je 0x47c912
mov edx, dword [esp + 0x10]
mov al, byte [edx]
mov bl, byte [esi]
mov edx, dword [0x58b5d0]
mov byte [esp + 0x43], al
movzx eax, al
cmp byte [eax + edx], bl
jne 0x480720
mov eax, 1
add dword [esp + 0x10], eax
sub dword [esp + 0x18], eax
add esi, eax
sub ecx, eax
mov dword [esp + 0x14], ecx
jmp 0x480914
test byte [esp + 0x43], 0x80
je 0x4809b0
cmp dword [esp + 0x18], 2
jl 0x480775
mov dl, byte [esp + 0x43]
and dl, 0xe0
cmp dl, 0xc0
jne 0x480775
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
add dword [esp + 0x10], ecx
sub dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x14]
jmp 0x480839
cmp dword [esp + 0x18], 3
jl 0x4807cb
mov dl, byte [esp + 0x43]
and dl, 0xf0
cmp dl, 0xe0
jne 0x4807cb
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
add dword [esp + 0x10], ecx
sub dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x14]
jmp 0x480839
cmp dword [esp + 0x18], 4
jl 0x48082d
mov dl, byte [esp + 0x43]
and dl, 0xf8
cmp dl, 0xf0
jne 0x48082d
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
add dword [esp + 0x10], ecx
sub dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x14]
jmp 0x480839
add dword [esp + 0x10], 1
xor eax, eax
sub dword [esp + 0x18], 1
test bl, bl
jns 0x4808ff
cmp ecx, 2
jl 0x480872
mov dl, bl
and dl, 0xe0
cmp dl, 0xc0
jne 0x480872
movzx edx, byte [esi + 1]
and ebx, 0x1f
shl ebx, 6
and edx, 0x3f
or ebx, edx
add esi, 2
sub ecx, 2
jmp 0x480908
cmp ecx, 3
jl 0x4808af
mov dl, bl
and dl, 0xf0
cmp dl, 0xe0
jne 0x4808af
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 0x480908
cmp ecx, 4
jl 0x4808f8
mov dl, bl
and dl, 0xf8
cmp dl, 0xf0
jne 0x4808f8
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 0x480908
xor ebx, ebx
jmp 0x480902
movzx ebx, bl
add esi, 1
sub ecx, 1
cmp eax, ebx
mov dword [esp + 0x14], ecx
jne 0x4809b0
test ecx, ecx
jne 0x4806dd
mov al, byte [esi - 1]
cmp al, 0x61
jb 0x48092f
cmp al, 0x7a
jbe 0x48095f
cmp al, 0x41
jb 0x48093f
cmp al, 0x5a
jbe 0x48095f
cmp al, 0x30
jb 0x48094f
cmp al, 0x39
jbe 0x48095f
cmp al, 0x5f
je 0x48095f
test al, al
jns 0x482f72
cmp dword [esp + 0x18], 0
je 0x482f72
mov eax, dword [esp + 0x10]
mov al, byte [eax]
cmp al, 0x61
jb 0x480980
cmp al, 0x7a
jbe 0x4809b0
cmp al, 0x41
jb 0x480990
cmp al, 0x5a
jbe 0x4809b0
cmp al, 0x30
jb 0x4809a0
cmp al, 0x39
jbe 0x4809b0
cmp al, 0x5f
je 0x4809b0
test al, al
jns 0x482f72
mov cl, byte [edi + 0x18]
mov esi, dword [esp + 0x2c]
mov edx, dword [esp + 0x48]
jmp 0x4809c0
add edx, 1
sub esi, 1
cmp cl, 0x61
mov dword [esp + 0x48], edx
mov dword [esp + 0x2c], esi
jb 0x4809e0
cmp cl, 0x7a
jbe 0x480a15
cmp cl, 0x41
jb 0x4809f2
cmp cl, 0x5a
jbe 0x480a15
cmp cl, 0x30
jb 0x480a04
cmp cl, 0x39
jbe 0x480a15
cmp cl, 0x5f
je 0x480a15
test cl, cl
jns 0x4806c2
test esi, esi
je 0x4806c2
mov al, byte [edx - 1]
cmp al, 0x61
jb 0x480a2c
cmp al, 0x7a
jbe 0x4809c0
cmp al, 0x41
jb 0x480a38
cmp al, 0x5a
jbe 0x4809c0
cmp al, 0x30
jb 0x480a48
cmp al, 0x39
jbe 0x4809c0
cmp al, 0x5f
je 0x4809c0
test al, al
js 0x4809c0
jmp 0x4806c2
mov ecx, dword [esp + 0x28]
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.0051dff0
jmp 0x47cc3f
mov edx, dword [esp + 0x28]
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.0043f5f0
jmp 0x47cc3f
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x480ad1
mov ecx, dword [eax - 4]
jmp 0x480ad4
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 0x4887e9
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x480b05
mov edx, dword [eax - 4]
jmp 0x480b08
movzx edx, cl
mov ecx, dword [edi + 0x14]
test ecx, ecx
je 0x4873f2
add eax, 5
mov dword [esp + 0x48], eax
mov dword [esp + 0x2c], edx
mov edi, edi
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x10], ecx
mov ecx, dword [edi + 0x14]
mov dword [esp + 0x18], edx
lea esi, [edi + 0x18]
mov dword [esp + 0x14], ecx
cmp dword [esp + 0x18], 0
je 0x4873c0
mov eax, dword [esp + 0x10]
mov al, byte [eax]
mov bl, byte [esi]
mov edx, dword [0x58b5d0]
mov byte [esp + 0x43], al
movzx eax, al
cmp byte [eax + edx], bl
jne 0x480b7d
mov eax, 1
add dword [esp + 0x10], eax
sub dword [esp + 0x18], eax
add esi, eax
sub ecx, eax
mov dword [esp + 0x14], ecx
jmp 0x480d71
test byte [esp + 0x43], 0x80
je 0x480e0d
cmp dword [esp + 0x18], 2
jl 0x480bd2
mov dl, byte [esp + 0x43]
and dl, 0xe0
cmp dl, 0xc0
jne 0x480bd2
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
add dword [esp + 0x10], ecx
sub dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x14]
jmp 0x480c96
cmp dword [esp + 0x18], 3
jl 0x480c28
mov dl, byte [esp + 0x43]
and dl, 0xf0
cmp dl, 0xe0
jne 0x480c28
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
add dword [esp + 0x10], ecx
sub dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x14]
jmp 0x480c96
cmp dword [esp + 0x18], 4
jl 0x480c8a
mov dl, byte [esp + 0x43]
and dl, 0xf8
cmp dl, 0xf0
jne 0x480c8a
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
add dword [esp + 0x10], ecx
sub dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x14]
jmp 0x480c96
add dword [esp + 0x10], 1
xor eax, eax
sub dword [esp + 0x18], 1
test bl, bl
jns 0x480d5c
cmp ecx, 2
jl 0x480ccf
mov dl, bl
and dl, 0xe0
cmp dl, 0xc0
jne 0x480ccf
movzx edx, byte [esi + 1]
and ebx, 0x1f
shl ebx, 6
and edx, 0x3f
or ebx, edx
add esi, 2
sub ecx, 2
jmp 0x480d65
cmp ecx, 3
jl 0x480d0c
mov dl, bl
and dl, 0xf0
cmp dl, 0xe0
jne 0x480d0c
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 0x480d65
cmp ecx, 4
jl 0x480d55
mov dl, bl
and dl, 0xf8
cmp dl, 0xf0
jne 0x480d55
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 0x480d65
xor ebx, ebx
jmp 0x480d5f
movzx ebx, bl
add esi, 1
sub ecx, 1
cmp eax, ebx
mov dword [esp + 0x14], ecx
jne 0x480e0d
test ecx, ecx
jne 0x480b3a
mov al, byte [esi - 1]
cmp al, 0x61
jb 0x480d8c
cmp al, 0x7a
jbe 0x480dbc
cmp al, 0x41
jb 0x480d9c
cmp al, 0x5a
jbe 0x480dbc
cmp al, 0x30
jb 0x480dac
cmp al, 0x39
jbe 0x480dbc
cmp al, 0x5f
je 0x480dbc
test al, al
jns 0x4873f2
cmp dword [esp + 0x18], 0
je 0x4873f2
mov eax, dword [esp + 0x10]
mov al, byte [eax]
cmp al, 0x61
jb 0x480ddd
cmp al, 0x7a
jbe 0x480e0d
cmp al, 0x41
jb 0x480ded
cmp al, 0x5a
jbe 0x480e0d
cmp al, 0x30
jb 0x480dfd
cmp al, 0x39
jbe 0x480e0d
cmp al, 0x5f
je 0x480e0d
test al, al
jns 0x4873f2
mov cl, byte [edi + 0x18]
mov esi, dword [esp + 0x2c]
mov edx, dword [esp + 0x48]
jmp 0x480e20
add edx, 1
sub esi, 1
cmp cl, 0x61
mov dword [esp + 0x48], edx
mov dword [esp + 0x2c], esi
jb 0x480e40
cmp cl, 0x7a
jbe 0x480e75
cmp cl, 0x41
jb 0x480e52
cmp cl, 0x5a
jbe 0x480e75
cmp cl, 0x30
jb 0x480e64
cmp cl, 0x39
jbe 0x480e75
cmp cl, 0x5f
je 0x480e75
test cl, cl
jns 0x480b20
test esi, esi
je 0x480b20
mov al, byte [edx - 1]
cmp al, 0x61
jb 0x480e8c
cmp al, 0x7a
jbe 0x480e20
cmp al, 0x41
jb 0x480e98
cmp al, 0x5a
jbe 0x480e20
cmp al, 0x30
jb 0x480ea8
cmp al, 0x39
jbe 0x480e20
cmp al, 0x5f
je 0x480e20
test al, al
js 0x480e20
jmp 0x480b20
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x480ed7
mov ecx, dword [eax - 4]
jmp 0x480eda
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 0x4887e9
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x480f0b
mov ecx, dword [eax - 4]
jmp 0x480f0e
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 0x4887e9
mov eax, dword [esp + 0x28]
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 0x4887e9
mov ecx, dword [esp + 0x28]
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 + 0x50], eax
je 0x4873f2
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x70]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x2c], edx
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x10], eax
lea esi, [edi + 0x18]
mov dword [esp + 0x14], ecx
cmp dword [esp + 0x18], 0
je 0x4873c0
mov edx, dword [esp + 0x10]
mov al, byte [edx]
mov bl, byte [esi]
mov edx, dword [0x58b5d0]
mov byte [esp + 0x43], al
movzx eax, al
cmp byte [eax + edx], bl
jne 0x480fe0
mov eax, 1
add dword [esp + 0x10], eax
sub dword [esp + 0x18], eax
add esi, eax
sub ecx, eax
mov dword [esp + 0x14], ecx
jmp 0x4811d4
test byte [esp + 0x43], 0x80
je 0x481270
cmp dword [esp + 0x18], 2
jl 0x481035
mov dl, byte [esp + 0x43]
and dl, 0xe0
cmp dl, 0xc0
jne 0x481035
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
add dword [esp + 0x10], ecx
sub dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x14]
jmp 0x4810f9
cmp dword [esp + 0x18], 3
jl 0x48108b
mov dl, byte [esp + 0x43]
and dl, 0xf0
cmp dl, 0xe0
jne 0x48108b
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
add dword [esp + 0x10], ecx
sub dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x14]
jmp 0x4810f9
cmp dword [esp + 0x18], 4
jl 0x4810ed
mov dl, byte [esp + 0x43]
and dl, 0xf8
cmp dl, 0xf0
jne 0x4810ed
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
add dword [esp + 0x10], ecx
sub dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x14]
jmp 0x4810f9
add dword [esp + 0x10], 1
xor eax, eax
sub dword [esp + 0x18], 1
test bl, bl
jns 0x4811bf
cmp ecx, 2
jl 0x481132
mov dl, bl
and dl, 0xe0
cmp dl, 0xc0
jne 0x481132
movzx edx, byte [esi + 1]
and ebx, 0x1f
and edx, 0x3f
shl ebx, 6
or edx, ebx
add esi, 2
sub ecx, 2
jmp 0x4811c8
cmp ecx, 3
jl 0x48116f
mov dl, bl
and dl, 0xf0
cmp dl, 0xe0
jne 0x48116f
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 0x4811c8
cmp ecx, 4
jl 0x4811b8
mov dl, bl
and dl, 0xf8
cmp dl, 0xf0
jne 0x4811b8
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 0x4811c8
xor edx, edx
jmp 0x4811c2
movzx edx, bl
add esi, 1
sub ecx, 1
cmp eax, edx
mov dword [esp + 0x14], ecx
jne 0x481270
test ecx, ecx
jne 0x480f9d
mov al, byte [esi - 1]
cmp al, 0x61
jb 0x4811ef
cmp al, 0x7a
jbe 0x48121f
cmp al, 0x41
jb 0x4811ff
cmp al, 0x5a
jbe 0x48121f
cmp al, 0x30
jb 0x48120f
cmp al, 0x39
jbe 0x48121f
cmp al, 0x5f
je 0x48121f
test al, al
jns 0x4873f2
cmp dword [esp + 0x18], 0
je 0x4873f2
mov eax, dword [esp + 0x10]
mov al, byte [eax]
cmp al, 0x61
jb 0x481240
cmp al, 0x7a
jbe 0x481270
cmp al, 0x41
jb 0x481250
cmp al, 0x5a
jbe 0x481270
cmp al, 0x30
jb 0x481260
cmp al, 0x39
jbe 0x481270
cmp al, 0x5f
je 0x481270
test al, al
jns 0x4873f2
mov cl, byte [edi + 0x18]
mov eax, 1
add dword [esp + 0x4c], eax
sub dword [esp + 0x2c], eax
cmp cl, 0x61
jb 0x481292
cmp cl, 0x7a
jbe 0x4812c7
cmp cl, 0x41
jb 0x4812a4
cmp cl, 0x5a
jbe 0x4812c7
cmp cl, 0x30
jb 0x4812b6
cmp cl, 0x39
jbe 0x4812c7
cmp cl, 0x5f
je 0x4812c7
test cl, cl
jns 0x480f82
cmp dword [esp + 0x2c], 0
je 0x480f82
mov edx, dword [esp + 0x4c]
mov al, byte [edx - 1]
cmp al, 0x61
jb 0x4812e5
cmp al, 0x7a
jbe 0x481273
cmp al, 0x41
jb 0x4812f1
cmp al, 0x5a
jbe 0x481273
cmp al, 0x30
jb 0x481301
cmp al, 0x39
jbe 0x481273
cmp al, 0x5f
je 0x481273
test al, al
js 0x481273
jmp 0x480f82
mov eax, dword [esp + 0x28]
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 0x4887e9
mov ecx, dword [esp + 0x28]
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 0x4887e9
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x48138a
mov ebx, dword [eax - 4]
jmp 0x48138d
movzx ebx, cl
mov edx, dword [edi + 0x14]
cmp edx, ebx
lea ecx, [edi + 0x18]
jle 0x4813a2
xor eax, eax
jmp 0x47cc3f
sub eax, ecx
lea esi, [ecx + edx]
add eax, 5
mov dword [esp + 0x50], esi
mov ecx, eax
mov esi, ecx
sub esi, edx
add esi, ebx
jmp 0x4813c0
lea eax, [edi + 0x18]
cmp eax, dword [esp + 0x50]
jae 0x482f72
movzx edx, byte [eax + ecx]
mov ebx, dword [0x58b5d0]
mov dl, byte [edx + ebx]
cmp dl, byte [eax]
jne 0x4813e7
add eax, 1
jmp 0x4813c3
cmp ecx, esi
je 0x48139b
add ecx, 1
jmp 0x4813c0
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x48140a
mov ebx, dword [eax - 4]
jmp 0x48140d
movzx ebx, cl
cmp dword [edi + 0x14], 0
je 0x482f72
lea edx, [eax + 5]
mov dword [esp + 0x2c], edx
mov dword [esp + 0x4c], ebx
mov esi, dword [edi + 0x14]
mov dword [esp + 0x48], edx
mov ecx, ebx
lea eax, [edi + 0x18]
sub esi, ebx
test ecx, ecx
je 0x47c912
movzx edx, byte [edx]
mov ebx, dword [0x58b5d0]
mov dl, byte [edx + ebx]
cmp dl, byte [eax]
jne 0x4814f1
mov edx, dword [esp + 0x48]
sub ecx, 1
add edx, 1
lea ebx, [ecx + esi]
add eax, 1
test ebx, ebx
mov dword [esp + 0x48], edx
jne 0x481430
mov al, byte [eax - 1]
cmp al, 0x61
jb 0x481477
cmp al, 0x7a
jbe 0x4814a7
cmp al, 0x41
jb 0x481487
cmp al, 0x5a
jbe 0x4814a7
cmp al, 0x30
jb 0x481497
cmp al, 0x39
jbe 0x4814a7
cmp al, 0x5f
je 0x4814a7
test al, al
jns 0x482f72
test ecx, ecx
je 0x482f72
mov al, byte [edx]
cmp al, 0x61
jb 0x4814c1
cmp al, 0x7a
jbe 0x4814f1
cmp al, 0x41
jb 0x4814d1
cmp al, 0x5a
jbe 0x4814f1
cmp al, 0x30
jb 0x4814e1
cmp al, 0x39
jbe 0x4814f1
cmp al, 0x5f
je 0x4814f1
test al, al
jns 0x482f72
mov cl, byte [edi + 0x18]
mov ebx, dword [esp + 0x4c]
mov edx, dword [esp + 0x2c]
lea esp, [esp]
add edx, 1
sub ebx, 1
cmp cl, 0x61
mov dword [esp + 0x2c], edx
mov dword [esp + 0x4c], ebx
jb 0x481520
cmp cl, 0x7a
jbe 0x481555
cmp cl, 0x41
jb 0x481532
cmp cl, 0x5a
jbe 0x481555
cmp cl, 0x30
jb 0x481544
cmp cl, 0x39
jbe 0x481555
cmp cl, 0x5f
je 0x481555
test cl, cl
jns 0x481422
test ebx, ebx
je 0x481422
mov al, byte [edx - 1]
cmp al, 0x61
jb 0x48156c
cmp al, 0x7a
jbe 0x481500
cmp al, 0x41
jb 0x481578
cmp al, 0x5a
jbe 0x481500
cmp al, 0x30
jb 0x481588
cmp al, 0x39
jbe 0x481500
cmp al, 0x5f
je 0x481500
test al, al
js 0x481500
jmp 0x481422
mov eax, dword [esp + 0x28]
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]
jle 0x4815cd
xor eax, eax
jmp 0x47cc3f
lea ecx, [esi + eax]
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x78]
sub ecx, esi
mov esi, ecx
sub esi, eax
add esi, edx
lea eax, [edi + 0x18]
cmp eax, dword [esp + 0x50]
jae 0x482f72
movzx edx, byte [eax + ecx]
mov dl, byte [edx + ebx]
cmp dl, byte [eax]
jne 0x481601
add eax, 1
jmp 0x4815e3
cmp ecx, esi
je 0x4815c6
add ecx, 1
jmp 0x4815e0
mov eax, dword [esp + 0x28]
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 + 0x50], eax
je 0x482f72
mov edx, dword [esp + 0x78]
mov ebx, dword [esp + 0x70]
mov dword [esp + 0x2c], edx
mov dword [esp + 0x4c], ebx
mov esi, dword [esp + 0x50]
mov dword [esp + 0x48], edx
mov ecx, ebx
lea eax, [edi + 0x18]
sub esi, ebx
test ecx, ecx
je 0x47c912
movzx edx, byte [edx]
mov ebx, dword [0x58b5d0]
mov dl, byte [edx + ebx]
cmp dl, byte [eax]
jne 0x48170a
mov edx, dword [esp + 0x48]
sub ecx, 1
add edx, 1
lea ebx, [ecx + esi]
add eax, 1
test ebx, ebx
mov dword [esp + 0x48], edx
jne 0x481649
mov al, byte [eax - 1]
cmp al, 0x61
jb 0x481690
cmp al, 0x7a
jbe 0x4816c0
cmp al, 0x41
jb 0x4816a0
cmp al, 0x5a
jbe 0x4816c0
cmp al, 0x30
jb 0x4816b0
cmp al, 0x39
jbe 0x4816c0
cmp al, 0x5f
je 0x4816c0
test al, al
jns 0x482f72
test ecx, ecx
je 0x482f72
mov al, byte [edx]
cmp al, 0x61
jb 0x4816da
cmp al, 0x7a
jbe 0x48170a
cmp al, 0x41
jb 0x4816ea
cmp al, 0x5a
jbe 0x48170a
cmp al, 0x30
jb 0x4816fa
cmp al, 0x39
jbe 0x48170a
cmp al, 0x5f
je 0x48170a
test al, al
jns 0x482f72
mov cl, byte [edi + 0x18]
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x4c]
add edx, 1
sub ebx, 1
cmp cl, 0x61
mov dword [esp + 0x2c], edx
mov dword [esp + 0x4c], ebx
jb 0x481735
cmp cl, 0x7a
jbe 0x48176a
cmp cl, 0x41
jb 0x481747
cmp cl, 0x5a
jbe 0x48176a
cmp cl, 0x30
jb 0x481759
cmp cl, 0x39
jbe 0x48176a
cmp cl, 0x5f
je 0x48176a
test cl, cl
jns 0x48163a
test ebx, ebx
je 0x48163a
mov al, byte [edx - 1]
cmp al, 0x61
jb 0x481781
cmp al, 0x7a
jbe 0x481715
cmp al, 0x41
jb 0x48178d
cmp al, 0x5a
jbe 0x481715
cmp al, 0x30
jb 0x48179d
cmp al, 0x39
jbe 0x481715
cmp al, 0x5f
je 0x481715
test al, al
js 0x481715
jmp 0x48163a
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x4817cc
mov ebx, dword [eax - 4]
jmp 0x4817cf
movzx ebx, cl
mov edx, dword [edi + 0x14]
cmp edx, ebx
lea ecx, [edi + 0x18]
jle 0x4817e4
xor eax, eax
jmp 0x4887e9
sub eax, ecx
lea esi, [ecx + edx]
add eax, 5
mov dword [esp + 0x50], esi
mov ecx, eax
mov esi, ecx
sub esi, edx
add esi, ebx
jmp 0x481800
lea eax, [edi + 0x18]
cmp eax, dword [esp + 0x50]
jae 0x4873f2
movzx edx, byte [eax + ecx]
mov ebx, dword [0x58b5d0]
mov dl, byte [edx + ebx]
cmp dl, byte [eax]
jne 0x481827
add eax, 1
jmp 0x481803
cmp ecx, esi
je 0x4873c0
add ecx, 1
jmp 0x481800
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x48184e
mov ebx, dword [eax - 4]
jmp 0x481851
movzx ebx, cl
cmp dword [edi + 0x14], 0
je 0x4873f2
lea edx, [eax + 5]
mov dword [esp + 0x2c], edx
mov dword [esp + 0x4c], ebx
mov esi, dword [edi + 0x14]
mov dword [esp + 0x48], edx
mov ecx, ebx
lea eax, [edi + 0x18]
sub esi, ebx
test ecx, ecx
je 0x4873c0
movzx edx, byte [edx]
mov ebx, dword [0x58b5d0]
mov dl, byte [edx + ebx]
cmp dl, byte [eax]
jne 0x481935
mov edx, dword [esp + 0x48]
sub ecx, 1
add edx, 1
lea ebx, [esi + ecx]
add eax, 1
test ebx, ebx
mov dword [esp + 0x48], edx
jne 0x481874
mov al, byte [eax - 1]
cmp al, 0x61
jb 0x4818bb
cmp al, 0x7a
jbe 0x4818eb
cmp al, 0x41
jb 0x4818cb
cmp al, 0x5a
jbe 0x4818eb
cmp al, 0x30
jb 0x4818db
cmp al, 0x39
jbe 0x4818eb
cmp al, 0x5f
je 0x4818eb
test al, al
jns 0x4873f2
test ecx, ecx
je 0x4873f2
mov al, byte [edx]
cmp al, 0x61
jb 0x481905
cmp al, 0x7a
jbe 0x481935
cmp al, 0x41
jb 0x481915
cmp al, 0x5a
jbe 0x481935
cmp al, 0x30
jb 0x481925
cmp al, 0x39
jbe 0x481935
cmp al, 0x5f
je 0x481935
test al, al
jns 0x4873f2
mov cl, byte [edi + 0x18]
mov ebx, dword [esp + 0x4c]
mov edx, dword [esp + 0x2c]
add edx, 1
sub ebx, 1
cmp cl, 0x61
mov dword [esp + 0x2c], edx
mov dword [esp + 0x4c], ebx
jb 0x481960
cmp cl, 0x7a
jbe 0x481995
cmp cl, 0x41
jb 0x481972
cmp cl, 0x5a
jbe 0x481995
cmp cl, 0x30
jb 0x481984
cmp cl, 0x39
jbe 0x481995
cmp cl, 0x5f
je 0x481995
test cl, cl
jns 0x481866
test ebx, ebx
je 0x481866
mov al, byte [edx - 1]
cmp al, 0x61
jb 0x4819ac
cmp al, 0x7a
jbe 0x481940
cmp al, 0x41
jb 0x4819b8
cmp al, 0x5a
jbe 0x481940
cmp al, 0x30
jb 0x4819c8
cmp al, 0x39
jbe 0x481940
cmp al, 0x5f
je 0x481940
test al, al
js 0x481940
jmp 0x481866
mov eax, dword [esp + 0x28]
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]
jle 0x481a0d
xor eax, eax
jmp 0x4887e9
lea ecx, [esi + eax]
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x78]
sub ecx, esi
mov esi, ecx
sub esi, eax
add esi, edx
lea eax, [edi + 0x18]
cmp eax, dword [esp + 0x50]
jae 0x4873f2
movzx edx, byte [eax + ecx]
mov dl, byte [edx + ebx]
cmp dl, byte [eax]
jne 0x481a41
add eax, 1
jmp 0x481a23
cmp ecx, esi
je 0x4873c0
add ecx, 1
jmp 0x481a20
mov eax, dword [esp + 0x28]
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 + 0x50], eax
je 0x4873f2
mov edx, dword [esp + 0x78]
mov ebx, dword [esp + 0x70]
mov dword [esp + 0x2c], edx
mov dword [esp + 0x4c], ebx
mov esi, dword [esp + 0x50]
mov dword [esp + 0x48], edx
mov ecx, ebx
lea eax, [edi + 0x18]
sub esi, ebx
test ecx, ecx
je 0x4873c0
movzx edx, byte [edx]
mov ebx, dword [0x58b5d0]
mov dl, byte [edx + ebx]
cmp dl, byte [eax]
jne 0x481b4e
mov edx, dword [esp + 0x48]
sub ecx, 1
add edx, 1
lea ebx, [esi + ecx]
add eax, 1
test ebx, ebx
mov dword [esp + 0x48], edx
jne 0x481a8d
mov al, byte [eax - 1]
cmp al, 0x61
jb 0x481ad4
cmp al, 0x7a
jbe 0x481b04
cmp al, 0x41
jb 0x481ae4
cmp al, 0x5a
jbe 0x481b04
cmp al, 0x30
jb 0x481af4
cmp al, 0x39
jbe 0x481b04
cmp al, 0x5f
je 0x481b04
test al, al
jns 0x4873f2
test ecx, ecx
je 0x4873f2
mov al, byte [edx]
cmp al, 0x61
jb 0x481b1e
cmp al, 0x7a
jbe 0x481b4e
cmp al, 0x41
jb 0x481b2e
cmp al, 0x5a
jbe 0x481b4e
cmp al, 0x30
jb 0x481b3e
cmp al, 0x39
jbe 0x481b4e
cmp al, 0x5f
je 0x481b4e
test al, al
jns 0x4873f2
mov cl, byte [edi + 0x18]
mov ebx, dword [esp + 0x4c]
mov edx, dword [esp + 0x2c]
lea esp, [esp]
add edx, 1
sub ebx, 1
cmp cl, 0x61
mov dword [esp + 0x2c], edx
mov dword [esp + 0x4c], ebx
jb 0x481b80
cmp cl, 0x7a
jbe 0x481bb5
cmp cl, 0x41
jb 0x481b92
cmp cl, 0x5a
jbe 0x481bb5
cmp cl, 0x30
jb 0x481ba4
cmp cl, 0x39
jbe 0x481bb5
cmp cl, 0x5f
je 0x481bb5
test cl, cl
jns 0x481a7e
test ebx, ebx
je 0x481a7e
mov al, byte [edx - 1]
cmp al, 0x61
jb 0x481bcc
cmp al, 0x7a
jbe 0x481b60
cmp al, 0x41
jb 0x481bd8
cmp al, 0x5a
jbe 0x481b60
cmp al, 0x30
jb 0x481be8
cmp al, 0x39
jbe 0x481b60
cmp al, 0x5f
je 0x481b60
test al, al
js 0x481b60
jmp 0x481a7e
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x481c17
mov ecx, dword [eax - 4]
jmp 0x481c1a
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.0x47c8de.1
jmp case.0x47c8de.0
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x481c53
mov ecx, dword [eax - 4]
jmp 0x481c56
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.0x47c8de.1
jmp case.0x47c8de.0
mov eax, dword [esp + 0x28]
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.0x47c8de.1
jmp case.0x47c8de.0
mov ecx, dword [esp + 0x28]
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.0x47c8de.1
jmp case.0x47c8de.0
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x481cf9
mov ecx, dword [eax - 4]
jmp 0x481cfc
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.0x47c8de.0
jmp case.0x47c8de.1
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x481d35
mov ecx, dword [eax - 4]
jmp 0x481d38
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.0x47c8de.0
jmp case.0x47c8de.1
mov eax, dword [esp + 0x28]
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.0x47c8de.0
jmp case.0x47c8de.1
mov ecx, dword [esp + 0x28]
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.0x47c8de.0
jmp case.0x47c8de.1
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x481ddb
mov ecx, dword [eax - 4]
jmp 0x481dde
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.0x47c8de.1
jmp case.0x47c8de.0
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x481e17
mov ecx, dword [eax - 4]
jmp 0x481e1a
movzx ecx, cl
mov edx, dword [edi + 0x14]
cmp ecx, edx
mov dword [esp + 0x48], ecx
jge 0x481e2b
mov edx, ecx
add eax, 5
test edx, edx
lea esi, [edi + 0x18]
je 0x481e5b
sub esi, eax
jmp 0x481e40
movzx ebx, byte [eax + esi]
movzx ecx, byte [eax]
sub ecx, ebx
jne 0x481e5e
add eax, 1
sub edx, 1
jne 0x481e40
mov ecx, dword [esp + 0x48]
sub ecx, dword [edi + 0x14]
test ecx, ecx
jne case.0x47c8de.1
jmp case.0x47c8de.0
mov ecx, dword [esp + 0x28]
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.0x47c8de.1
jmp case.0x47c8de.0
mov edx, dword [esp + 0x28]
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 + 0x50], edx
jge 0x481ec6
mov edx, ecx
test edx, edx
mov eax, dword [esp + 0x78]
lea esi, [edi + 0x18]
je 0x481ef2
sub esi, eax
movzx ebx, byte [eax + esi]
movzx ecx, byte [eax]
sub ecx, ebx
jne 0x481ef6
add eax, 1
sub edx, 1
jne 0x481ed7
mov ecx, dword [esp + 0x70]
sub ecx, dword [esp + 0x50]
test ecx, ecx
jne case.0x47c8de.1
jmp case.0x47c8de.0
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x481f1d
mov ecx, dword [eax - 4]
jmp 0x481f20
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.0x47c8de.0
jmp case.0x47c8de.1
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x481f59
mov ecx, dword [eax - 4]
jmp 0x481f5c
movzx ecx, cl
mov edx, dword [edi + 0x14]
cmp ecx, edx
mov dword [esp + 0x48], ecx
jge 0x481f6d
mov edx, ecx
add eax, 5
test edx, edx
lea esi, [edi + 0x18]
je 0x481f9b
sub esi, eax
lea ecx, [ecx]
movzx ebx, byte [eax + esi]
movzx ecx, byte [eax]
sub ecx, ebx
jne 0x481f9e
add eax, 1
sub edx, 1
jne 0x481f80
mov ecx, dword [esp + 0x48]
sub ecx, dword [edi + 0x14]
test ecx, ecx
jne case.0x47c8de.0
jmp case.0x47c8de.1
mov ecx, dword [esp + 0x28]
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.0x47c8de.0
jmp case.0x47c8de.1
mov edx, dword [esp + 0x28]
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 + 0x50], edx
jge 0x482006
mov edx, ecx
test edx, edx
mov eax, dword [esp + 0x78]
lea esi, [edi + 0x18]
je 0x482032
sub esi, eax
movzx ebx, byte [eax + esi]
movzx ecx, byte [eax]
sub ecx, ebx
jne 0x482036
add eax, 1
sub edx, 1
jne 0x482017
mov ecx, dword [esp + 0x70]
sub ecx, dword [esp + 0x50]
test ecx, ecx
jne case.0x47c8de.0
jmp case.0x47c8de.1
mov edx, dword [esp + 0x28]
mov edx, dword [edx]
mov al, byte [edx + 4]
cmp al, 0xff
jne 0x48205c
mov ecx, dword [edx - 4]
jmp 0x48205f
movzx ecx, al
mov esi, dword [edi + 0x14]
add edx, 5
test ecx, ecx
lea eax, [edi + 0x18]
je 0x4820b2
sub edx, eax
mov dword [esp + 0x14], edx
jmp 0x482084
mov edx, dword [esp + 0x14]
test esi, esi
je 0x4820b2
movzx edx, byte [eax + edx]
mov ebx, dword [0x58b5d0]
movzx edx, byte [edx + ebx]
movzx ebx, byte [eax]
sub edx, ebx
jne 0x482120
sub ecx, 1
add eax, 1
sub esi, 1
test ecx, ecx
jne 0x482080
sub ecx, esi
test ecx, ecx
jne case.0x47c8de.1
jmp case.0x47c8de.0
mov eax, dword [esp + 0x28]
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 0x4820b2
mov edx, dword [esp + 0x78]
sub edx, eax
mov dword [esp + 0x14], edx
jmp 0x4820f4
mov edx, dword [esp + 0x14]
test esi, esi
je 0x4820b2
movzx edx, byte [eax + edx]
mov ebx, dword [0x58b5d0]
movzx edx, byte [edx + ebx]
movzx ebx, byte [eax]
sub edx, ebx
jne 0x482120
sub ecx, 1
add eax, 1
sub esi, 1
test ecx, ecx
jne 0x4820f0
jmp 0x4820b2
mov ecx, edx
jmp 0x4820b4
mov eax, dword [esp + 0x28]
mov edx, dword [eax]
mov al, byte [edx + 4]
cmp al, 0xff
jne 0x48213d
mov ecx, dword [edx - 4]
jmp 0x482140
movzx ecx, al
mov esi, dword [edi + 0x14]
add edx, 5
test ecx, ecx
lea eax, [edi + 0x18]
je 0x482192
sub edx, eax
mov dword [esp + 0x14], edx
jmp 0x482164
mov edx, dword [esp + 0x14]
test esi, esi
je 0x482192
movzx edx, byte [eax + edx]
mov ebx, dword [0x58b5d0]
movzx edx, byte [edx + ebx]
movzx ebx, byte [eax]
sub edx, ebx
jne 0x482200
sub ecx, 1
add eax, 1
sub esi, 1
test ecx, ecx
jne 0x482160
sub ecx, esi
test ecx, ecx
jne case.0x47c8de.0
jmp case.0x47c8de.1
mov eax, dword [esp + 0x28]
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 0x482192
mov edx, dword [esp + 0x78]
sub edx, eax
mov dword [esp + 0x14], edx
jmp 0x4821d4
mov edx, dword [esp + 0x14]
test esi, esi
je 0x482192
movzx edx, byte [eax + edx]
mov ebx, dword [0x58b5d0]
movzx edx, byte [edx + ebx]
movzx ebx, byte [eax]
sub edx, ebx
jne 0x482200
sub ecx, 1
add eax, 1
sub esi, 1
test ecx, ecx
jne 0x4821d0
jmp 0x482192
mov ecx, edx
jmp 0x482194
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x48221e
mov ecx, dword [eax - 4]
jmp 0x482221
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 0x47cc3f
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x482252
mov ecx, dword [eax - 4]
jmp 0x482255
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 0x47cc3f
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x482286
mov ecx, dword [eax - 4]
jmp 0x482289
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 0x47cc3f
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x4822ba
mov ecx, dword [eax - 4]
jmp 0x4822bd
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 0x47cc3f
mov eax, dword [esp + 0x28]
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 0x47cc3f
mov ecx, dword [esp + 0x28]
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 0x47cc3f
mov edx, dword [esp + 0x28]
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 0x47cc3f
mov eax, dword [esp + 0x28]
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 0x47cc3f
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x4823a2
mov ecx, dword [eax - 4]
jmp 0x4823a5
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 0x4887e9
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x4823d6
mov ecx, dword [eax - 4]
jmp 0x4823d9
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 0x4887e9
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x48240a
mov ecx, dword [eax - 4]
jmp 0x48240d
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 0x4887e9
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x48243e
mov ecx, dword [eax - 4]
jmp 0x482441
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 0x4887e9
mov eax, dword [esp + 0x28]
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 0x4887e9
mov ecx, dword [esp + 0x28]
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 0x4887e9
mov edx, dword [esp + 0x28]
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 0x4887e9
mov eax, dword [esp + 0x28]
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 0x4887e9
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x482526
mov ecx, dword [eax - 4]
jmp 0x482529
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 0x47cc3f
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x48255a
mov ecx, dword [eax - 4]
jmp 0x48255d
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 0x47cc3f
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x48258e
mov ecx, dword [eax - 4]
jmp 0x482591
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 0x47cc3f
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x4825c2
mov ecx, dword [eax - 4]
jmp 0x4825c5
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 0x47cc3f
mov eax, dword [esp + 0x28]
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 0x47cc3f
mov ecx, dword [esp + 0x28]
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 0x47cc3f
mov edx, dword [esp + 0x28]
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 0x47cc3f
mov eax, dword [esp + 0x28]
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 0x47cc3f
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x4826aa
mov ecx, dword [eax - 4]
jmp 0x4826ad
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 0x4887e9
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x4826de
mov ecx, dword [eax - 4]
jmp 0x4826e1
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 0x4887e9
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x482712
mov ecx, dword [eax - 4]
jmp 0x482715
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 0x4887e9
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x482746
mov ecx, dword [eax - 4]
jmp 0x482749
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 0x4887e9
mov eax, dword [esp + 0x28]
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 0x4887e9
mov ecx, dword [esp + 0x28]
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 0x4887e9
mov edx, dword [esp + 0x28]
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 0x4887e9
mov eax, dword [esp + 0x28]
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 0x4887e9
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x48282e
mov ecx, dword [eax - 4]
jmp 0x482831
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 0x47cc3f
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x482862
mov ecx, dword [eax - 4]
jmp 0x482865
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 0x47cc3f
mov eax, dword [esp + 0x28]
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 0x47cc3f
mov ecx, dword [esp + 0x28]
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 0x47cc3f
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x4828f0
mov ecx, dword [eax - 4]
jmp 0x4828f3
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 0x4887e9
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x482924
mov ecx, dword [eax - 4]
jmp 0x482927
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 0x4887e9
mov eax, dword [esp + 0x28]
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 0x4887e9
mov ecx, dword [esp + 0x28]
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 0x4887e9
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x4829b2
mov ecx, dword [eax - 4]
jmp 0x4829b5
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 0x47cc3f
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x4829e6
mov ecx, dword [eax - 4]
jmp 0x4829e9
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 0x47cc3f
mov eax, dword [esp + 0x28]
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 0x47cc3f
mov ecx, dword [esp + 0x28]
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 0x47cc3f
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x482a74
mov ecx, dword [eax - 4]
jmp 0x482a77
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 0x4887e9
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x482aa8
mov ecx, dword [eax - 4]
jmp 0x482aab
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 0x4887e9
mov eax, dword [esp + 0x28]
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 0x4887e9
mov ecx, dword [esp + 0x28]
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 0x4887e9
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x482b36
mov ecx, dword [eax - 4]
jmp 0x482b39
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 0x47cc3f
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x482b6a
mov ecx, dword [eax - 4]
jmp 0x482b6d
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 0x47cc3f
mov eax, dword [esp + 0x28]
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 0x47cc3f
mov ecx, dword [esp + 0x28]
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 0x47cc3f
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x482bf8
mov ecx, dword [eax - 4]
jmp 0x482bfb
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 0x4887e9
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x482c2c
mov ecx, dword [eax - 4]
jmp 0x482c2f
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 0x4887e9
mov eax, dword [esp + 0x28]
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 0x4887e9
mov ecx, dword [esp + 0x28]
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 0x4887e9
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x482cba
mov ecx, dword [eax - 4]
jmp 0x482cbd
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 0x47cc3f
mov eax, dword [esp + 0x28]
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 0x47cc3f
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x482d1b
mov ecx, dword [eax - 4]
jmp 0x482d1e
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 0x4887e9
mov eax, dword [esp + 0x28]
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 0x4887e9
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x482d7c
mov ecx, dword [eax - 4]
jmp 0x482d7f
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 0x47cc3f
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x482db0
mov ecx, dword [eax - 4]
jmp 0x482db3
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 0x47cc3f
mov eax, dword [esp + 0x28]
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 0x47cc3f
mov ecx, dword [esp + 0x28]
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 0x47cc3f
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x482e3e
mov ecx, dword [eax - 4]
jmp 0x482e41
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 0x4887e9
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x482e72
mov ecx, dword [eax - 4]
jmp 0x482e75
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 0x4887e9
mov eax, dword [esp + 0x28]
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 0x4887e9
mov ecx, dword [esp + 0x28]
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 0x4887e9
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x482f00
mov ecx, dword [eax - 4]
jmp 0x482f03
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 0x47cc3f
mov eax, dword [esp + 0x28]
mov ebx, dword [eax]
mov al, byte [ebx + 4]
cmp al, 0xff
jne 0x482f33
mov eax, dword [ebx - 4]
jmp 0x482f36
movzx eax, al
mov edx, dword [edi + 0x14]
cmp edx, eax
lea ecx, [edi + 0x18]
jg 0x47c912
sub eax, ecx
lea esi, [ecx + edx]
sub eax, edx
cmp ecx, esi
lea eax, [eax + ebx + 5]
je 0x482f72
jmp 0x482f60
mov dl, byte [eax + ecx]
cmp dl, byte [ecx]
jne 0x47c912
add ecx, 1
cmp ecx, esi
jne 0x482f60
mov eax, 1
jmp 0x47cc3f
mov eax, dword [esp + 0x28]
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 0x47cc3f
mov ecx, dword [esp + 0x28]
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 0x47c912
mov eax, dword [esp + 0x78]
sub eax, ecx
sub eax, edx
lea esi, [ecx + edx]
add eax, ebx
cmp ecx, esi
je 0x482ff3
mov dl, byte [eax + ecx]
cmp dl, byte [ecx]
jne 0x47c912
add ecx, 1
cmp ecx, esi
jne 0x482fe1
mov eax, 1
jmp 0x47cc3f
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x483017
mov ecx, dword [eax - 4]
jmp 0x48301a
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 0x4887e9
mov eax, dword [esp + 0x28]
mov ebx, dword [eax]
mov al, byte [ebx + 4]
cmp al, 0xff
jne 0x48304a
mov eax, dword [ebx - 4]
jmp 0x48304d
movzx eax, al
mov edx, dword [edi + 0x14]
cmp edx, eax
lea ecx, [edi + 0x18]
jle 0x483062
xor eax, eax
jmp 0x4887e9
sub eax, ecx
lea esi, [ecx + edx]
sub eax, edx
cmp ecx, esi
lea eax, [eax + ebx + 5]
je 0x483087
mov dl, byte [eax + ecx]
cmp dl, byte [ecx]
jne 0x4873c0
add ecx, 1
cmp ecx, esi
jne 0x483075
mov eax, 1
jmp 0x4887e9
mov eax, dword [esp + 0x28]
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 0x4887e9
mov ecx, dword [esp + 0x28]
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]
jle 0x4830e8
xor eax, eax
jmp 0x4887e9
mov eax, dword [esp + 0x78]
sub eax, ecx
sub eax, edx
lea esi, [ecx + edx]
add eax, ebx
cmp ecx, esi
je 0x483112
lea ecx, [ecx]
mov dl, byte [eax + ecx]
cmp dl, byte [ecx]
jne 0x4873c0
add ecx, 1
cmp ecx, esi
jne 0x483100
mov eax, 1
jmp 0x4887e9
mov eax, dword [esp + 0x28]
mov ebx, dword [eax]
mov al, byte [ebx + 4]
cmp al, 0xff
jne 0x483135
mov eax, dword [ebx - 4]
jmp 0x483138
movzx eax, al
mov edx, dword [edi + 0x14]
cmp edx, eax
lea ecx, [edi + 0x18]
jg 0x47c912
sub eax, ecx
lea esi, [ecx + edx]
sub eax, edx
cmp ecx, esi
lea eax, [eax + ebx + 5]
je 0x48317c
lea esp, [esp]
movzx edx, byte [eax + ecx]
mov ebx, dword [0x58b5d0]
mov dl, byte [edx + ebx]
cmp dl, byte [ecx]
jne 0x47c912
add ecx, 1
cmp ecx, esi
jne 0x483160
mov eax, 1
jmp 0x47cc3f
mov eax, dword [esp + 0x28]
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 0x47c912
mov eax, dword [esp + 0x78]
sub eax, ecx
sub eax, edx
lea esi, [ecx + edx]
add eax, ebx
cmp ecx, esi
je 0x4831dc
mov edi, edi
movzx edx, byte [eax + ecx]
mov ebx, dword [0x58b5d0]
mov dl, byte [edx + ebx]
cmp dl, byte [ecx]
jne 0x47c912
add ecx, 1
cmp ecx, esi
jne 0x4831c0
mov eax, 1
jmp 0x47cc3f
mov eax, dword [esp + 0x28]
mov ebx, dword [eax]
mov al, byte [ebx + 4]
cmp al, 0xff
jne 0x4831ff
mov eax, dword [ebx - 4]
jmp 0x483202
movzx eax, al
mov edx, dword [edi + 0x14]
cmp edx, eax
lea ecx, [edi + 0x18]
jle 0x483217
xor eax, eax
jmp 0x4887e9
sub eax, ecx
lea esi, [ecx + edx]
sub eax, edx
cmp ecx, esi
lea eax, [eax + ebx + 5]
je 0x48324c
lea ebx, [ebx]
movzx edx, byte [eax + ecx]
mov ebx, dword [0x58b5d0]
mov dl, byte [edx + ebx]
cmp dl, byte [ecx]
jne 0x4873c0
add ecx, 1
cmp ecx, esi
jne 0x483230
mov eax, 1
jmp 0x4887e9
mov eax, dword [esp + 0x28]
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]
jle 0x483280
xor eax, eax
jmp 0x4887e9
mov eax, dword [esp + 0x78]
sub eax, ecx
sub eax, edx
lea esi, [ecx + edx]
add eax, ebx
cmp ecx, esi
je 0x4832bc
jmp 0x4832a0
movzx edx, byte [eax + ecx]
mov ebx, dword [0x58b5d0]
mov dl, byte [edx + ebx]
cmp dl, byte [ecx]
jne 0x4873c0
add ecx, 1
cmp ecx, esi
jne 0x4832a0
mov eax, 1
jmp 0x4887e9
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x4832e0
mov ecx, dword [eax - 4]
jmp 0x4832e3
movzx ecx, cl
mov edi, dword [edi + 0x14]
mov dword [esp + 0x48], ecx
lea ecx, [ecx + eax + 4]
sub edi, 1
mov dword [esp + 0x50], ecx
mov dword [esp + 0x3c], 0
mov dword [esp + 0x30], edi
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x30]
sub eax, ecx
cdq
sub eax, edx
mov edx, dword [esp + 0x50]
sar eax, 1
add eax, ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x10]
mov esi, dword [ecx + eax*8 + 0x1c]
mov edi, dword [ecx + eax*8 + 0x18]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x20], edx
mov ebx, dword [esp + 0x14]
test ebx, ebx
je 0x4836c8
test edi, edi
je 0x4836a3
mov edx, dword [esp + 0x20]
mov al, byte [edx]
test al, al
jns 0x483537
cmp ebx, 2
jl 0x48338b
movzx ecx, byte [edx - 1]
mov bl, cl
and bl, 0xe0
cmp bl, 0xc0
jne 0x483387
and ecx, 0x1f
shl ecx, 6
and eax, 0x3f
or ecx, eax
sub edx, 2
sub dword [esp + 0x14], 2
jmp 0x48342d
mov ebx, dword [esp + 0x14]
cmp ebx, 3
jl 0x4833d0
movzx ecx, byte [edx - 2]
mov bl, cl
and bl, 0xf0
cmp bl, 0xe0
jne 0x4833cc
movzx ebx, byte [edx - 1]
and ecx, 0xf
and ebx, 0x3f
shl ecx, 6
or ebx, ecx
shl ebx, 6
and eax, 0x3f
or ebx, eax
sub edx, 3
sub dword [esp + 0x14], 3
mov ecx, ebx
jmp 0x48342d
mov ebx, dword [esp + 0x14]
cmp ebx, 4
jl 0x483421
movzx ecx, byte [edx - 3]
mov bl, cl
and bl, 0xf8
cmp bl, 0xf0
jne 0x48341d
movzx ebx, byte [edx - 2]
and ecx, 7
and ebx, 0x3f
shl ecx, 6
or ebx, ecx
movzx ecx, byte [edx - 1]
shl ebx, 6
and ecx, 0x3f
or ebx, ecx
shl ebx, 6
and eax, 0x3f
or ebx, eax
sub edx, 4
sub dword [esp + 0x14], 4
mov ecx, ebx
jmp 0x48342d
mov ebx, dword [esp + 0x14]
xor ecx, ecx
sub edx, 1
sub ebx, 1
mov dword [esp + 0x14], ebx
mov bl, byte [esi]
test bl, bl
mov dword [esp + 0x20], edx
jns 0x483521
cmp edi, 2
jl 0x483476
movzx eax, byte [esi - 1]
mov dl, al
and dl, 0xe0
cmp dl, 0xc0
jne 0x483476
and eax, 0x1f
shl eax, 6
and ebx, 0x3f
or eax, ebx
push ecx
mov ebx, eax
sub esi, 2
sub edi, 2
call fcn.00409960
sub eax, ebx
jmp 0x483669
cmp edi, 3
jl 0x4834bb
movzx eax, byte [esi - 2]
mov dl, al
and dl, 0xf0
cmp dl, 0xe0
jne 0x4834bb
movzx edx, byte [esi - 1]
and eax, 0xf
and edx, 0x3f
shl eax, 6
or edx, eax
shl edx, 6
and ebx, 0x3f
push ecx
or ebx, edx
sub esi, 3
sub edi, 3
call fcn.00409960
sub eax, ebx
jmp 0x483669
cmp edi, 4
jl 0x48350c
movzx eax, byte [esi - 3]
mov dl, al
and dl, 0xf8
cmp dl, 0xf0
jne 0x48350c
movzx edx, byte [esi - 2]
and eax, 7
and edx, 0x3f
shl eax, 6
or edx, eax
movzx eax, byte [esi - 1]
shl edx, 6
and eax, 0x3f
or edx, eax
shl edx, 6
and ebx, 0x3f
push ecx
or ebx, edx
sub esi, 4
sub edi, 4
call fcn.00409960
sub eax, ebx
jmp 0x483669
push ecx
xor ebx, ebx
sub esi, 1
sub edi, 1
call fcn.00409960
sub eax, ebx
jmp 0x483669
push ecx
call fcn.00409960
movzx ecx, bl
sub eax, ecx
sub esi, 1
sub edi, 1
jmp 0x483669
mov cl, byte [esi]
test cl, cl
jns 0x483645
cmp edi, 2
jl 0x483581
movzx edx, byte [esi - 1]
mov bl, dl
and bl, 0xe0
cmp bl, 0xc0
jne 0x483581
and edx, 0x1f
and ecx, 0x3f
shl edx, 6
movzx eax, al
or edx, ecx
mov ecx, dword [0x58b5d0]
movzx eax, byte [eax + ecx]
sub esi, 2
sub edi, 2
sub eax, edx
jmp 0x48365c
cmp edi, 3
jl 0x4835cf
movzx edx, byte [esi - 2]
mov bl, dl
and bl, 0xf0
cmp bl, 0xe0
jne 0x4835cf
movzx ebx, byte [esi - 1]
and edx, 0xf
and ebx, 0x3f
shl edx, 6
or ebx, edx
and ecx, 0x3f
shl ebx, 6
or ebx, ecx
mov ecx, dword [0x58b5d0]
movzx eax, al
movzx eax, byte [eax + ecx]
mov edx, ebx
sub esi, 3
sub edi, 3
sub eax, edx
jmp 0x48365c
cmp edi, 4
jl 0x483629
movzx edx, byte [esi - 3]
mov bl, dl
and bl, 0xf8
cmp bl, 0xf0
jne 0x483629
movzx ebx, byte [esi - 2]
and edx, 7
and ebx, 0x3f
shl edx, 6
or ebx, edx
movzx edx, byte [esi - 1]
shl ebx, 6
and edx, 0x3f
or ebx, edx
and ecx, 0x3f
shl ebx, 6
or ebx, ecx
mov ecx, dword [0x58b5d0]
movzx eax, al
movzx eax, byte [eax + ecx]
mov edx, ebx
sub esi, 4
sub edi, 4
sub eax, edx
jmp 0x48365c
mov ecx, dword [0x58b5d0]
movzx eax, al
movzx eax, byte [eax + ecx]
xor edx, edx
sub esi, 1
sub edi, 1
sub eax, edx
jmp 0x48365c
movzx edx, al
mov eax, dword [0x58b5d0]
movzx eax, byte [edx + eax]
movzx ecx, cl
sub eax, ecx
sub esi, 1
sub edi, 1
mov ecx, 1
sub dword [esp + 0x20], ecx
sub dword [esp + 0x14], ecx
test eax, eax
je 0x483332
jge 0x48368d
mov edx, dword [esp + 0x2c]
add edx, 0xffffffff
mov ecx, edx
cmp dword [esp + 0x3c], ecx
mov dword [esp + 0x30], edx
jmp 0x4836db
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
add eax, 1
mov dword [esp + 0x3c], eax
cmp eax, ecx
jmp 0x4836db
test ebx, ebx
je 0x4836c8
mov edx, dword [esp + 0x20]
cmp byte [edx], 0x2e
je 0x484788
mov eax, dword [esp + 0x2c]
add eax, 1
mov dword [esp + 0x3c], eax
jmp 0x4836d3
mov ecx, dword [esp + 0x2c]
add ecx, 0xffffffff
mov dword [esp + 0x30], ecx
mov edx, dword [esp + 0x30]
cmp dword [esp + 0x3c], edx
jle 0x483301
jmp 0x484727
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x483700
mov ecx, dword [eax - 4]
jmp 0x483703
movzx ecx, cl
lea eax, [ecx + eax + 4]
mov dword [esp + 0x50], eax
mov eax, dword [edi + 0x14]
sub eax, 1
mov dword [esp + 0x48], ecx
mov dword [esp + 0x3c], 0
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x30]
sub eax, ecx
cdq
sub eax, edx
mov edx, dword [esp + 0x48]
sar eax, 1
add eax, ecx
mov esi, dword [edi + eax*8 + 0x1c]
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x2c], eax
mov eax, dword [edi + eax*8 + 0x18]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x14]
test eax, eax
je 0x483ae2
cmp dword [esp + 0x10], 0
je 0x483abd
mov ebx, dword [esp + 0x20]
mov dl, byte [ebx]
test dl, dl
jns 0x483970
cmp eax, 2
jl 0x4837b0
movzx eax, byte [ebx - 1]
mov cl, al
and cl, 0xe0
cmp cl, 0xc0
jne 0x4837ac
and eax, 0x1f
shl eax, 6
and edx, 0x3f
or eax, edx
sub ebx, 2
sub dword [esp + 0x14], 2
mov ecx, eax
jmp 0x483852
mov eax, dword [esp + 0x14]
cmp eax, 3
jl 0x4837f5
movzx eax, byte [ebx - 2]
mov cl, al
and cl, 0xf0
cmp cl, 0xe0
jne 0x4837f1
movzx ecx, byte [ebx - 1]
and eax, 0xf
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
sub ebx, 3
sub dword [esp + 0x14], 3
mov ecx, eax
jmp 0x483852
mov eax, dword [esp + 0x14]
cmp eax, 4
jl 0x483846
movzx eax, byte [ebx - 3]
mov cl, al
and cl, 0xf8
cmp cl, 0xf0
jne 0x483842
movzx ecx, byte [ebx - 2]
and eax, 7
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [ebx - 1]
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
sub ebx, 4
sub dword [esp + 0x14], 4
mov ecx, eax
jmp 0x483852
mov eax, dword [esp + 0x14]
xor ecx, ecx
sub ebx, 1
sub eax, 1
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], ebx
mov bl, byte [esi]
test bl, bl
jns 0x483958
cmp dword [esp + 0x10], 2
jl 0x48389f
movzx eax, byte [esi - 1]
mov dl, al
and dl, 0xe0
cmp dl, 0xc0
jne 0x48389f
sub dword [esp + 0x10], 2
and eax, 0x1f
shl eax, 6
and ebx, 0x3f
or eax, ebx
push ecx
mov ebx, eax
sub esi, 2
call fcn.00421a20
sub eax, ebx
jmp 0x483a83
cmp dword [esp + 0x10], 3
jl 0x4838ea
movzx eax, byte [esi - 2]
mov dl, al
and dl, 0xf0
cmp dl, 0xe0
jne 0x4838ea
movzx edx, byte [esi - 1]
sub dword [esp + 0x10], 3
and eax, 0xf
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ebx, 0x3f
or eax, ebx
push ecx
mov ebx, eax
sub esi, 3
call fcn.00421a20
sub eax, ebx
jmp 0x483a83
cmp dword [esp + 0x10], 4
jl 0x483941
movzx eax, byte [esi - 3]
mov dl, al
and dl, 0xf8
cmp dl, 0xf0
jne 0x483941
movzx edx, byte [esi - 2]
sub dword [esp + 0x10], 4
and eax, 7
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi - 1]
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ebx, 0x3f
or eax, ebx
push ecx
mov ebx, eax
sub esi, 4
call fcn.00421a20
sub eax, ebx
jmp 0x483a83
sub dword [esp + 0x10], 1
push ecx
xor ebx, ebx
sub esi, 1
call fcn.00421a20
sub eax, ebx
jmp 0x483a83
push ecx
call fcn.00421a20
movzx ecx, bl
sub eax, ecx
sub esi, 1
sub dword [esp + 0x10], 1
jmp 0x483a83
mov cl, byte [esi]
test cl, cl
jns 0x483a66
cmp dword [esp + 0x10], 2
jl 0x4839b6
movzx eax, byte [esi - 1]
mov bl, al
and bl, 0xe0
cmp bl, 0xc0
jne 0x4839b6
sub dword [esp + 0x10], 2
and eax, 0x1f
shl eax, 6
and ecx, 0x3f
or eax, ecx
mov ecx, eax
movzx eax, dl
sub esi, 2
sub eax, ecx
jmp 0x483a76
cmp dword [esp + 0x10], 3
jl 0x4839fe
movzx eax, byte [esi - 2]
mov bl, al
and bl, 0xf0
cmp bl, 0xe0
jne 0x4839fe
movzx ebx, byte [esi - 1]
sub dword [esp + 0x10], 3
and eax, 0xf
shl eax, 6
and ebx, 0x3f
or eax, ebx
shl eax, 6
and ecx, 0x3f
or eax, ecx
mov ecx, eax
movzx eax, dl
sub esi, 3
sub eax, ecx
jmp 0x483a76
cmp dword [esp + 0x10], 4
jl 0x483a52
movzx eax, byte [esi - 3]
mov bl, al
and bl, 0xf8
cmp bl, 0xf0
jne 0x483a52
movzx ebx, byte [esi - 2]
sub dword [esp + 0x10], 4
and eax, 7
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [esi - 1]
shl eax, 6
and ebx, 0x3f
or eax, ebx
shl eax, 6
and ecx, 0x3f
or eax, ecx
mov ecx, eax
movzx eax, dl
sub esi, 4
sub eax, ecx
jmp 0x483a76
sub dword [esp + 0x10], 1
movzx eax, dl
xor ecx, ecx
sub esi, 1
sub eax, ecx
jmp 0x483a76
movzx ecx, cl
movzx eax, dl
sub eax, ecx
sub esi, 1
sub dword [esp + 0x10], 1
mov ecx, 1
sub dword [esp + 0x20], ecx
sub dword [esp + 0x14], ecx
test eax, eax
je 0x483752
jge 0x483aa7
mov edx, dword [esp + 0x2c]
add edx, 0xffffffff
mov ecx, edx
cmp dword [esp + 0x3c], ecx
mov dword [esp + 0x30], edx
jmp 0x483af5
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
add eax, 1
mov dword [esp + 0x3c], eax
cmp eax, ecx
jmp 0x483af5
test eax, eax
je 0x483ae2
mov edx, dword [esp + 0x20]
cmp byte [edx], 0x2e
je 0x482f72
mov eax, dword [esp + 0x2c]
add eax, 1
mov dword [esp + 0x3c], eax
jmp 0x483aed
mov ecx, dword [esp + 0x2c]
add ecx, 0xffffffff
mov dword [esp + 0x30], ecx
mov edx, dword [esp + 0x30]
cmp dword [esp + 0x3c], edx
jle 0x483721
xor eax, eax
jmp 0x47cc3f
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x483b1c
mov ecx, dword [eax - 4]
jmp 0x483b1f
movzx ecx, cl
mov edi, dword [edi + 0x14]
mov dword [esp + 0x48], ecx
lea ecx, [ecx + eax + 4]
sub edi, 1
mov dword [esp + 0x50], ecx
mov dword [esp + 0x3c], 0
mov dword [esp + 0x30], edi
lea ecx, [ecx]
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x30]
sub eax, ecx
cdq
sub eax, edx
mov edx, dword [esp + 0x50]
sar eax, 1
add eax, ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x10]
mov esi, dword [ecx + eax*8 + 0x1c]
mov edi, dword [ecx + eax*8 + 0x18]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x20], edx
mov ebx, dword [esp + 0x14]
test ebx, ebx
je 0x483f1a
test edi, edi
je 0x483ef2
mov edx, dword [esp + 0x20]
mov al, byte [edx]
test al, al
jns 0x483d76
cmp ebx, 2
jl 0x483bca
movzx ecx, byte [edx - 1]
mov bl, cl
and bl, 0xe0
cmp bl, 0xc0
jne 0x483bc6
and ecx, 0x1f
shl ecx, 6
and eax, 0x3f
or ecx, eax
sub edx, 2
sub dword [esp + 0x14], 2
jmp 0x483c6c
mov ebx, dword [esp + 0x14]
cmp ebx, 3
jl 0x483c0f
movzx ecx, byte [edx - 2]
mov bl, cl
and bl, 0xf0
cmp bl, 0xe0
jne 0x483c0b
movzx ebx, byte [edx - 1]
and ecx, 0xf
and ebx, 0x3f
shl ecx, 6
or ebx, ecx
shl ebx, 6
and eax, 0x3f
or ebx, eax
sub edx, 3
sub dword [esp + 0x14], 3
mov ecx, ebx
jmp 0x483c6c
mov ebx, dword [esp + 0x14]
cmp ebx, 4
jl 0x483c60
movzx ecx, byte [edx - 3]
mov bl, cl
and bl, 0xf8
cmp bl, 0xf0
jne 0x483c5c
movzx ebx, byte [edx - 2]
and ecx, 7
and ebx, 0x3f
shl ecx, 6
or ebx, ecx
movzx ecx, byte [edx - 1]
shl ebx, 6
and ecx, 0x3f
or ebx, ecx
shl ebx, 6
and eax, 0x3f
or ebx, eax
sub edx, 4
sub dword [esp + 0x14], 4
mov ecx, ebx
jmp 0x483c6c
mov ebx, dword [esp + 0x14]
xor ecx, ecx
sub edx, 1
sub ebx, 1
mov dword [esp + 0x14], ebx
mov bl, byte [esi]
test bl, bl
mov dword [esp + 0x20], edx
jns 0x483d60
cmp edi, 2
jl 0x483cb5
movzx eax, byte [esi - 1]
mov dl, al
and dl, 0xe0
cmp dl, 0xc0
jne 0x483cb5
and eax, 0x1f
shl eax, 6
and ebx, 0x3f
or eax, ebx
push ecx
mov ebx, eax
sub esi, 2
sub edi, 2
call fcn.00409960
sub eax, ebx
jmp 0x483ea8
cmp edi, 3
jl 0x483cfa
movzx eax, byte [esi - 2]
mov dl, al
and dl, 0xf0
cmp dl, 0xe0
jne 0x483cfa
movzx edx, byte [esi - 1]
and eax, 0xf
and edx, 0x3f
shl eax, 6
or edx, eax
shl edx, 6
and ebx, 0x3f
push ecx
or ebx, edx
sub esi, 3
sub edi, 3
call fcn.00409960
sub eax, ebx
jmp 0x483ea8
cmp edi, 4
jl 0x483d4b
movzx eax, byte [esi - 3]
mov dl, al
and dl, 0xf8
cmp dl, 0xf0
jne 0x483d4b
movzx edx, byte [esi - 2]
and eax, 7
and edx, 0x3f
shl eax, 6
or edx, eax
movzx eax, byte [esi - 1]
shl edx, 6
and eax, 0x3f
or edx, eax
shl edx, 6
and ebx, 0x3f
push ecx
or ebx, edx
sub esi, 4
sub edi, 4
call fcn.00409960
sub eax, ebx
jmp 0x483ea8
push ecx
xor ebx, ebx
sub esi, 1
sub edi, 1
call fcn.00409960
sub eax, ebx
jmp 0x483ea8
push ecx
call fcn.00409960
movzx ecx, bl
sub eax, ecx
sub esi, 1
sub edi, 1
jmp 0x483ea8
mov cl, byte [esi]
test cl, cl
jns 0x483e84
cmp edi, 2
jl 0x483dc0
movzx edx, byte [esi - 1]
mov bl, dl
and bl, 0xe0
cmp bl, 0xc0
jne 0x483dc0
and edx, 0x1f
and ecx, 0x3f
shl edx, 6
movzx eax, al
or edx, ecx
mov ecx, dword [0x58b5d0]
movzx eax, byte [eax + ecx]
sub esi, 2
sub edi, 2
sub eax, edx
jmp 0x483e9b
cmp edi, 3
jl 0x483e0e
movzx edx, byte [esi - 2]
mov bl, dl
and bl, 0xf0
cmp bl, 0xe0
jne 0x483e0e
movzx ebx, byte [esi - 1]
and edx, 0xf
and ebx, 0x3f
shl edx, 6
or ebx, edx
and ecx, 0x3f
shl ebx, 6
or ebx, ecx
mov ecx, dword [0x58b5d0]
movzx eax, al
movzx eax, byte [eax + ecx]
mov edx, ebx
sub esi, 3
sub edi, 3
sub eax, edx
jmp 0x483e9b
cmp edi, 4
jl 0x483e68
movzx edx, byte [esi - 3]
mov bl, dl
and bl, 0xf8
cmp bl, 0xf0
jne 0x483e68
movzx ebx, byte [esi - 2]
and edx, 7
and ebx, 0x3f
shl edx, 6
or ebx, edx
movzx edx, byte [esi - 1]
shl ebx, 6
and edx, 0x3f
or ebx, edx
and ecx, 0x3f
shl ebx, 6
or ebx, ecx
mov ecx, dword [0x58b5d0]
movzx eax, al
movzx eax, byte [eax + ecx]
mov edx, ebx
sub esi, 4
sub edi, 4
sub eax, edx
jmp 0x483e9b
mov ecx, dword [0x58b5d0]
movzx eax, al
movzx eax, byte [eax + ecx]
xor edx, edx
sub esi, 1
sub edi, 1
sub eax, edx
jmp 0x483e9b
movzx edx, al
mov eax, dword [0x58b5d0]
movzx eax, byte [edx + eax]
movzx ecx, cl
sub eax, ecx
sub esi, 1
sub edi, 1
mov ecx, 1
sub dword [esp + 0x20], ecx
sub dword [esp + 0x14], ecx
test eax, eax
je 0x483b71
jge 0x483ec6
mov edx, dword [esp + 0x2c]
add edx, 0xffffffff
mov dword [esp + 0x30], edx
jmp 0x483ed1
mov eax, dword [esp + 0x2c]
add eax, 1
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0x30]
cmp dword [esp + 0x3c], ecx
jle 0x483b40
xor eax, eax
test eax, eax
mov eax, dword [esp + 0x10]
je 0x484cac
jmp 0x48549c
test ebx, ebx
je 0x483f1a
mov edx, dword [esp + 0x20]
cmp byte [edx], 0x2e
je 0x483f2d
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
add eax, 1
mov dword [esp + 0x3c], eax
cmp eax, edx
jmp 0x483ed9
mov ecx, dword [esp + 0x2c]
add ecx, 0xffffffff
mov edx, ecx
cmp dword [esp + 0x3c], edx
mov dword [esp + 0x30], ecx
jmp 0x483ed9
mov eax, 1
jmp 0x483ee1
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x483f4e
mov ecx, dword [eax - 4]
jmp 0x483f51
movzx ecx, cl
mov edi, dword [edi + 0x14]
lea eax, [ecx + eax + 4]
sub edi, 1
mov dword [esp + 0x48], ecx
mov dword [esp + 0x50], eax
mov dword [esp + 0x3c], 0
mov dword [esp + 0x30], edi
nop
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x30]
sub eax, ecx
cdq
sub eax, edx
mov edx, dword [esp + 0x48]
sar eax, 1
add eax, ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x10]
mov esi, dword [ecx + eax*8 + 0x1c]
mov edi, dword [ecx + eax*8 + 0x18]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x14], edx
mov eax, dword [esp + 0x14]
test eax, eax
je 0x484321
test edi, edi
je 0x4842f9
mov ecx, dword [esp + 0x20]
mov dl, byte [ecx]
test dl, dl
jns 0x4841ac
cmp eax, 2
jl 0x483ffc
movzx eax, byte [ecx - 1]
mov bl, al
and bl, 0xe0
cmp bl, 0xc0
jne 0x483ff8
and eax, 0x1f
and edx, 0x3f
shl eax, 6
or eax, edx
sub ecx, 2
sub dword [esp + 0x14], 2
mov edx, eax
jmp 0x48409e
mov eax, dword [esp + 0x14]
cmp eax, 3
jl 0x484041
movzx eax, byte [ecx - 2]
mov bl, al
and bl, 0xf0
cmp bl, 0xe0
jne 0x48403d
movzx ebx, byte [ecx - 1]
and eax, 0xf
shl eax, 6
and ebx, 0x3f
or eax, ebx
and edx, 0x3f
shl eax, 6
or eax, edx
sub ecx, 3
sub dword [esp + 0x14], 3
mov edx, eax
jmp 0x48409e
mov eax, dword [esp + 0x14]
cmp eax, 4
jl 0x484092
movzx eax, byte [ecx - 3]
mov bl, al
and bl, 0xf8
cmp bl, 0xf0
jne 0x48408e
movzx ebx, byte [ecx - 2]
and eax, 7
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [ecx - 1]
shl eax, 6
and ebx, 0x3f
or eax, ebx
and edx, 0x3f
shl eax, 6
or eax, edx
sub ecx, 4
sub dword [esp + 0x14], 4
mov edx, eax
jmp 0x48409e
mov eax, dword [esp + 0x14]
xor edx, edx
sub ecx, 1
sub eax, 1
mov dword [esp + 0x14], eax
mov bl, byte [esi]
test bl, bl
mov dword [esp + 0x20], ecx
jns 0x484196
cmp edi, 2
jl 0x4840e7
movzx eax, byte [esi - 1]
mov cl, al
and cl, 0xe0
cmp cl, 0xc0
jne 0x4840e7
and eax, 0x1f
shl eax, 6
and ebx, 0x3f
or eax, ebx
push edx
mov ebx, eax
sub esi, 2
sub edi, 2
call fcn.00421a20
sub eax, ebx
jmp 0x4842af
cmp edi, 3
jl 0x48412e
movzx eax, byte [esi - 2]
mov cl, al
and cl, 0xf0
cmp cl, 0xe0
jne 0x48412e
movzx ecx, byte [esi - 1]
and eax, 0xf
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and ebx, 0x3f
or eax, ebx
push edx
mov ebx, eax
sub esi, 3
sub edi, 3
call fcn.00421a20
sub eax, ebx
jmp 0x4842af
cmp edi, 4
jl 0x484181
movzx eax, byte [esi - 3]
mov cl, al
and cl, 0xf8
cmp cl, 0xf0
jne 0x484181
movzx ecx, byte [esi - 2]
and eax, 7
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi - 1]
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and ebx, 0x3f
or eax, ebx
push edx
mov ebx, eax
sub esi, 4
sub edi, 4
call fcn.00421a20
sub eax, ebx
jmp 0x4842af
push edx
xor ebx, ebx
sub esi, 1
sub edi, 1
call fcn.00421a20
sub eax, ebx
jmp 0x4842af
push edx
call fcn.00421a20
movzx edx, bl
sub eax, edx
sub esi, 1
sub edi, 1
jmp 0x4842af
mov cl, byte [esi]
test cl, cl
jns 0x484294
cmp edi, 2
jl 0x4841ee
movzx eax, byte [esi - 1]
mov bl, al
and bl, 0xe0
cmp bl, 0xc0
jne 0x4841ee
and eax, 0x1f
shl eax, 6
and ecx, 0x3f
or eax, ecx
mov ecx, eax
movzx eax, dl
sub esi, 2
sub edi, 2
sub eax, ecx
jmp 0x4842a2
cmp edi, 3
jl 0x484232
movzx eax, byte [esi - 2]
mov bl, al
and bl, 0xf0
cmp bl, 0xe0
jne 0x484232
movzx ebx, byte [esi - 1]
and eax, 0xf
shl eax, 6
and ebx, 0x3f
or eax, ebx
shl eax, 6
and ecx, 0x3f
or eax, ecx
mov ecx, eax
movzx eax, dl
sub esi, 3
sub edi, 3
sub eax, ecx
jmp 0x4842a2
cmp edi, 4
jl 0x484282
movzx eax, byte [esi - 3]
mov bl, al
and bl, 0xf8
cmp bl, 0xf0
jne 0x484282
movzx ebx, byte [esi - 2]
and eax, 7
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [esi - 1]
shl eax, 6
and ebx, 0x3f
or eax, ebx
shl eax, 6
and ecx, 0x3f
or eax, ecx
mov ecx, eax
movzx eax, dl
sub esi, 4
sub edi, 4
sub eax, ecx
jmp 0x4842a2
movzx eax, dl
xor ecx, ecx
sub esi, 1
sub edi, 1
sub eax, ecx
jmp 0x4842a2
movzx ecx, cl
movzx eax, dl
sub eax, ecx
sub esi, 1
sub edi, 1
mov ecx, 1
sub dword [esp + 0x20], ecx
sub dword [esp + 0x14], ecx
test eax, eax
je 0x483fa1
jge 0x4842cd
mov edx, dword [esp + 0x2c]
add edx, 0xffffffff
mov dword [esp + 0x30], edx
jmp 0x4842d8
mov eax, dword [esp + 0x2c]
add eax, 1
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0x30]
cmp dword [esp + 0x3c], ecx
jle 0x483f70
xor eax, eax
test eax, eax
mov eax, dword [esp + 0x10]
je 0x484cac
jmp 0x48549c
test eax, eax
je 0x484321
mov edx, dword [esp + 0x20]
cmp byte [edx], 0x2e
je 0x484334
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
add eax, 1
mov dword [esp + 0x3c], eax
cmp eax, edx
jmp 0x4842e0
mov ecx, dword [esp + 0x2c]
add ecx, 0xffffffff
mov edx, ecx
cmp dword [esp + 0x3c], edx
mov dword [esp + 0x30], ecx
jmp 0x4842e0
mov eax, 1
jmp 0x4842e8
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x484355
mov ecx, dword [eax - 4]
jmp 0x484358
movzx ecx, cl
mov edi, dword [edi + 0x14]
lea eax, [ecx + eax + 4]
sub edi, 1
mov dword [esp + 0x48], ecx
mov dword [esp + 0x50], eax
mov dword [esp + 0x3c], 0
mov dword [esp + 0x30], edi
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x30]
sub eax, ecx
cdq
sub eax, edx
mov edx, dword [esp + 0x48]
sar eax, 1
add eax, ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x10]
mov esi, dword [ecx + eax*8 + 0x1c]
mov edi, dword [ecx + eax*8 + 0x18]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x14], edx
jmp 0x4843b0
mov eax, dword [esp + 0x14]
test eax, eax
je 0x484775
test edi, edi
je 0x48474d
mov ecx, dword [esp + 0x20]
mov dl, byte [ecx]
test dl, dl
jns 0x4845bb
cmp eax, 2
jl 0x48440b
movzx eax, byte [ecx - 1]
mov bl, al
and bl, 0xe0
cmp bl, 0xc0
jne 0x484407
and eax, 0x1f
and edx, 0x3f
shl eax, 6
or eax, edx
sub ecx, 2
sub dword [esp + 0x14], 2
mov edx, eax
jmp 0x4844ad
mov eax, dword [esp + 0x14]
cmp eax, 3
jl 0x484450
movzx eax, byte [ecx - 2]
mov bl, al
and bl, 0xf0
cmp bl, 0xe0
jne 0x48444c
movzx ebx, byte [ecx - 1]
and eax, 0xf
shl eax, 6
and ebx, 0x3f
or eax, ebx
and edx, 0x3f
shl eax, 6
or eax, edx
sub ecx, 3
sub dword [esp + 0x14], 3
mov edx, eax
jmp 0x4844ad
mov eax, dword [esp + 0x14]
cmp eax, 4
jl 0x4844a1
movzx eax, byte [ecx - 3]
mov bl, al
and bl, 0xf8
cmp bl, 0xf0
jne 0x48449d
movzx ebx, byte [ecx - 2]
and eax, 7
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [ecx - 1]
shl eax, 6
and ebx, 0x3f
or eax, ebx
and edx, 0x3f
shl eax, 6
or eax, edx
sub ecx, 4
sub dword [esp + 0x14], 4
mov edx, eax
jmp 0x4844ad
mov eax, dword [esp + 0x14]
xor edx, edx
sub ecx, 1
sub eax, 1
mov dword [esp + 0x14], eax
mov bl, byte [esi]
test bl, bl
mov dword [esp + 0x20], ecx
jns 0x4845a5
cmp edi, 2
jl 0x4844f6
movzx eax, byte [esi - 1]
mov cl, al
and cl, 0xe0
cmp cl, 0xc0
jne 0x4844f6
and eax, 0x1f
shl eax, 6
and ebx, 0x3f
or eax, ebx
push edx
mov ebx, eax
sub esi, 2
sub edi, 2
call fcn.00409910
sub eax, ebx
jmp 0x4846f0
cmp edi, 3
jl 0x48453d
movzx eax, byte [esi - 2]
mov cl, al
and cl, 0xf0
cmp cl, 0xe0
jne 0x48453d
movzx ecx, byte [esi - 1]
and eax, 0xf
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and ebx, 0x3f
or eax, ebx
push edx
mov ebx, eax
sub esi, 3
sub edi, 3
call fcn.00409910
sub eax, ebx
jmp 0x4846f0
cmp edi, 4
jl 0x484590
movzx eax, byte [esi - 3]
mov cl, al
and cl, 0xf8
cmp cl, 0xf0
jne 0x484590
movzx ecx, byte [esi - 2]
and eax, 7
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi - 1]
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and ebx, 0x3f
or eax, ebx
push edx
mov ebx, eax
sub esi, 4
sub edi, 4
call fcn.00409910
sub eax, ebx
jmp 0x4846f0
push edx
xor ebx, ebx
sub esi, 1
sub edi, 1
call fcn.00409910
sub eax, ebx
jmp 0x4846f0
push edx
call fcn.00409910
movzx edx, bl
sub eax, edx
sub esi, 1
sub edi, 1
jmp 0x4846f0
mov cl, byte [esi]
test cl, cl
jns 0x4846cb
cmp edi, 2
jl 0x484607
movzx eax, byte [esi - 1]
mov bl, al
and bl, 0xe0
cmp bl, 0xc0
jne 0x484607
and eax, 0x1f
shl eax, 6
and ecx, 0x3f
or eax, ecx
mov ecx, eax
movzx eax, dl
mov edx, dword [0x58b5d0]
movzx eax, byte [eax + edx]
sub esi, 2
sub edi, 2
sub eax, ecx
jmp 0x4846e3
cmp edi, 3
jl 0x484655
movzx eax, byte [esi - 2]
mov bl, al
and bl, 0xf0
cmp bl, 0xe0
jne 0x484655
movzx ebx, byte [esi - 1]
and eax, 0xf
shl eax, 6
and ebx, 0x3f
or eax, ebx
shl eax, 6
and ecx, 0x3f
or eax, ecx
mov ecx, eax
movzx eax, dl
mov edx, dword [0x58b5d0]
movzx eax, byte [eax + edx]
sub esi, 3
sub edi, 3
sub eax, ecx
jmp 0x4846e3
cmp edi, 4
jl 0x4846af
movzx eax, byte [esi - 3]
mov bl, al
and bl, 0xf8
cmp bl, 0xf0
jne 0x4846af
movzx ebx, byte [esi - 2]
and eax, 7
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [esi - 1]
shl eax, 6
and ebx, 0x3f
or eax, ebx
shl eax, 6
and ecx, 0x3f
or eax, ecx
mov ecx, eax
movzx eax, dl
mov edx, dword [0x58b5d0]
movzx eax, byte [eax + edx]
sub esi, 4
sub edi, 4
sub eax, ecx
jmp 0x4846e3
movzx eax, dl
mov edx, dword [0x58b5d0]
movzx eax, byte [eax + edx]
xor ecx, ecx
sub esi, 1
sub edi, 1
sub eax, ecx
jmp 0x4846e3
movzx eax, dl
mov edx, dword [0x58b5d0]
movzx eax, byte [eax + edx]
movzx ecx, cl
sub eax, ecx
sub esi, 1
sub edi, 1
mov ecx, 1
sub dword [esp + 0x20], ecx
sub dword [esp + 0x14], ecx
test eax, eax
je 0x4843b0
jge 0x48470e
mov edx, dword [esp + 0x2c]
add edx, 0xffffffff
mov dword [esp + 0x30], edx
jmp 0x484719
mov eax, dword [esp + 0x2c]
add eax, 1
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0x30]
cmp dword [esp + 0x3c], ecx
jle 0x484376
xor eax, eax
test eax, eax
mov eax, dword [esp + 0x10]
je 0x48478f
cmp dword [eax + 4], 0
je 0x488829
mov eax, dword [eax + 4]
mov dword [esp + 0x10], eax
mov edi, eax
jmp 0x47c8d0
test eax, eax
je 0x484775
mov edx, dword [esp + 0x20]
cmp byte [edx], 0x2e
je 0x484788
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
add eax, 1
mov dword [esp + 0x3c], eax
cmp eax, edx
jmp 0x484721
mov ecx, dword [esp + 0x2c]
add ecx, 0xffffffff
mov edx, ecx
cmp dword [esp + 0x3c], edx
mov dword [esp + 0x30], ecx
jmp 0x484721
mov eax, 1
jmp 0x484729
cmp dword [eax + 8], 0
je 0x48885a
mov ecx, dword [eax + 8]
mov dword [esp + 0x10], ecx
mov edi, ecx
jmp 0x47c8d0
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x4847c5
mov esi, dword [eax - 4]
mov dword [esp + 0x20], esi
jmp 0x4847ce
movzx ecx, cl
mov dword [esp + 0x20], ecx
mov esi, ecx
lea edx, [esi + eax + 4]
mov eax, dword [edi + 0x14]
xor ebx, ebx
sub eax, 1
mov dword [esp + 0x48], edx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
sub eax, ebx
cdq
sub eax, edx
sar eax, 1
add eax, ebx
mov ecx, dword [edi + eax*8 + 0x18]
cmp esi, ecx
mov dword [esp + 0x2c], esi
jl 0x484807
mov dword [esp + 0x2c], ecx
cmp dword [esp + 0x2c], 0
mov esi, dword [esp + 0x48]
mov edx, dword [edi + eax*8 + 0x1c]
je 0x48487c
movzx ebx, byte [edx]
mov ecx, esi
movzx ecx, byte [ecx]
sub ecx, ebx
jne 0x484846
sub esi, 1
sub dword [esp + 0x2c], 1
je 0x484878
movzx ebx, byte [edx - 1]
movzx ecx, byte [esi]
sub edx, 1
sub ecx, ebx
je 0x48482a
test ecx, ecx
jge 0x48485e
mov ebx, dword [esp + 0x4c]
add eax, 0xffffffff
mov dword [esp + 0x14], eax
jmp 0x484865
lea ebx, [eax + 1]
mov dword [esp + 0x4c], ebx
cmp ebx, dword [esp + 0x14]
jg 0x47c912
mov esi, dword [esp + 0x20]
jmp 0x4847e6
mov ebx, dword [esp + 0x4c]
mov edx, dword [esp + 0x20]
sub edx, dword [edi + eax*8 + 0x18]
test edx, edx
jle 0x4848a1
cmp byte [esi], 0x2e
je 0x482f72
lea ebx, [eax + 1]
mov dword [esp + 0x4c], ebx
jmp 0x4848a8
add eax, 0xffffffff
mov dword [esp + 0x14], eax
cmp ebx, dword [esp + 0x14]
jg 0x47c912
mov esi, dword [esp + 0x20]
jmp 0x4847e6
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x4848d5
mov ecx, dword [eax - 4]
jmp 0x4848d8
movzx ecx, cl
mov edi, dword [edi + 0x14]
mov dword [esp + 0x48], ecx
lea ecx, [ecx + eax + 4]
sub edi, 1
mov dword [esp + 0x50], ecx
mov dword [esp + 0x3c], 0
mov dword [esp + 0x30], edi
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x30]
sub eax, ecx
cdq
sub eax, edx
mov edx, dword [esp + 0x50]
sar eax, 1
add eax, ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x10]
mov esi, dword [ecx + eax*8 + 0x1c]
mov edi, dword [ecx + eax*8 + 0x18]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x20], edx
jmp 0x484930
mov ebx, dword [esp + 0x14]
test ebx, ebx
je 0x484cec
test edi, edi
je 0x484cc4
mov edx, dword [esp + 0x20]
mov al, byte [edx]
test al, al
jns 0x484b35
cmp ebx, 2
jl 0x484989
movzx ecx, byte [edx - 1]
mov bl, cl
and bl, 0xe0
cmp bl, 0xc0
jne 0x484985
and ecx, 0x1f
shl ecx, 6
and eax, 0x3f
or ecx, eax
sub edx, 2
sub dword [esp + 0x14], 2
jmp 0x484a2b
mov ebx, dword [esp + 0x14]
cmp ebx, 3
jl 0x4849ce
movzx ecx, byte [edx - 2]
mov bl, cl
and bl, 0xf0
cmp bl, 0xe0
jne 0x4849ca
movzx ebx, byte [edx - 1]
and ecx, 0xf
and ebx, 0x3f
shl ecx, 6
or ebx, ecx
shl ebx, 6
and eax, 0x3f
or ebx, eax
sub edx, 3
sub dword [esp + 0x14], 3
mov ecx, ebx
jmp 0x484a2b
mov ebx, dword [esp + 0x14]
cmp ebx, 4
jl 0x484a1f
movzx ecx, byte [edx - 3]
mov bl, cl
and bl, 0xf8
cmp bl, 0xf0
jne 0x484a1b
movzx ebx, byte [edx - 2]
and ecx, 7
and ebx, 0x3f
shl ecx, 6
or ebx, ecx
movzx ecx, byte [edx - 1]
shl ebx, 6
and ecx, 0x3f
or ebx, ecx
shl ebx, 6
and eax, 0x3f
or ebx, eax
sub edx, 4
sub dword [esp + 0x14], 4
mov ecx, ebx
jmp 0x484a2b
mov ebx, dword [esp + 0x14]
xor ecx, ecx
sub edx, 1
sub ebx, 1
mov dword [esp + 0x14], ebx
mov bl, byte [esi]
test bl, bl
mov dword [esp + 0x20], edx
jns 0x484b1f
cmp edi, 2
jl 0x484a74
movzx eax, byte [esi - 1]
mov dl, al
and dl, 0xe0
cmp dl, 0xc0
jne 0x484a74
and eax, 0x1f
shl eax, 6
and ebx, 0x3f
or eax, ebx
push ecx
mov ebx, eax
sub esi, 2
sub edi, 2
call fcn.00409910
sub eax, ebx
jmp 0x484c67
cmp edi, 3
jl 0x484ab9
movzx eax, byte [esi - 2]
mov dl, al
and dl, 0xf0
cmp dl, 0xe0
jne 0x484ab9
movzx edx, byte [esi - 1]
and eax, 0xf
and edx, 0x3f
shl eax, 6
or edx, eax
shl edx, 6
and ebx, 0x3f
push ecx
or ebx, edx
sub esi, 3
sub edi, 3
call fcn.00409910
sub eax, ebx
jmp 0x484c67
cmp edi, 4
jl 0x484b0a
movzx eax, byte [esi - 3]
mov dl, al
and dl, 0xf8
cmp dl, 0xf0
jne 0x484b0a
movzx edx, byte [esi - 2]
and eax, 7
and edx, 0x3f
shl eax, 6
or edx, eax
movzx eax, byte [esi - 1]
shl edx, 6
and eax, 0x3f
or edx, eax
shl edx, 6
and ebx, 0x3f
push ecx
or ebx, edx
sub esi, 4
sub edi, 4
call fcn.00409910
sub eax, ebx
jmp 0x484c67
push ecx
xor ebx, ebx
sub esi, 1
sub edi, 1
call fcn.00409910
sub eax, ebx
jmp 0x484c67
push ecx
call fcn.00409910
movzx ecx, bl
sub eax, ecx
sub esi, 1
sub edi, 1
jmp 0x484c67
mov cl, byte [esi]
test cl, cl
jns 0x484c43
cmp edi, 2
jl 0x484b7f
movzx edx, byte [esi - 1]
mov bl, dl
and bl, 0xe0
cmp bl, 0xc0
jne 0x484b7f
and edx, 0x1f
and ecx, 0x3f
shl edx, 6
movzx eax, al
or edx, ecx
mov ecx, dword [0x58b5d0]
movzx eax, byte [eax + ecx]
sub esi, 2
sub edi, 2
sub eax, edx
jmp 0x484c5a
cmp edi, 3
jl 0x484bcd
movzx edx, byte [esi - 2]
mov bl, dl
and bl, 0xf0
cmp bl, 0xe0
jne 0x484bcd
movzx ebx, byte [esi - 1]
and edx, 0xf
and ebx, 0x3f
shl edx, 6
or ebx, edx
and ecx, 0x3f
shl ebx, 6
or ebx, ecx
mov ecx, dword [0x58b5d0]
movzx eax, al
movzx eax, byte [eax + ecx]
mov edx, ebx
sub esi, 3
sub edi, 3
sub eax, edx
jmp 0x484c5a
cmp edi, 4
jl 0x484c27
movzx edx, byte [esi - 3]
mov bl, dl
and bl, 0xf8
cmp bl, 0xf0
jne 0x484c27
movzx ebx, byte [esi - 2]
and edx, 7
and ebx, 0x3f
shl edx, 6
or ebx, edx
movzx edx, byte [esi - 1]
shl ebx, 6
and edx, 0x3f
or ebx, edx
and ecx, 0x3f
shl ebx, 6
or ebx, ecx
mov ecx, dword [0x58b5d0]
movzx eax, al
movzx eax, byte [eax + ecx]
mov edx, ebx
sub esi, 4
sub edi, 4
sub eax, edx
jmp 0x484c5a
mov ecx, dword [0x58b5d0]
movzx eax, al
movzx eax, byte [eax + ecx]
xor edx, edx
sub esi, 1
sub edi, 1
sub eax, edx
jmp 0x484c5a
movzx edx, al
mov eax, dword [0x58b5d0]
movzx eax, byte [edx + eax]
movzx ecx, cl
sub eax, ecx
sub esi, 1
sub edi, 1
mov ecx, 1
sub dword [esp + 0x20], ecx
sub dword [esp + 0x14], ecx
test eax, eax
je 0x484930
jge 0x484c85
mov edx, dword [esp + 0x2c]
add edx, 0xffffffff
mov dword [esp + 0x30], edx
jmp 0x484c90
mov eax, dword [esp + 0x2c]
add eax, 1
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0x30]
cmp dword [esp + 0x3c], ecx
jle 0x4848f6
xor eax, eax
test eax, eax
mov eax, dword [esp + 0x10]
jne 0x48549c
cmp dword [eax + 4], 0
je 0x488829
mov ecx, dword [eax + 4]
mov dword [esp + 0x10], ecx
mov edi, ecx
jmp 0x47c8d0
test ebx, ebx
je 0x484cec
mov edx, dword [esp + 0x20]
cmp byte [edx], 0x2e
je 0x484cff
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
add eax, 1
mov dword [esp + 0x3c], eax
cmp eax, edx
jmp 0x484c98
mov ecx, dword [esp + 0x2c]
add ecx, 0xffffffff
mov edx, ecx
cmp dword [esp + 0x3c], edx
mov dword [esp + 0x30], ecx
jmp 0x484c98
mov eax, 1
jmp 0x484ca0
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x484d24
mov esi, dword [eax - 4]
mov dword [esp + 0x20], esi
jmp 0x484d2d
movzx ecx, cl
mov dword [esp + 0x20], ecx
mov esi, ecx
lea edx, [esi + eax + 4]
mov eax, dword [edi + 0x14]
xor ebx, ebx
sub eax, 1
mov dword [esp + 0x48], edx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
sub eax, ebx
cdq
sub eax, edx
sar eax, 1
add eax, ebx
mov ecx, dword [edi + eax*8 + 0x18]
cmp esi, ecx
mov dword [esp + 0x2c], esi
jl 0x484d66
mov dword [esp + 0x2c], ecx
cmp dword [esp + 0x2c], 0
mov esi, dword [esp + 0x48]
mov edx, dword [edi + eax*8 + 0x1c]
je 0x484ddb
movzx ebx, byte [edx]
mov ecx, esi
movzx ecx, byte [ecx]
sub ecx, ebx
jne 0x484da5
sub esi, 1
sub dword [esp + 0x2c], 1
je 0x484dd7
movzx ebx, byte [edx - 1]
movzx ecx, byte [esi]
sub edx, 1
sub ecx, ebx
je 0x484d89
test ecx, ecx
jge 0x484dbd
mov ebx, dword [esp + 0x4c]
add eax, 0xffffffff
mov dword [esp + 0x14], eax
jmp 0x484dc4
lea ebx, [eax + 1]
mov dword [esp + 0x4c], ebx
cmp ebx, dword [esp + 0x14]
jg 0x4873c0
mov esi, dword [esp + 0x20]
jmp 0x484d45
mov ebx, dword [esp + 0x4c]
mov edx, dword [esp + 0x20]
sub edx, dword [edi + eax*8 + 0x18]
test edx, edx
jle 0x484e00
cmp byte [esi], 0x2e
je 0x4873f2
lea ebx, [eax + 1]
mov dword [esp + 0x4c], ebx
jmp 0x484e07
add eax, 0xffffffff
mov dword [esp + 0x14], eax
cmp ebx, dword [esp + 0x14]
jg 0x4873c0
mov esi, dword [esp + 0x20]
jmp 0x484d45
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x484e38
mov esi, dword [eax - 4]
mov dword [esp + 0x20], esi
jmp 0x484e41
movzx ecx, cl
mov dword [esp + 0x20], ecx
mov esi, ecx
lea edx, [esi + eax + 4]
mov eax, dword [edi + 0x14]
xor ebx, ebx
sub eax, 1
mov dword [esp + 0x48], edx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x14], eax
lea esp, [esp]
mov eax, dword [esp + 0x14]
sub eax, ebx
cdq
sub eax, edx
sar eax, 1
add eax, ebx
mov ecx, dword [edi + eax*8 + 0x18]
cmp esi, ecx
mov dword [esp + 0x2c], esi
jl 0x484e81
mov dword [esp + 0x2c], ecx
cmp dword [esp + 0x2c], 0
mov esi, dword [esp + 0x48]
mov edx, dword [edi + eax*8 + 0x1c]
je 0x484f0a
mov ebx, dword [0x58b5d0]
mov ecx, esi
movzx ecx, byte [ecx]
movzx ecx, byte [ecx + ebx]
movzx ebx, byte [edx]
sub ecx, ebx
jne 0x484ed4
sub esi, 1
sub dword [esp + 0x2c], 1
je 0x484f06
movzx ecx, byte [esi]
mov ebx, dword [0x58b5d0]
movzx ecx, byte [ecx + ebx]
movzx ebx, byte [edx - 1]
sub edx, 1
sub ecx, ebx
je 0x484eae
test ecx, ecx
jge 0x484eec
mov ebx, dword [esp + 0x4c]
add eax, 0xffffffff
mov dword [esp + 0x14], eax
jmp 0x484ef3
lea ebx, [eax + 1]
mov dword [esp + 0x4c], ebx
cmp ebx, dword [esp + 0x14]
jg 0x47c912
mov esi, dword [esp + 0x20]
jmp 0x484e60
mov ebx, dword [esp + 0x4c]
mov edx, dword [esp + 0x20]
sub edx, dword [edi + eax*8 + 0x18]
test edx, edx
jle 0x484f2f
cmp byte [esi], 0x2e
je 0x482f72
lea ebx, [eax + 1]
mov dword [esp + 0x4c], ebx
jmp 0x484f36
add eax, 0xffffffff
mov dword [esp + 0x14], eax
cmp ebx, dword [esp + 0x14]
jg 0x47c912
mov esi, dword [esp + 0x20]
jmp 0x484e60
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x484f67
mov esi, dword [eax - 4]
mov dword [esp + 0x20], esi
jmp 0x484f70
movzx ecx, cl
mov dword [esp + 0x20], ecx
mov esi, ecx
lea edx, [eax + esi + 4]
mov eax, dword [edi + 0x14]
xor ebx, ebx
sub eax, 1
mov dword [esp + 0x48], edx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
sub eax, ebx
cdq
sub eax, edx
sar eax, 1
add eax, ebx
mov ecx, dword [edi + eax*8 + 0x18]
cmp esi, ecx
mov dword [esp + 0x2c], esi
jl 0x484fa9
mov dword [esp + 0x2c], ecx
cmp dword [esp + 0x2c], 0
mov esi, dword [esp + 0x48]
mov edx, dword [edi + eax*8 + 0x1c]
je 0x485032
mov ebx, dword [0x58b5d0]
mov ecx, esi
movzx ecx, byte [ecx]
movzx ecx, byte [ecx + ebx]
movzx ebx, byte [edx]
sub ecx, ebx
jne 0x484ffc
sub esi, 1
sub dword [esp + 0x2c], 1
je 0x48502e
movzx ecx, byte [esi]
mov ebx, dword [0x58b5d0]
movzx ecx, byte [ecx + ebx]
movzx ebx, byte [edx - 1]
sub edx, 1
sub ecx, ebx
je 0x484fd6
test ecx, ecx
jge 0x485014
mov ebx, dword [esp + 0x4c]
add eax, 0xffffffff
mov dword [esp + 0x14], eax
jmp 0x48501b
lea ebx, [eax + 1]
mov dword [esp + 0x4c], ebx
cmp ebx, dword [esp + 0x14]
jg 0x4873c0
mov esi, dword [esp + 0x20]
jmp 0x484f88
mov ebx, dword [esp + 0x4c]
mov edx, dword [esp + 0x20]
sub edx, dword [edi + eax*8 + 0x18]
test edx, edx
jle 0x485057
cmp byte [esi], 0x2e
je 0x4873f2
lea ebx, [eax + 1]
mov dword [esp + 0x4c], ebx
jmp 0x48505e
add eax, 0xffffffff
mov dword [esp + 0x14], eax
cmp ebx, dword [esp + 0x14]
jg 0x4873c0
mov esi, dword [esp + 0x20]
jmp 0x484f88
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov al, byte [ecx + 4]
cmp al, 0xff
jne 0x48508a
mov eax, dword [ecx - 4]
jmp 0x48508d
movzx eax, al
test eax, eax
lea ecx, [ecx + eax + 5]
mov edx, eax
mov dword [esp + 0x48], ecx
mov dword [esp + 0x2c], edx
je 0x4850ca
sub ecx, 1
cmp byte [ecx], 0x2e
je 0x4850bd
sub edx, 1
jne 0x4850a3
mov dword [esp + 0x2c], edx
jmp 0x4850c6
add ecx, 1
sub eax, edx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x48], ecx
mov edi, dword [edi + 0x14]
sub edi, 1
mov dword [esp + 0x3c], 0
mov dword [esp + 0x30], edi
lea esp, [esp]
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x30]
sub eax, ecx
cdq
sub eax, edx
mov edx, dword [esp + 0x2c]
sar eax, 1
add eax, ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x10]
mov esi, dword [ecx + eax*8 + 0x1c]
mov edi, dword [ecx + eax*8 + 0x18]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x20]
test edx, edx
je 0x48544b
test edi, edi
je 0x48544b
mov ecx, dword [esp + 0x14]
mov al, byte [ecx]
test al, al
jns 0x4852fe
cmp edx, 2
jl 0x485164
mov bl, al
and bl, 0xe0
cmp bl, 0xc0
jne 0x485164
movzx ebx, byte [ecx + 1]
and eax, 0x1f
shl eax, 6
and ebx, 0x3f
or eax, ebx
add ecx, 2
sub edx, 2
jmp 0x4851f2
cmp edx, 3
jl 0x4851a1
mov bl, al
and bl, 0xf0
cmp bl, 0xe0
jne 0x4851a1
movzx ebx, byte [ecx + 1]
and eax, 0xf
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or eax, ebx
add ecx, 3
sub edx, 3
jmp 0x4851f2
cmp edx, 4
jl 0x4851ea
mov bl, al
and bl, 0xf8
cmp bl, 0xf0
jne 0x4851ea
movzx ebx, byte [ecx + 1]
and eax, 7
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [ecx + 3]
shl eax, 6
and ebx, 0x3f
or eax, ebx
add ecx, 4
sub edx, 4
jmp 0x4851f2
xor eax, eax
add ecx, 1
sub edx, 1
mov bl, byte [esi]
test bl, bl
mov dword [esp + 0x20], edx
mov dword [esp + 0x14], ecx
jns 0x4852e8
cmp edi, 2
jl 0x48523d
mov cl, bl
and cl, 0xe0
cmp cl, 0xc0
jne 0x48523d
movzx edx, byte [esi + 1]
and ebx, 0x1f
and edx, 0x3f
shl ebx, 6
push eax
or ebx, edx
add esi, 2
sub edi, 2
call fcn.00409960
sub eax, ebx
jmp 0x48542d
cmp edi, 3
jl 0x485282
mov cl, bl
and cl, 0xf0
cmp cl, 0xe0
jne 0x485282
movzx edx, byte [esi + 1]
movzx ecx, byte [esi + 2]
and ebx, 0xf
shl ebx, 6
and edx, 0x3f
or ebx, edx
and ecx, 0x3f
shl ebx, 6
push eax
or ebx, ecx
add esi, 3
sub edi, 3
call fcn.00409960
sub eax, ebx
jmp 0x48542d
cmp edi, 4
jl 0x4852d3
mov dl, bl
and dl, 0xf8
cmp dl, 0xf0
jne 0x4852d3
movzx ecx, byte [esi + 1]
movzx edx, byte [esi + 2]
and ebx, 7
shl ebx, 6
and ecx, 0x3f
or ebx, ecx
movzx ecx, byte [esi + 3]
shl ebx, 6
and edx, 0x3f
or ebx, edx
and ecx, 0x3f
shl ebx, 6
push eax
or ebx, ecx
add esi, 4
sub edi, 4
call fcn.00409960
sub eax, ebx
jmp 0x48542d
push eax
xor ebx, ebx
add esi, 1
sub edi, 1
call fcn.00409960
sub eax, ebx
jmp 0x48542d
push eax
call fcn.00409960
movzx edx, bl
sub eax, edx
add esi, 1
sub edi, 1
jmp 0x48542d
mov cl, byte [esi]
test cl, cl
jns 0x485408
cmp edi, 2
jl 0x485348
mov dl, cl
and dl, 0xe0
cmp dl, 0xc0
jne 0x485348
movzx edx, byte [esi + 1]
and ecx, 0x1f
and edx, 0x3f
shl ecx, 6
movzx eax, al
or ecx, edx
mov edx, dword [0x58b5d0]
movzx eax, byte [eax + edx]
add esi, 2
sub edi, 2
sub eax, ecx
jmp 0x485420
cmp edi, 3
jl 0x485394
mov dl, cl
and dl, 0xf0
cmp dl, 0xe0
jne 0x485394
movzx edx, byte [esi + 1]
and ecx, 0xf
and edx, 0x3f
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 2]
and edx, 0x3f
shl ecx, 6
movzx eax, al
or ecx, edx
mov edx, dword [0x58b5d0]
movzx eax, byte [eax + edx]
add esi, 3
sub edi, 3
sub eax, ecx
jmp 0x485420
cmp edi, 4
jl 0x4853ec
mov dl, cl
and dl, 0xf8
cmp dl, 0xf0
jne 0x4853ec
movzx edx, byte [esi + 1]
and ecx, 7
and edx, 0x3f
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 2]
and edx, 0x3f
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 3]
and edx, 0x3f
shl ecx, 6
movzx eax, al
or ecx, edx
mov edx, dword [0x58b5d0]
movzx eax, byte [eax + edx]
add esi, 4
sub edi, 4
sub eax, ecx
jmp 0x485420
mov edx, dword [0x58b5d0]
movzx eax, al
movzx eax, byte [eax + edx]
xor ecx, ecx
add esi, 1
sub edi, 1
sub eax, ecx
jmp 0x485420
mov edx, dword [0x58b5d0]
movzx eax, al
movzx eax, byte [eax + edx]
movzx ecx, cl
sub eax, ecx
add esi, 1
sub edi, 1
mov ecx, 1
add dword [esp + 0x14], ecx
sub dword [esp + 0x20], ecx
test eax, eax
je 0x485111
jge 0x48546b
mov edx, dword [esp + 0x4c]
add edx, 0xffffffff
mov dword [esp + 0x30], edx
jmp 0x485476
sub edx, edi
je 0x48548b
test edx, edx
jge 0x48546b
mov edx, dword [esp + 0x4c]
add edx, 0xffffffff
mov dword [esp + 0x30], edx
jmp 0x485476
mov eax, dword [esp + 0x4c]
add eax, 1
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0x30]
cmp dword [esp + 0x3c], ecx
jle 0x4850e0
xor eax, eax
jmp 0x485490
mov eax, 1
test eax, eax
jne 0x4865b8
mov eax, dword [esp + 0x10]
cmp dword [eax + 8], 0
je 0x48885a
mov eax, dword [eax + 8]
mov dword [esp + 0x10], eax
mov edi, eax
jmp 0x47c8d0
mov ecx, dword [esp + 0x28]
mov ecx, dword [ecx]
mov al, byte [ecx + 4]
cmp al, 0xff
jne 0x4854cd
mov eax, dword [ecx - 4]
jmp 0x4854d0
movzx eax, al
test eax, eax
lea ecx, [eax + ecx + 5]
mov edx, eax
mov dword [esp + 0x48], ecx
mov dword [esp + 0x2c], edx
je 0x485517
jmp 0x4854f0
sub ecx, 1
cmp byte [ecx], 0x2e
je 0x48550a
sub edx, 1
jne 0x4854f0
mov dword [esp + 0x2c], edx
jmp 0x485513
add ecx, 1
sub eax, edx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x48], ecx
mov edi, dword [edi + 0x14]
sub edi, 1
mov dword [esp + 0x3c], 0
mov dword [esp + 0x30], edi
lea esp, [esp]
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x30]
sub eax, ecx
cdq
sub eax, edx
mov edx, dword [esp + 0x48]
sar eax, 1
add eax, ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x10]
mov esi, dword [ecx + eax*8 + 0x1c]
mov edi, dword [ecx + eax*8 + 0x18]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x20]
test edx, edx
je 0x48589b
test edi, edi
je 0x48589b
mov ecx, dword [esp + 0x14]
mov al, byte [ecx]
test al, al
jns 0x48574e
cmp edx, 2
jl 0x4855b4
mov bl, al
and bl, 0xe0
cmp bl, 0xc0
jne 0x4855b4
movzx ebx, byte [ecx + 1]
and eax, 0x1f
shl eax, 6
and ebx, 0x3f
or eax, ebx
add ecx, 2
sub edx, 2
jmp 0x485642
cmp edx, 3
jl 0x4855f1
mov bl, al
and bl, 0xf0
cmp bl, 0xe0
jne 0x4855f1
movzx ebx, byte [ecx + 1]
and eax, 0xf
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or eax, ebx
add ecx, 3
sub edx, 3
jmp 0x485642
cmp edx, 4
jl 0x48563a
mov bl, al
and bl, 0xf8
cmp bl, 0xf0
jne 0x48563a
movzx ebx, byte [ecx + 1]
and eax, 7
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [ecx + 3]
shl eax, 6
and ebx, 0x3f
or eax, ebx
add ecx, 4
sub edx, 4
jmp 0x485642
xor eax, eax
add ecx, 1
sub edx, 1
mov bl, byte [esi]
test bl, bl
mov dword [esp + 0x20], edx
mov dword [esp + 0x14], ecx
jns 0x485738
cmp edi, 2
jl 0x48568d
mov dl, bl
and dl, 0xe0
cmp dl, 0xc0
jne 0x48568d
movzx ecx, byte [esi + 1]
and ebx, 0x1f
and ecx, 0x3f
shl ebx, 6
push eax
or ebx, ecx
add esi, 2
sub edi, 2
call fcn.00421a20
sub eax, ebx
jmp 0x48587d
cmp edi, 3
jl 0x4856d2
mov dl, bl
and dl, 0xf0
cmp dl, 0xe0
jne 0x4856d2
movzx ecx, byte [esi + 1]
movzx edx, byte [esi + 2]
and ebx, 0xf
shl ebx, 6
and ecx, 0x3f
or ebx, ecx
and edx, 0x3f
shl ebx, 6
push eax
or ebx, edx
add esi, 3
sub edi, 3
call fcn.00421a20
sub eax, ebx
jmp 0x48587d
cmp edi, 4
jl 0x485723
mov cl, bl
and cl, 0xf8
cmp cl, 0xf0
jne 0x485723
movzx edx, byte [esi + 1]
movzx ecx, byte [esi + 2]
and ebx, 7
shl ebx, 6
and edx, 0x3f
or ebx, edx
movzx edx, byte [esi + 3]
shl ebx, 6
and ecx, 0x3f
or ebx, ecx
and edx, 0x3f
shl ebx, 6
push eax
or ebx, edx
add esi, 4
sub edi, 4
call fcn.00421a20
sub eax, ebx
jmp 0x48587d
push eax
xor ebx, ebx
add esi, 1
sub edi, 1
call fcn.00421a20
sub eax, ebx
jmp 0x48587d
push eax
call fcn.00421a20
movzx ecx, bl
sub eax, ecx
add esi, 1
sub edi, 1
jmp 0x48587d
mov cl, byte [esi]
test cl, cl
jns 0x485858
cmp edi, 2
jl 0x485798
mov dl, cl
and dl, 0xe0
cmp dl, 0xc0
jne 0x485798
movzx edx, byte [esi + 1]
and ecx, 0x1f
and edx, 0x3f
shl ecx, 6
movzx eax, al
or ecx, edx
mov edx, dword [0x58b5d4]
movzx eax, byte [eax + edx]
add esi, 2
sub edi, 2
sub eax, ecx
jmp 0x485870
cmp edi, 3
jl 0x4857e4
mov dl, cl
and dl, 0xf0
cmp dl, 0xe0
jne 0x4857e4
movzx edx, byte [esi + 1]
and ecx, 0xf
and edx, 0x3f
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 2]
and edx, 0x3f
shl ecx, 6
movzx eax, al
or ecx, edx
mov edx, dword [0x58b5d4]
movzx eax, byte [eax + edx]
add esi, 3
sub edi, 3
sub eax, ecx
jmp 0x485870
cmp edi, 4
jl 0x48583c
mov dl, cl
and dl, 0xf8
cmp dl, 0xf0
jne 0x48583c
movzx edx, byte [esi + 1]
and ecx, 7
and edx, 0x3f
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 2]
and edx, 0x3f
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 3]
and edx, 0x3f
shl ecx, 6
movzx eax, al
or ecx, edx
mov edx, dword [0x58b5d4]
movzx eax, byte [eax + edx]
add esi, 4
sub edi, 4
sub eax, ecx
jmp 0x485870
mov edx, dword [0x58b5d4]
movzx eax, al
movzx eax, byte [eax + edx]
xor ecx, ecx
add esi, 1
sub edi, 1
sub eax, ecx
jmp 0x485870
mov edx, dword [0x58b5d4]
movzx eax, al
movzx eax, byte [eax + edx]
movzx ecx, cl
sub eax, ecx
add esi, 1
sub edi, 1
mov ecx, 1
add dword [esp + 0x14], ecx
sub dword [esp + 0x20], ecx
test eax, eax
je 0x485561
jge 0x4858bb
mov edx, dword [esp + 0x4c]
add edx, 0xffffffff
mov dword [esp + 0x30], edx
jmp 0x4858c6
sub edx, edi
je 0x4858db
test edx, edx
jge 0x4858bb
mov edx, dword [esp + 0x4c]
add edx, 0xffffffff
mov dword [esp + 0x30], edx
jmp 0x4858c6
mov eax, dword [esp + 0x4c]
add eax, 1
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0x30]
cmp dword [esp + 0x3c], ecx
jle 0x485530
xor eax, eax
jmp 0x4858e0
mov eax, 1
test eax, eax
jne 0x4865b8
mov eax, dword [esp + 0x10]
cmp dword [eax + 8], 0
je 0x48885a
mov eax, dword [eax + 8]
mov dword [esp + 0x10], eax
mov edi, eax
jmp 0x47c8d0
mov ecx, dword [esp + 0x28]
mov ecx, dword [ecx]
mov al, byte [ecx + 4]
cmp al, 0xff
jne 0x48591d
mov eax, dword [ecx - 4]
jmp 0x485920
movzx eax, al
test eax, eax
lea ecx, [eax + ecx + 5]
mov edx, eax
mov dword [esp + 0x48], ecx
mov dword [esp + 0x2c], edx
je 0x485967
jmp 0x485940
sub ecx, 1
cmp byte [ecx], 0x2e
je 0x48595a
sub edx, 1
jne 0x485940
mov dword [esp + 0x2c], edx
jmp 0x485963
add ecx, 1
sub eax, edx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x48], ecx
mov edi, dword [edi + 0x14]
sub edi, 1
mov dword [esp + 0x3c], 0
mov dword [esp + 0x30], edi
lea esp, [esp]
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x30]
sub eax, ecx
cdq
sub eax, edx
mov edx, dword [esp + 0x48]
sar eax, 1
add eax, ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x10]
mov esi, dword [ecx + eax*8 + 0x1c]
mov edi, dword [ecx + eax*8 + 0x18]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x20]
test edx, edx
je 0x485d0b
test edi, edi
je 0x485d0b
mov ecx, dword [esp + 0x14]
mov al, byte [ecx]
test al, al
jns 0x485b9e
cmp edx, 2
jl 0x485a04
mov bl, al
and bl, 0xe0
cmp bl, 0xc0
jne 0x485a04
movzx ebx, byte [ecx + 1]
and eax, 0x1f
shl eax, 6
and ebx, 0x3f
or eax, ebx
add ecx, 2
sub edx, 2
jmp 0x485a92
cmp edx, 3
jl 0x485a41
mov bl, al
and bl, 0xf0
cmp bl, 0xe0
jne 0x485a41
movzx ebx, byte [ecx + 1]
and eax, 0xf
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or eax, ebx
add ecx, 3
sub edx, 3
jmp 0x485a92
cmp edx, 4
jl 0x485a8a
mov bl, al
and bl, 0xf8
cmp bl, 0xf0
jne 0x485a8a
movzx ebx, byte [ecx + 1]
and eax, 7
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [ecx + 3]
shl eax, 6
and ebx, 0x3f
or eax, ebx
add ecx, 4
sub edx, 4
jmp 0x485a92
xor eax, eax
add ecx, 1
sub edx, 1
mov bl, byte [esi]
test bl, bl
mov dword [esp + 0x20], edx
mov dword [esp + 0x14], ecx
jns 0x485b88
cmp edi, 2
jl 0x485add
mov dl, bl
and dl, 0xe0
cmp dl, 0xc0
jne 0x485add
movzx ecx, byte [esi + 1]
and ebx, 0x1f
and ecx, 0x3f
shl ebx, 6
push eax
or ebx, ecx
add esi, 2
sub edi, 2
call fcn.00409960
sub eax, ebx
jmp 0x485ccd
cmp edi, 3
jl 0x485b22
mov dl, bl
and dl, 0xf0
cmp dl, 0xe0
jne 0x485b22
movzx ecx, byte [esi + 1]
movzx edx, byte [esi + 2]
and ebx, 0xf
shl ebx, 6
and ecx, 0x3f
or ebx, ecx
and edx, 0x3f
shl ebx, 6
push eax
or ebx, edx
add esi, 3
sub edi, 3
call fcn.00409960
sub eax, ebx
jmp 0x485ccd
cmp edi, 4
jl 0x485b73
mov cl, bl
and cl, 0xf8
cmp cl, 0xf0
jne 0x485b73
movzx edx, byte [esi + 1]
movzx ecx, byte [esi + 2]
and ebx, 7
shl ebx, 6
and edx, 0x3f
or ebx, edx
movzx edx, byte [esi + 3]
shl ebx, 6
and ecx, 0x3f
or ebx, ecx
and edx, 0x3f
shl ebx, 6
push eax
or ebx, edx
add esi, 4
sub edi, 4
call fcn.00409960
sub eax, ebx
jmp 0x485ccd
push eax
xor ebx, ebx
add esi, 1
sub edi, 1
call fcn.00409960
sub eax, ebx
jmp 0x485ccd
push eax
call fcn.00409960
movzx ecx, bl
sub eax, ecx
add esi, 1
sub edi, 1
jmp 0x485ccd
mov cl, byte [esi]
test cl, cl
jns 0x485ca8
cmp edi, 2
jl 0x485be8
mov dl, cl
and dl, 0xe0
cmp dl, 0xc0
jne 0x485be8
movzx edx, byte [esi + 1]
and ecx, 0x1f
and edx, 0x3f
shl ecx, 6
movzx eax, al
or ecx, edx
mov edx, dword [0x58b5d0]
movzx eax, byte [eax + edx]
add esi, 2
sub edi, 2
sub eax, ecx
jmp 0x485cc0
cmp edi, 3
jl 0x485c34
mov dl, cl
and dl, 0xf0
cmp dl, 0xe0
jne 0x485c34
movzx edx, byte [esi + 1]
and ecx, 0xf
and edx, 0x3f
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 2]
and edx, 0x3f
shl ecx, 6
movzx eax, al
or ecx, edx
mov edx, dword [0x58b5d0]
movzx eax, byte [eax + edx]
add esi, 3
sub edi, 3
sub eax, ecx
jmp 0x485cc0
cmp edi, 4
jl 0x485c8c
mov dl, cl
and dl, 0xf8
cmp dl, 0xf0
jne 0x485c8c
movzx edx, byte [esi + 1]
and ecx, 7
and edx, 0x3f
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 2]
and edx, 0x3f
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 3]
and edx, 0x3f
shl ecx, 6
movzx eax, al
or ecx, edx
mov edx, dword [0x58b5d0]
movzx eax, byte [eax + edx]
add esi, 4
sub edi, 4
sub eax, ecx
jmp 0x485cc0
mov edx, dword [0x58b5d0]
movzx eax, al
movzx eax, byte [eax + edx]
xor ecx, ecx
add esi, 1
sub edi, 1
sub eax, ecx
jmp 0x485cc0
mov edx, dword [0x58b5d0]
movzx eax, al
movzx eax, byte [eax + edx]
movzx ecx, cl
sub eax, ecx
add esi, 1
sub edi, 1
mov ecx, 1
add dword [esp + 0x14], ecx
sub dword [esp + 0x20], ecx
test eax, eax
je 0x4859b1
jge 0x485ceb
mov edx, dword [esp + 0x4c]
add edx, 0xffffffff
mov dword [esp + 0x30], edx
jmp 0x485cf6
mov eax, dword [esp + 0x4c]
add eax, 1
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0x30]
cmp dword [esp + 0x3c], ecx
jle 0x485980
xor eax, eax
jmp 0x486150
sub edx, edi
je 0x48614b
test edx, edx
jge 0x485ceb
mov edx, dword [esp + 0x4c]
add edx, 0xffffffff
mov dword [esp + 0x30], edx
jmp 0x485cf6
mov ecx, dword [esp + 0x28]
mov ecx, dword [ecx]
mov al, byte [ecx + 4]
cmp al, 0xff
jne 0x485d3d
mov eax, dword [ecx - 4]
jmp 0x485d40
movzx eax, al
test eax, eax
lea ecx, [eax + ecx + 5]
mov edx, eax
mov dword [esp + 0x48], ecx
mov dword [esp + 0x2c], edx
je 0x485d87
jmp 0x485d60
sub ecx, 1
cmp byte [ecx], 0x2e
je 0x485d7a
sub edx, 1
jne 0x485d60
mov dword [esp + 0x2c], edx
jmp 0x485d83
add ecx, 1
sub eax, edx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x48], ecx
mov edi, dword [edi + 0x14]
sub edi, 1
mov dword [esp + 0x3c], 0
mov dword [esp + 0x30], edi
lea esp, [esp]
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x30]
sub eax, ecx
cdq
sub eax, edx
mov edx, dword [esp + 0x48]
sar eax, 1
add eax, ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x10]
mov esi, dword [ecx + eax*8 + 0x1c]
mov edi, dword [ecx + eax*8 + 0x18]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x20]
test edx, edx
je 0x48610b
test edi, edi
je 0x48610b
mov ecx, dword [esp + 0x14]
mov al, byte [ecx]
test al, al
jns 0x485fbe
cmp edx, 2
jl 0x485e24
mov bl, al
and bl, 0xe0
cmp bl, 0xc0
jne 0x485e24
movzx ebx, byte [ecx + 1]
and eax, 0x1f
shl eax, 6
and ebx, 0x3f
or eax, ebx
add ecx, 2
sub edx, 2
jmp 0x485eb2
cmp edx, 3
jl 0x485e61
mov bl, al
and bl, 0xf0
cmp bl, 0xe0
jne 0x485e61
movzx ebx, byte [ecx + 1]
and eax, 0xf
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or eax, ebx
add ecx, 3
sub edx, 3
jmp 0x485eb2
cmp edx, 4
jl 0x485eaa
mov bl, al
and bl, 0xf8
cmp bl, 0xf0
jne 0x485eaa
movzx ebx, byte [ecx + 1]
and eax, 7
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [ecx + 3]
shl eax, 6
and ebx, 0x3f
or eax, ebx
add ecx, 4
sub edx, 4
jmp 0x485eb2
xor eax, eax
add ecx, 1
sub edx, 1
mov bl, byte [esi]
test bl, bl
mov dword [esp + 0x20], edx
mov dword [esp + 0x14], ecx
jns 0x485fa8
cmp edi, 2
jl 0x485efd
mov dl, bl
and dl, 0xe0
cmp dl, 0xc0
jne 0x485efd
movzx ecx, byte [esi + 1]
and ebx, 0x1f
and ecx, 0x3f
shl ebx, 6
push eax
or ebx, ecx
add esi, 2
sub edi, 2
call fcn.00421a20
sub eax, ebx
jmp 0x4860ed
cmp edi, 3
jl 0x485f42
mov dl, bl
and dl, 0xf0
cmp dl, 0xe0
jne 0x485f42
movzx ecx, byte [esi + 1]
movzx edx, byte [esi + 2]
and ebx, 0xf
shl ebx, 6
and ecx, 0x3f
or ebx, ecx
and edx, 0x3f
shl ebx, 6
push eax
or ebx, edx
add esi, 3
sub edi, 3
call fcn.00421a20
sub eax, ebx
jmp 0x4860ed
cmp edi, 4
jl 0x485f93
mov cl, bl
and cl, 0xf8
cmp cl, 0xf0
jne 0x485f93
movzx edx, byte [esi + 1]
movzx ecx, byte [esi + 2]
and ebx, 7
shl ebx, 6
and edx, 0x3f
or ebx, edx
movzx edx, byte [esi + 3]
shl ebx, 6
and ecx, 0x3f
or ebx, ecx
and edx, 0x3f
shl ebx, 6
push eax
or ebx, edx
add esi, 4
sub edi, 4
call fcn.00421a20
sub eax, ebx
jmp 0x4860ed
push eax
xor ebx, ebx
add esi, 1
sub edi, 1
call fcn.00421a20
sub eax, ebx
jmp 0x4860ed
push eax
call fcn.00421a20
movzx ecx, bl
sub eax, ecx
add esi, 1
sub edi, 1
jmp 0x4860ed
mov cl, byte [esi]
test cl, cl
jns 0x4860c8
cmp edi, 2
jl 0x486008
mov dl, cl
and dl, 0xe0
cmp dl, 0xc0
jne 0x486008
movzx edx, byte [esi + 1]
and ecx, 0x1f
and edx, 0x3f
shl ecx, 6
movzx eax, al
or ecx, edx
mov edx, dword [0x58b5d4]
movzx eax, byte [eax + edx]
add esi, 2
sub edi, 2
sub eax, ecx
jmp 0x4860e0
cmp edi, 3
jl 0x486054
mov dl, cl
and dl, 0xf0
cmp dl, 0xe0
jne 0x486054
movzx edx, byte [esi + 1]
and ecx, 0xf
and edx, 0x3f
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 2]
and edx, 0x3f
shl ecx, 6
movzx eax, al
or ecx, edx
mov edx, dword [0x58b5d4]
movzx eax, byte [eax + edx]
add esi, 3
sub edi, 3
sub eax, ecx
jmp 0x4860e0
cmp edi, 4
jl 0x4860ac
mov dl, cl
and dl, 0xf8
cmp dl, 0xf0
jne 0x4860ac
movzx edx, byte [esi + 1]
and ecx, 7
and edx, 0x3f
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 2]
and edx, 0x3f
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 3]
and edx, 0x3f
shl ecx, 6
movzx eax, al
or ecx, edx
mov edx, dword [0x58b5d4]
movzx eax, byte [eax + edx]
add esi, 4
sub edi, 4
sub eax, ecx
jmp 0x4860e0
mov edx, dword [0x58b5d4]
movzx eax, al
movzx eax, byte [eax + edx]
xor ecx, ecx
add esi, 1
sub edi, 1
sub eax, ecx
jmp 0x4860e0
mov edx, dword [0x58b5d4]
movzx eax, al
movzx eax, byte [eax + edx]
movzx ecx, cl
sub eax, ecx
add esi, 1
sub edi, 1
mov ecx, 1
add dword [esp + 0x14], ecx
sub dword [esp + 0x20], ecx
test eax, eax
je 0x485dd1
jge 0x48612b
mov edx, dword [esp + 0x4c]
add edx, 0xffffffff
mov dword [esp + 0x30], edx
jmp 0x486136
sub edx, edi
je 0x48614b
test edx, edx
jge 0x48612b
mov edx, dword [esp + 0x4c]
add edx, 0xffffffff
mov dword [esp + 0x30], edx
jmp 0x486136
mov eax, dword [esp + 0x4c]
add eax, 1
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0x30]
cmp dword [esp + 0x3c], ecx
jle 0x485da0
xor eax, eax
jmp 0x486150
mov eax, 1
test eax, eax
mov eax, dword [esp + 0x10]
je 0x486174
cmp dword [eax + 8], 0
je 0x48885a
mov edx, dword [eax + 8]
mov dword [esp + 0x10], edx
mov edi, edx
jmp 0x47c8d0
cmp dword [eax + 4], 0
je 0x488829
mov eax, dword [eax + 4]
mov dword [esp + 0x10], eax
mov edi, eax
jmp 0x47c8d0
mov ecx, dword [esp + 0x28]
mov ecx, dword [ecx]
mov al, byte [ecx + 4]
cmp al, 0xff
jne 0x4861a5
mov eax, dword [ecx - 4]
jmp 0x4861a8
movzx eax, al
test eax, eax
lea ecx, [eax + ecx + 5]
mov edx, eax
mov dword [esp + 0x48], ecx
mov dword [esp + 0x2c], edx
je 0x4861e7
mov edi, edi
sub ecx, 1
cmp byte [ecx], 0x2e
je 0x4861da
sub edx, 1
jne 0x4861c0
mov dword [esp + 0x2c], edx
jmp 0x4861e3
add ecx, 1
sub eax, edx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x48], ecx
mov edi, dword [edi + 0x14]
sub edi, 1
mov dword [esp + 0x3c], 0
mov dword [esp + 0x30], edi
lea esp, [esp]
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x30]
sub eax, ecx
cdq
sub eax, edx
mov edx, dword [esp + 0x48]
sar eax, 1
add eax, ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x10]
mov esi, dword [ecx + eax*8 + 0x1c]
mov edi, dword [ecx + eax*8 + 0x18]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x20]
test edx, edx
je 0x48656b
test edi, edi
je 0x48656b
mov ecx, dword [esp + 0x14]
mov al, byte [ecx]
test al, al
jns 0x48641e
cmp edx, 2
jl 0x486284
mov bl, al
and bl, 0xe0
cmp bl, 0xc0
jne 0x486284
movzx ebx, byte [ecx + 1]
and eax, 0x1f
shl eax, 6
and ebx, 0x3f
or eax, ebx
add ecx, 2
sub edx, 2
jmp 0x486312
cmp edx, 3
jl 0x4862c1
mov bl, al
and bl, 0xf0
cmp bl, 0xe0
jne 0x4862c1
movzx ebx, byte [ecx + 1]
and eax, 0xf
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or eax, ebx
add ecx, 3
sub edx, 3
jmp 0x486312
cmp edx, 4
jl 0x48630a
mov bl, al
and bl, 0xf8
cmp bl, 0xf0
jne 0x48630a
movzx ebx, byte [ecx + 1]
and eax, 7
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or eax, ebx
movzx ebx, byte [ecx + 3]
shl eax, 6
and ebx, 0x3f
or eax, ebx
add ecx, 4
sub edx, 4
jmp 0x486312
xor eax, eax
add ecx, 1
sub edx, 1
mov bl, byte [esi]
test bl, bl
mov dword [esp + 0x20], edx
mov dword [esp + 0x14], ecx
jns 0x486408
cmp edi, 2
jl 0x48635d
mov dl, bl
and dl, 0xe0
cmp dl, 0xc0
jne 0x48635d
movzx ecx, byte [esi + 1]
and ebx, 0x1f
and ecx, 0x3f
shl ebx, 6
push eax
or ebx, ecx
add esi, 2
sub edi, 2
call fcn.00409910
sub eax, ebx
jmp 0x48654d
cmp edi, 3
jl 0x4863a2
mov dl, bl
and dl, 0xf0
cmp dl, 0xe0
jne 0x4863a2
movzx ecx, byte [esi + 1]
movzx edx, byte [esi + 2]
and ebx, 0xf
shl ebx, 6
and ecx, 0x3f
or ebx, ecx
and edx, 0x3f
shl ebx, 6
push eax
or ebx, edx
add esi, 3
sub edi, 3
call fcn.00409910
sub eax, ebx
jmp 0x48654d
cmp edi, 4
jl 0x4863f3
mov cl, bl
and cl, 0xf8
cmp cl, 0xf0
jne 0x4863f3
movzx edx, byte [esi + 1]
movzx ecx, byte [esi + 2]
and ebx, 7
shl ebx, 6
and edx, 0x3f
or ebx, edx
movzx edx, byte [esi + 3]
shl ebx, 6
and ecx, 0x3f
or ebx, ecx
and edx, 0x3f
shl ebx, 6
push eax
or ebx, edx
add esi, 4
sub edi, 4
call fcn.00409910
sub eax, ebx
jmp 0x48654d
push eax
xor ebx, ebx
add esi, 1
sub edi, 1
call fcn.00409910
sub eax, ebx
jmp 0x48654d
push eax
call fcn.00409910
movzx ecx, bl
sub eax, ecx
add esi, 1
sub edi, 1
jmp 0x48654d
mov cl, byte [esi]
test cl, cl
jns 0x486528
cmp edi, 2
jl 0x486468
mov dl, cl
and dl, 0xe0
cmp dl, 0xc0
jne 0x486468
movzx edx, byte [esi + 1]
and ecx, 0x1f
and edx, 0x3f
shl ecx, 6
movzx eax, al
or ecx, edx
mov edx, dword [0x58b5d0]
movzx eax, byte [eax + edx]
add esi, 2
sub edi, 2
sub eax, ecx
jmp 0x486540
cmp edi, 3
jl 0x4864b4
mov dl, cl
and dl, 0xf0
cmp dl, 0xe0
jne 0x4864b4
movzx edx, byte [esi + 1]
and ecx, 0xf
and edx, 0x3f
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 2]
and edx, 0x3f
shl ecx, 6
movzx eax, al
or ecx, edx
mov edx, dword [0x58b5d0]
movzx eax, byte [eax + edx]
add esi, 3
sub edi, 3
sub eax, ecx
jmp 0x486540
cmp edi, 4
jl 0x48650c
mov dl, cl
and dl, 0xf8
cmp dl, 0xf0
jne 0x48650c
movzx edx, byte [esi + 1]
and ecx, 7
and edx, 0x3f
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 2]
and edx, 0x3f
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 3]
and edx, 0x3f
shl ecx, 6
movzx eax, al
or ecx, edx
mov edx, dword [0x58b5d0]
movzx eax, byte [eax + edx]
add esi, 4
sub edi, 4
sub eax, ecx
jmp 0x486540
mov edx, dword [0x58b5d0]
movzx eax, al
movzx eax, byte [eax + edx]
xor ecx, ecx
add esi, 1
sub edi, 1
sub eax, ecx
jmp 0x486540
mov edx, dword [0x58b5d0]
movzx eax, al
movzx eax, byte [eax + edx]
movzx ecx, cl
sub eax, ecx
add esi, 1
sub edi, 1
mov ecx, 1
add dword [esp + 0x14], ecx
sub dword [esp + 0x20], ecx
test eax, eax
je 0x486231
jge 0x48658b
mov edx, dword [esp + 0x4c]
add edx, 0xffffffff
mov dword [esp + 0x30], edx
jmp 0x486596
sub edx, edi
je 0x4865ab
test edx, edx
jge 0x48658b
mov edx, dword [esp + 0x4c]
add edx, 0xffffffff
mov dword [esp + 0x30], edx
jmp 0x486596
mov eax, dword [esp + 0x4c]
add eax, 1
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0x30]
cmp dword [esp + 0x3c], ecx
jle 0x486200
xor eax, eax
jmp 0x4865b0
mov eax, 1
test eax, eax
je 0x4865d4
mov eax, dword [esp + 0x10]
cmp dword [eax + 4], 0
je 0x488829
mov edx, dword [eax + 4]
mov dword [esp + 0x10], edx
mov edi, edx
jmp 0x47c8d0
mov eax, dword [esp + 0x10]
cmp dword [eax + 8], 0
je 0x48885a
mov ecx, eax
mov edx, dword [ecx + 8]
mov dword [esp + 0x10], edx
mov edi, edx
jmp 0x47c8d0
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov al, byte [ecx + 4]
cmp al, 0xff
jne 0x48660b
mov eax, dword [ecx - 4]
jmp 0x48660e
movzx eax, al
test eax, eax
lea ecx, [eax + ecx + 5]
mov esi, eax
mov dword [esp + 0x48], ecx
mov dword [esp + 0x20], esi
je 0x48664d
sub ecx, 1
cmp byte [ecx], 0x2e
je 0x48663e
sub esi, 1
jne 0x486624
mov dword [esp + 0x20], esi
jmp 0x486649
add ecx, 1
sub eax, esi
mov esi, eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x48], ecx
mov eax, dword [edi + 0x14]
xor ecx, ecx
sub eax, 1
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x14], eax
lea ecx, [ecx]
sub eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
mov ecx, dword [esp + 0x48]
mov edx, esi
mov esi, dword [edi + eax*8 + 0x18]
mov dword [esp + 0x2c], esi
mov esi, dword [edi + eax*8 + 0x1c]
sub esi, ecx
mov dword [esp + 0x50], esi
test edx, edx
je 0x4866e8
cmp dword [esp + 0x2c], 0
je 0x4866e8
movzx ebx, byte [ecx + esi]
movzx esi, byte [ecx]
sub esi, ebx
jne 0x4866b4
sub dword [esp + 0x2c], 1
mov esi, dword [esp + 0x50]
add ecx, 1
sub edx, 1
jmp 0x486681
test esi, esi
jge 0x4866cc
mov ecx, dword [esp + 0x4c]
add eax, 0xffffffff
mov dword [esp + 0x14], eax
jmp 0x4866d7
lea ecx, [eax + 1]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x4c], ecx
cmp ecx, eax
jg 0x47c912
mov esi, dword [esp + 0x20]
jmp 0x486660
sub edx, dword [esp + 0x2c]
je 0x482f72
test edx, edx
jge 0x4866cc
mov ecx, dword [esp + 0x4c]
add eax, 0xffffffff
mov dword [esp + 0x14], eax
jmp 0x4866d7
mov ecx, dword [esp + 0x28]
mov ecx, dword [ecx]
mov al, byte [ecx + 4]
cmp al, 0xff
jne 0x48671c
mov eax, dword [ecx - 4]
jmp 0x48671f
movzx eax, al
test eax, eax
lea ecx, [eax + ecx + 5]
mov edx, eax
mov dword [esp + 0x48], ecx
mov dword [esp + 0x2c], edx
je 0x486767
jmp 0x486740
sub ecx, 1
cmp byte [ecx], 0x2e
je 0x48675a
sub edx, 1
jne 0x486740
mov dword [esp + 0x2c], edx
jmp 0x486763
add ecx, 1
sub eax, edx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x48], ecx
mov edi, dword [edi + 0x14]
sub edi, 1
mov dword [esp + 0x3c], 0
mov dword [esp + 0x30], edi
lea esp, [esp]
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x30]
sub eax, ecx
cdq
sub eax, edx
mov edx, dword [esp + 0x48]
sar eax, 1
add eax, ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x10]
mov esi, dword [ecx + eax*8 + 0x1c]
mov edi, dword [ecx + eax*8 + 0x18]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x20]
test edx, edx
je 0x486aea
test edi, edi
je 0x486aea
mov ecx, dword [esp + 0x14]
mov al, byte [ecx]
test al, al
jns 0x4869a2
cmp edx, 2
jl 0x486804
mov bl, al
and bl, 0xe0
cmp bl, 0xc0
jne 0x486804
movzx ebx, byte [ecx + 1]
and eax, 0x1f
and ebx, 0x3f
shl eax, 6
or eax, ebx
add ecx, 2
sub edx, 2
jmp 0x486892
cmp edx, 3
jl 0x486841
mov bl, al
and bl, 0xf0
cmp bl, 0xe0
jne 0x486841
movzx ebx, byte [ecx + 1]
and eax, 0xf
shl eax, 6
and ebx, 0x3f
or ebx, eax
movzx eax, byte [ecx + 2]
shl ebx, 6
and eax, 0x3f
or eax, ebx
add ecx, 3
sub edx, 3
jmp 0x486892
cmp edx, 4
jl 0x48688a
mov bl, al
and bl, 0xf8
cmp bl, 0xf0
jne 0x48688a
movzx ebx, byte [ecx + 1]
and eax, 7
shl eax, 6
and ebx, 0x3f
or ebx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 3]
shl ebx, 6
and eax, 0x3f
or eax, ebx
add ecx, 4
sub edx, 4
jmp 0x486892
xor eax, eax
add ecx, 1
sub edx, 1
mov bl, byte [esi]
test bl, bl
mov dword [esp + 0x20], edx
mov dword [esp + 0x14], ecx
jns 0x48698c
cmp edi, 2
jl 0x4868dd
mov cl, bl
and cl, 0xe0
cmp cl, 0xc0
jne 0x4868dd
movzx edx, byte [esi + 1]
and ebx, 0x1f
and edx, 0x3f
shl ebx, 6
push eax
or ebx, edx
add esi, 2
sub edi, 2
call fcn.00409910
sub eax, ebx
jmp 0x486acc
cmp edi, 3
jl 0x486924
mov cl, bl
and cl, 0xf0
cmp cl, 0xe0
jne 0x486924
movzx edx, byte [esi + 1]
movzx ecx, byte [esi + 2]
and edx, 0x3f
and ebx, 0xf
shl ebx, 6
or edx, ebx
shl edx, 6
and ecx, 0x3f
or edx, ecx
push eax
mov ebx, edx
add esi, 3
sub edi, 3
call fcn.00409910
sub eax, ebx
jmp 0x486acc
cmp edi, 4
jl 0x486977
mov dl, bl
and dl, 0xf8
cmp dl, 0xf0
jne 0x486977
movzx ecx, byte [esi + 1]
movzx edx, byte [esi + 2]
and ecx, 0x3f
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
push eax
mov ebx, ecx
add esi, 4
sub edi, 4
call fcn.00409910
sub eax, ebx
jmp 0x486acc
push eax
xor ebx, ebx
add esi, 1
sub edi, 1
call fcn.00409910
sub eax, ebx
jmp 0x486acc
push eax
call fcn.00409910
movzx ecx, bl
sub eax, ecx
add esi, 1
sub edi, 1
jmp 0x486acc
mov cl, byte [esi]
test cl, cl
jns 0x486aa8
cmp edi, 2
jl 0x4869eb
mov dl, cl
and dl, 0xe0
cmp dl, 0xc0
jne 0x4869eb
movzx edx, byte [esi + 1]
and ecx, 0x1f
and edx, 0x3f
shl ecx, 6
or ecx, edx
movzx edx, al
mov eax, dword [0x58b5d0]
movzx eax, byte [edx + eax]
add esi, 2
sub edi, 2
sub eax, ecx
jmp 0x486abf
cmp edi, 3
jl 0x486a36
mov dl, cl
and dl, 0xf0
cmp dl, 0xe0
jne 0x486a36
movzx edx, byte [esi + 1]
and ecx, 0xf
shl ecx, 6
and edx, 0x3f
or edx, ecx
movzx ecx, byte [esi + 2]
shl edx, 6
and ecx, 0x3f
or ecx, edx
movzx edx, al
mov eax, dword [0x58b5d0]
movzx eax, byte [edx + eax]
add esi, 3
sub edi, 3
sub eax, ecx
jmp 0x486abf
cmp edi, 4
jl 0x486a8d
mov dl, cl
and dl, 0xf8
cmp dl, 0xf0
jne 0x486a8d
movzx edx, byte [esi + 1]
and ecx, 7
shl ecx, 6
and edx, 0x3f
or edx, ecx
movzx ecx, byte [esi + 2]
and ecx, 0x3f
shl edx, 6
or edx, ecx
movzx ecx, byte [esi + 3]
shl edx, 6
and ecx, 0x3f
or ecx, edx
movzx edx, al
mov eax, dword [0x58b5d0]
movzx eax, byte [edx + eax]
add esi, 4
sub edi, 4
sub eax, ecx
jmp 0x486abf
movzx edx, al
mov eax, dword [0x58b5d0]
movzx eax, byte [edx + eax]
xor ecx, ecx
add esi, 1
sub edi, 1
sub eax, ecx
jmp 0x486abf
movzx edx, al
mov eax, dword [0x58b5d0]
movzx eax, byte [edx + eax]
movzx ecx, cl
sub eax, ecx
add esi, 1
sub edi, 1
mov ecx, 1
add dword [esp + 0x14], ecx
sub dword [esp + 0x20], ecx
test eax, eax
je 0x4867b1
jge 0x486b0a
mov edx, dword [esp + 0x4c]
add edx, 0xffffffff
mov dword [esp + 0x30], edx
jmp 0x486b15
sub edx, edi
je 0x486b2a
test edx, edx
jge 0x486b0a
mov edx, dword [esp + 0x4c]
add edx, 0xffffffff
mov dword [esp + 0x30], edx
jmp 0x486b15
mov eax, dword [esp + 0x4c]
add eax, 1
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0x30]
cmp dword [esp + 0x3c], ecx
jle 0x486780
xor eax, eax
jmp 0x486b2f
mov eax, 1
test eax, eax
mov edx, dword [esp + 0x10]
je 0x486b55
cmp dword [edx + 8], 0
je 0x48885a
mov eax, edx
mov ecx, dword [eax + 8]
mov dword [esp + 0x10], ecx
mov edi, ecx
jmp 0x47c8d0
cmp dword [edx + 4], 0
je 0x488829
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 4]
mov dword [esp + 0x10], ecx
mov edi, ecx
jmp 0x47c8d0
mov edx, dword [esp + 0x28]
mov ecx, dword [edx]
mov al, byte [ecx + 4]
cmp al, 0xff
jne 0x486b8a
mov eax, dword [ecx - 4]
jmp 0x486b8d
movzx eax, al
test eax, eax
lea ecx, [eax + ecx + 5]
mov esi, eax
mov dword [esp + 0x48], ecx
mov dword [esp + 0x20], esi
je 0x486bcc
sub ecx, 1
cmp byte [ecx], 0x2e
je 0x486bbd
sub esi, 1
jne 0x486ba3
mov dword [esp + 0x20], esi
jmp 0x486bc8
add ecx, 1
sub eax, esi
mov esi, eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x48], ecx
mov eax, dword [edi + 0x14]
xor ecx, ecx
sub eax, 1
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x14], eax
lea esp, [esp]
sub eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
mov ecx, dword [esp + 0x48]
mov edx, esi
mov esi, dword [edi + eax*8 + 0x18]
mov dword [esp + 0x2c], esi
mov esi, dword [edi + eax*8 + 0x1c]
sub esi, ecx
mov dword [esp + 0x50], esi
test edx, edx
je 0x486c68
cmp dword [esp + 0x2c], 0
je 0x486c68
movzx ebx, byte [ecx + esi]
movzx esi, byte [ecx]
sub esi, ebx
jne 0x486c34
sub dword [esp + 0x2c], 1
mov esi, dword [esp + 0x50]
add ecx, 1
sub edx, 1
jmp 0x486c01
test esi, esi
jge 0x486c4c
mov ecx, dword [esp + 0x4c]
add eax, 0xffffffff
mov dword [esp + 0x14], eax
jmp 0x486c57
lea ecx, [eax + 1]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x4c], ecx
cmp ecx, eax
jg 0x4873c0
mov esi, dword [esp + 0x20]
jmp 0x486be0
sub edx, dword [esp + 0x2c]
je 0x4873f2
test edx, edx
jge 0x486c4c
mov ecx, dword [esp + 0x4c]
add eax, 0xffffffff
mov dword [esp + 0x14], eax
jmp 0x486c57
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov al, byte [ecx + 4]
cmp al, 0xff
jne 0x486c9c
mov eax, dword [ecx - 4]
jmp 0x486c9f
movzx eax, al
test eax, eax
lea ecx, [eax + ecx + 5]
mov esi, eax
mov dword [esp + 0x48], ecx
mov dword [esp + 0x20], esi
je 0x486ce9
jmp 0x486cc0
sub ecx, 1
cmp byte [ecx], 0x2e
je 0x486cda
sub esi, 1
jne 0x486cc0
mov dword [esp + 0x20], esi
jmp 0x486ce5
add ecx, 1
sub eax, esi
mov esi, eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x48], ecx
mov eax, dword [edi + 0x14]
xor ecx, ecx
sub eax, 1
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x14], eax
lea esp, [esp]
sub eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
mov edx, dword [edi + eax*8 + 0x18]
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x2c], edx
mov edx, dword [edi + eax*8 + 0x1c]
sub edx, ecx
mov dword [esp + 0x50], edx
nop
test esi, esi
je 0x486d91
cmp dword [esp + 0x2c], 0
je 0x486d91
movzx edx, byte [ecx]
mov ebx, dword [0x58b5d0]
movzx edx, byte [edx + ebx]
mov ebx, dword [esp + 0x50]
movzx ebx, byte [ecx + ebx]
sub edx, ebx
jne 0x486d5d
sub dword [esp + 0x2c], 1
add ecx, 1
sub esi, 1
jmp 0x486d20
test edx, edx
jge 0x486d75
mov ecx, dword [esp + 0x4c]
add eax, 0xffffffff
mov dword [esp + 0x14], eax
jmp 0x486d80
lea ecx, [eax + 1]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x4c], ecx
cmp ecx, eax
jg 0x47c912
mov esi, dword [esp + 0x20]
jmp 0x486d00
sub esi, dword [esp + 0x2c]
je 0x482f72
test esi, esi
jge 0x486d75
mov ecx, dword [esp + 0x4c]
add eax, 0xffffffff
mov dword [esp + 0x14], eax
jmp 0x486d80
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov al, byte [ecx + 4]
cmp al, 0xff
jne 0x486dc5
mov eax, dword [ecx - 4]
jmp 0x486dc8
movzx eax, al
test eax, eax
lea ecx, [eax + ecx + 5]
mov esi, eax
mov dword [esp + 0x48], ecx
mov dword [esp + 0x20], esi
je 0x486e09
mov edi, edi
sub ecx, 1
cmp byte [ecx], 0x2e
je 0x486dfa
sub esi, 1
jne 0x486de0
mov dword [esp + 0x20], esi
jmp 0x486e05
add ecx, 1
sub eax, esi
mov esi, eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x48], ecx
mov eax, dword [edi + 0x14]
xor ecx, ecx
sub eax, 1
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x14], eax
lea esp, [esp]
sub eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
mov edx, dword [edi + eax*8 + 0x18]
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x2c], edx
mov edx, dword [edi + eax*8 + 0x1c]
sub edx, ecx
mov dword [esp + 0x50], edx
nop
test esi, esi
je 0x486eb1
cmp dword [esp + 0x2c], 0
je 0x486eb1
movzx edx, byte [ecx]
mov ebx, dword [0x58b5d0]
movzx edx, byte [edx + ebx]
mov ebx, dword [esp + 0x50]
movzx ebx, byte [ebx + ecx]
sub edx, ebx
jne 0x486e7d
sub dword [esp + 0x2c], 1
add ecx, 1
sub esi, 1
jmp 0x486e40
test edx, edx
jge 0x486e95
mov ecx, dword [esp + 0x4c]
add eax, 0xffffffff
mov dword [esp + 0x14], eax
jmp 0x486ea0
lea ecx, [eax + 1]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x4c], ecx
cmp ecx, eax
jg 0x4873c0
mov esi, dword [esp + 0x20]
jmp 0x486e20
sub esi, dword [esp + 0x2c]
je 0x4873f2
test esi, esi
jge 0x486e95
mov ecx, dword [esp + 0x4c]
add eax, 0xffffffff
mov dword [esp + 0x14], eax
jmp 0x486ea0
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x486ee6
mov ecx, dword [eax - 4]
jmp 0x486ee9
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 0x47cc3f
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x486f1a
mov ecx, dword [eax - 4]
jmp 0x486f1d
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 0x47cc3f
mov eax, dword [esp + 0x28]
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 0x47cc3f
mov ecx, dword [esp + 0x28]
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 0x47cc3f
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x486fa8
mov ecx, dword [eax - 4]
jmp 0x486fab
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 0x4887e9
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x486fdc
mov ecx, dword [eax - 4]
jmp 0x486fdf
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 0x4887e9
mov eax, dword [esp + 0x28]
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 0x4887e9
mov ecx, dword [esp + 0x28]
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 0x4887e9
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x48706a
mov ecx, dword [eax - 4]
jmp 0x48706d
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 0x47cc3f
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x48709e
mov esi, dword [eax - 4]
jmp 0x4870a1
movzx esi, cl
mov edx, dword [edi + 0x14]
cmp edx, esi
lea ecx, [edi + 0x18]
jg 0x47c912
sub eax, ecx
add edx, ecx
add eax, 5
cmp ecx, edx
mov esi, eax
je 0x4870d2
mov al, byte [esi + ecx]
cmp al, byte [ecx]
jne 0x47c912
add ecx, 1
cmp ecx, edx
jne 0x4870c0
mov eax, 1
jmp 0x47cc3f
mov ecx, dword [esp + 0x28]
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 0x47cc3f
mov edx, dword [esp + 0x28]
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 0x47c912
lea esi, [eax + ecx]
mov ecx, dword [esp + 0x78]
sub ecx, eax
cmp eax, esi
je 0x487152
jmp 0x487140
mov dl, byte [ecx + eax]
cmp dl, byte [eax]
jne 0x47c912
add eax, 1
cmp eax, esi
jne 0x487140
mov eax, 1
jmp 0x47cc3f
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x487176
mov ecx, dword [eax - 4]
jmp 0x487179
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 0x4887e9
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x4871aa
mov esi, dword [eax - 4]
jmp 0x4871ad
movzx esi, cl
mov edx, dword [edi + 0x14]
cmp edx, esi
lea ecx, [edi + 0x18]
jle 0x4871c2
xor eax, eax
jmp 0x4887e9
sub eax, ecx
add edx, ecx
add eax, 5
cmp ecx, edx
mov esi, eax
je 0x4871e5
mov al, byte [esi + ecx]
cmp al, byte [ecx]
jne 0x4873c0
add ecx, 1
cmp ecx, edx
jne 0x4871d3
mov eax, 1
jmp 0x4887e9
mov ecx, dword [esp + 0x28]
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 0x4887e9
mov edx, dword [esp + 0x28]
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]
jle 0x487244
xor eax, eax
jmp 0x4887e9
lea esi, [eax + ecx]
mov ecx, dword [esp + 0x78]
sub ecx, eax
cmp eax, esi
je 0x487267
mov dl, byte [ecx + eax]
cmp dl, byte [eax]
jne 0x4873c0
add eax, 1
cmp eax, esi
jne 0x487255
mov eax, 1
jmp 0x4887e9
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x48728b
mov esi, dword [eax - 4]
jmp 0x48728e
movzx esi, cl
mov edx, dword [edi + 0x14]
cmp edx, esi
lea ecx, [edi + 0x18]
jg 0x47c912
sub eax, ecx
add edx, ecx
add eax, 5
cmp ecx, edx
mov esi, eax
je 0x4872cc
lea ecx, [ecx]
movzx eax, byte [esi + ecx]
mov ebx, dword [0x58b5d0]
mov al, byte [eax + ebx]
cmp al, byte [ecx]
jne 0x47c912
add ecx, 1
cmp ecx, edx
jne 0x4872b0
mov eax, 1
jmp 0x47cc3f
mov ecx, dword [esp + 0x28]
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 0x47c912
lea esi, [eax + ecx]
mov ecx, dword [esp + 0x78]
sub ecx, eax
cmp eax, esi
je 0x487326
mov edi, edi
movzx ebx, byte [ecx + eax]
mov bl, byte [ebx + edx]
cmp bl, byte [eax]
jne 0x47c912
add eax, 1
cmp eax, esi
jne 0x487310
mov eax, 1
jmp 0x47cc3f
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x48734a
mov esi, dword [eax - 4]
jmp 0x48734d
movzx esi, cl
mov edx, dword [edi + 0x14]
cmp edx, esi
lea ecx, [edi + 0x18]
jle 0x487362
xor eax, eax
jmp 0x4887e9
sub eax, ecx
add edx, ecx
add eax, 5
cmp ecx, edx
mov esi, eax
je 0x48738f
movzx eax, byte [esi + ecx]
mov ebx, dword [0x58b5d0]
mov al, byte [eax + ebx]
cmp al, byte [ecx]
jne 0x4873c0
add ecx, 1
cmp ecx, edx
jne 0x487373
mov eax, 1
jmp 0x4887e9
mov ecx, dword [esp + 0x28]
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]
jle 0x4873c7
xor eax, eax
jmp 0x4887e9
lea esi, [eax + ecx]
mov ecx, dword [esp + 0x78]
sub ecx, eax
cmp eax, esi
je 0x4873f2
jmp 0x4873e0
movzx ebx, byte [ecx + eax]
mov bl, byte [ebx + edx]
cmp bl, byte [eax]
jne 0x4873c0
add eax, 1
cmp eax, esi
jne 0x4873e0
mov eax, 1
jmp 0x4887e9
mov ecx, dword [edi + 0x14]
mov eax, dword [esp + 0x28]
push ecx
mov ecx, dword [eax]
lea edx, [edi + 0x18]
push edx
push ecx
call fcn.004244d0
jmp 0x47cc3f
mov edx, dword [edi + 0x14]
mov ecx, dword [esp + 0x28]
push edx
mov edx, dword [ecx]
lea eax, [edi + 0x18]
push eax
push edx
call fcn.00424ac0
jmp 0x47cc3f
mov eax, dword [edi + 0x14]
mov edx, dword [esp + 0x28]
push eax
mov eax, dword [edx]
lea ecx, [edi + 0x18]
push ecx
push eax
call fcn.004244d0
jmp 0x4887e9
mov ecx, dword [edi + 0x14]
mov eax, dword [esp + 0x28]
push ecx
mov ecx, dword [eax]
lea edx, [edi + 0x18]
push edx
push ecx
call fcn.00424ac0
jmp 0x4887e9
mov edx, dword [edi + 0x14]
mov ecx, dword [esp + 0x28]
push edx
mov edx, dword [ecx]
lea eax, [edi + 0x18]
push eax
push edx
call fcn.004250b0
jmp 0x47cc3f
mov eax, dword [edi + 0x14]
mov edx, dword [esp + 0x28]
push eax
mov eax, dword [edx]
lea ecx, [edi + 0x18]
push ecx
push eax
call fcn.00424220
jmp 0x47cc3f
mov ecx, dword [edi + 0x14]
mov eax, dword [esp + 0x28]
push ecx
mov ecx, dword [eax]
lea edx, [edi + 0x18]
push edx
push ecx
call fcn.004250b0
jmp 0x4887e9
mov edx, dword [edi + 0x14]
mov ecx, dword [esp + 0x28]
push edx
mov edx, dword [ecx]
lea eax, [edi + 0x18]
push eax
push edx
call fcn.00424220
jmp 0x4887e9
mov eax, dword [edi + 0x14]
mov edx, dword [esp + 0x28]
push eax
mov eax, dword [edx]
lea ecx, [edi + 0x18]
push ecx
push eax
call fcn.00424340
jmp 0x47cc3f
mov ecx, dword [edi + 0x14]
mov eax, dword [esp + 0x28]
push ecx
mov ecx, dword [eax]
lea edx, [edi + 0x18]
push edx
push ecx
call fcn.00424340
jmp 0x4887e9
mov edx, dword [edi + 0x14]
mov ecx, dword [esp + 0x28]
push edx
mov edx, dword [ecx]
lea eax, [edi + 0x18]
push eax
push edx
call fcn.0042e1b0
jmp 0x47cc3f
mov eax, dword [edi + 0x14]
mov edx, dword [esp + 0x28]
push eax
mov eax, dword [edx]
lea ecx, [edi + 0x18]
push ecx
push eax
call fcn.00425180
jmp 0x47cc3f
mov ecx, dword [edi + 0x14]
mov eax, dword [esp + 0x28]
push ecx
mov ecx, dword [eax]
lea edx, [edi + 0x18]
push edx
push ecx
call fcn.0042e1b0
jmp 0x4887e9
mov edx, dword [edi + 0x14]
mov ecx, dword [esp + 0x28]
push edx
mov edx, dword [ecx]
lea eax, [edi + 0x18]
push eax
push edx
call fcn.00425180
jmp 0x4887e9
mov eax, dword [edi + 0x14]
mov edx, dword [esp + 0x28]
push eax
mov eax, dword [edx]
lea ecx, [edi + 0x18]
push ecx
push eax
call fcn.0042e770
jmp 0x47cc3f
mov ecx, dword [edi + 0x14]
mov eax, dword [esp + 0x28]
push ecx
mov ecx, dword [eax]
lea edx, [edi + 0x18]
push edx
push ecx
call fcn.0042e820
jmp 0x47cc3f
mov edx, dword [edi + 0x14]
mov ecx, dword [esp + 0x28]
push edx
mov edx, dword [ecx]
lea eax, [edi + 0x18]
push eax
push edx
call fcn.0042e770
jmp 0x4887e9
mov eax, dword [edi + 0x14]
mov edx, dword [esp + 0x28]
push eax
mov eax, dword [edx]
lea ecx, [edi + 0x18]
push ecx
push eax
call fcn.0042e820
jmp 0x4887e9
mov ecx, dword [edi + 0x14]
mov eax, dword [esp + 0x28]
push ecx
mov ecx, dword [eax]
lea edx, [edi + 0x18]
push edx
push ecx
call fcn.00425740
jmp 0x47cc3f
mov edx, dword [edi + 0x14]
mov ecx, dword [esp + 0x28]
push edx
mov edx, dword [ecx]
lea eax, [edi + 0x18]
push eax
push edx
call fcn.00425740
jmp 0x4887e9
mov eax, dword [edi + 0x14]
mov edx, dword [esp + 0x28]
push eax
mov eax, dword [edx]
lea ecx, [edi + 0x18]
push ecx
push eax
call fcn.00425860
jmp 0x47cc3f
mov ecx, dword [edi + 0x14]
mov eax, dword [esp + 0x28]
push ecx
mov ecx, dword [eax]
lea edx, [edi + 0x18]
push edx
push ecx
call fcn.00425e70
jmp 0x47cc3f
mov edx, dword [edi + 0x14]
mov ecx, dword [esp + 0x28]
push edx
mov edx, dword [ecx]
lea eax, [edi + 0x18]
push eax
push edx
call fcn.00425860
jmp 0x4887e9
mov eax, dword [edi + 0x14]
mov edx, dword [esp + 0x28]
push eax
mov eax, dword [edx]
lea ecx, [edi + 0x18]
push ecx
push eax
call fcn.00425e70
jmp 0x4887e9
mov ecx, dword [edi + 0x14]
mov eax, dword [esp + 0x28]
push ecx
mov ecx, dword [eax]
lea edx, [edi + 0x18]
push edx
push ecx
call fcn.00426480
jmp 0x47cc3f
mov edx, dword [edi + 0x14]
mov ecx, dword [esp + 0x28]
push edx
mov edx, dword [ecx]
lea eax, [edi + 0x18]
push eax
push edx
call fcn.00426550
jmp 0x47cc3f
mov eax, dword [edi + 0x14]
mov edx, dword [esp + 0x28]
push eax
mov eax, dword [edx]
lea ecx, [edi + 0x18]
push ecx
push eax
call fcn.00426480
jmp 0x4887e9
mov ecx, dword [edi + 0x14]
mov eax, dword [esp + 0x28]
push ecx
mov ecx, dword [eax]
lea edx, [edi + 0x18]
push edx
push ecx
call fcn.00426550
jmp 0x4887e9
mov edx, dword [edi + 0x14]
mov ecx, dword [esp + 0x28]
push edx
mov edx, dword [ecx]
lea eax, [edi + 0x18]
push eax
push edx
call fcn.0042f5f0
jmp 0x47cc3f
mov eax, dword [edi + 0x14]
mov edx, dword [esp + 0x28]
push eax
mov eax, dword [edx]
lea ecx, [edi + 0x18]
push ecx
push eax
call fcn.0042f5f0
jmp 0x4887e9
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
cmp dword [edx], 0
jne case.0x47c8de.1
jmp case.0x47c8de.0
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
cmp dword [ecx], 0
jne case.0x47c8de.0
jmp case.0x47c8de.1
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx]
push eax
push edx
call fcn.004268e0
jmp 0x47cc3f
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov edx, dword [esp + 0x34]
mov eax, dword [edx]
push ecx
push eax
call fcn.004268e0
jmp 0x4887e9
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
mov eax, dword [esp + 0x34]
mov ecx, dword [eax]
push edx
push ecx
call fcn.00426680
jmp 0x47cc3f
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx]
push eax
push edx
call fcn.00426680
jmp 0x4887e9
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov edx, dword [esp + 0x34]
mov eax, dword [edx]
push ecx
push eax
call fcn.00426ae0
jmp 0x47cc3f
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
mov eax, dword [esp + 0x34]
mov ecx, dword [eax]
push edx
push ecx
call fcn.00426ae0
jmp 0x4887e9
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx]
push eax
push edx
call fcn.00426d40
jmp 0x47cc3f
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov edx, dword [esp + 0x34]
mov eax, dword [edx]
push ecx
push eax
call fcn.00426d40
jmp 0x4887e9
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
mov eax, dword [esp + 0x34]
mov ecx, dword [eax]
push edx
push ecx
call fcn.00426fc0
jmp 0x47cc3f
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx]
push eax
push edx
call fcn.00426fc0
jmp 0x4887e9
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov edx, dword [esp + 0x34]
mov eax, dword [edx]
push ecx
push eax
call fcn.004272a0
jmp 0x47cc3f
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
mov eax, dword [esp + 0x34]
mov ecx, dword [eax]
push edx
push ecx
call fcn.004272a0
jmp 0x4887e9
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx]
push eax
push edx
call fcn.00427520
jmp 0x47cc3f
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov edx, dword [esp + 0x34]
mov eax, dword [edx]
push ecx
push eax
call fcn.00427520
jmp 0x4887e9
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
cmp dword [eax], 0
jne 0x487891
cmp byte [eax + 4], 0xff
jne 0x487886
mov eax, dword [eax - 8]
mov eax, dword [eax + 4]
jmp 0x487bc7
mov eax, dword [eax - 4]
mov eax, dword [eax + 4]
jmp 0x487bc7
mov ecx, dword [eax]
mov eax, dword [ecx]
test eax, eax
je 0x4878a8
lea ecx, [ecx]
mov ecx, eax
mov eax, dword [eax]
test eax, eax
jne 0x4878a0
cmp byte [ecx + 4], 0xff
jne 0x4878bf
mov ecx, dword [ecx - 8]
mov eax, ecx
mov eax, dword [eax + 4]
jmp 0x487bc7
mov ecx, dword [ecx - 4]
mov eax, ecx
mov eax, dword [eax + 4]
jmp 0x487bc7
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
cmp dword [eax], 0
jne 0x4878fb
cmp byte [eax + 4], 0xff
jne 0x4878f0
mov eax, dword [eax - 8]
mov eax, dword [eax + 4]
jmp 0x487c03
mov eax, dword [eax - 4]
mov eax, dword [eax + 4]
jmp 0x487c03
mov ecx, dword [eax]
mov eax, dword [ecx]
test eax, eax
je 0x48790f
mov ecx, eax
mov eax, dword [eax]
test eax, eax
jne 0x487907
cmp byte [ecx + 4], 0xff
jne 0x487926
mov ecx, dword [ecx - 8]
mov eax, ecx
mov eax, dword [eax + 4]
jmp 0x487c03
mov ecx, dword [ecx - 4]
mov eax, ecx
mov eax, dword [eax + 4]
jmp 0x487c03
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x48794d
mov ecx, dword [eax - 4]
jmp 0x487950
movzx ecx, cl
push ecx
add eax, 5
push eax
call fcn.005222a0
cmp eax, dword [edi + 0x14]
jl case.0x47c8de.1
cmp eax, dword [edi + 0x18]
jg case.0x47c8de.1
jmp case.0x47c8de.0
mov ecx, dword [esp + 0x28]
mov esi, dword [ecx]
mov al, byte [esi + 4]
cmp al, 0xff
jne 0x48798a
mov eax, dword [esi - 4]
jmp 0x48798d
movzx eax, al
push eax
lea edx, [esi + 5]
push edx
call fcn.005222a0
mov esi, dword [esi]
test esi, esi
mov ebx, eax
je 0x4879cd
mov al, byte [esi + 4]
cmp al, 0xff
jne 0x4879b6
mov eax, dword [esi - 4]
jmp 0x4879b9
movzx eax, al
push eax
lea eax, [esi + 5]
push eax
call fcn.005222a0
mov esi, dword [esi]
test esi, esi
lea ebx, [ebx + eax + 1]
jne 0x4879a3
cmp ebx, dword [edi + 0x14]
jl case.0x47c8de.1
cmp ebx, dword [edi + 0x18]
jg case.0x47c8de.1
jmp case.0x47c8de.0
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x4879fe
mov ecx, dword [eax - 4]
jmp 0x487a01
movzx ecx, cl
push ecx
add eax, 5
push eax
call fcn.005222a0
cmp eax, dword [edi + 0x14]
jl case.0x47c8de.0
cmp eax, dword [edi + 0x18]
jg case.0x47c8de.0
jmp case.0x47c8de.1
mov edx, dword [esp + 0x28]
mov esi, dword [edx]
mov al, byte [esi + 4]
cmp al, 0xff
jne 0x487a3b
mov eax, dword [esi - 4]
jmp 0x487a3e
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 0x487a7e
mov al, byte [esi + 4]
cmp al, 0xff
jne 0x487a67
mov eax, dword [esi - 4]
jmp 0x487a6a
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 0x487a54
cmp ebx, dword [edi + 0x14]
jl case.0x47c8de.0
cmp ebx, dword [edi + 0x18]
jg case.0x47c8de.0
jmp case.0x47c8de.1
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
push eax
push edi
call fcn.004283d0
jmp 0x47cc3f
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
push edx
lea eax, [esp + 0x74]
push eax
push edi
call fcn.00428450
jmp 0x47cc3f
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
push edx
push edi
call fcn.004283d0
jmp 0x4887e9
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
push ecx
lea edx, [esp + 0x74]
push edx
push edi
call fcn.00428450
jmp 0x4887e9
mov eax, dword [esp + 0x28]
mov edx, dword [eax]
mov eax, dword [edx]
xor ecx, ecx
test eax, eax
je 0x487b09
lea esp, [esp]
mov eax, dword [eax]
add ecx, 1
test eax, eax
jne 0x487b00
cmp ecx, dword [edi + 0x14]
jl case.0x47c8de.1
cmp ecx, dword [edi + 0x18]
jg case.0x47c8de.1
jmp case.0x47c8de.0
mov eax, dword [esp + 0x28]
mov edx, dword [eax]
mov eax, dword [edx]
xor ecx, ecx
test eax, eax
je 0x487b3b
mov eax, dword [eax]
add ecx, 1
test eax, eax
jne 0x487b32
cmp ecx, dword [edi + 0x14]
jl case.0x47c8de.0
cmp ecx, dword [edi + 0x18]
jg case.0x47c8de.0
jmp case.0x47c8de.1
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov edx, dword [ecx]
cmp edx, dword [edi + 0x1c]
jne case.0x47c8de.1
jmp case.0x47c8de.0
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov edx, dword [ecx]
cmp edx, dword [edi + 0x1c]
jne case.0x47c8de.0
jmp case.0x47c8de.1
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
push edi
push ecx
call fcn.004310b0
jmp 0x47cc3f
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
push edi
push eax
call fcn.004310b0
jmp 0x4887e9
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
mov edx, dword [esp + 0x68]
push eax
push edx
call fcn.00453ed0
test eax, eax
je 0x487bc5
mov eax, dword [eax]
mov eax, dword [eax + 8]
jmp 0x487bc7
xor eax, eax
cmp eax, dword [edi + 0x14]
jb case.0x47c8de.1
cmp eax, dword [edi + 0x18]
ja case.0x47c8de.1
jmp case.0x47c8de.0
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
mov edx, dword [esp + 0x68]
push eax
push edx
call fcn.00453ed0
test eax, eax
je 0x487c01
mov eax, dword [eax]
mov eax, dword [eax + 8]
jmp 0x487c03
xor eax, eax
cmp eax, dword [edi + 0x14]
jb case.0x47c8de.0
cmp eax, dword [edi + 0x18]
ja case.0x47c8de.0
jmp case.0x47c8de.1
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
mov edx, dword [esp + 0x68]
push eax
push edx
call fcn.00453ed0
test eax, eax
je 0x487c3a
mov eax, dword [eax]
jmp 0x487d31
xor ecx, ecx
xor eax, eax
jmp 0x487d36
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov ecx, dword [esp + 0x68]
push eax
push ecx
call fcn.00453ed0
test eax, eax
je 0x487c63
mov eax, dword [eax]
jmp 0x487d90
xor ecx, ecx
xor eax, eax
jmp 0x487d95
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x44]
push edi
push edx
mov edx, dword [esp + 0x3c]
push eax
push ecx
push edx
call fcn.00448000
cmp eax, dword [edi + 0x14]
jae case.0x47c8de.1
jmp case.0x47c8de.0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x44]
push edi
push eax
mov eax, dword [esp + 0x3c]
push ecx
push edx
push eax
call fcn.00448000
cmp eax, dword [edi + 0x14]
jae case.0x47c8de.0
jmp case.0x47c8de.1
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
push edi
push edx
call fcn.00428640
jmp 0x47cc3f
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
push edi
push ecx
call fcn.00428640
jmp 0x4887e9
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [esp + 0x34]
push eax
push ecx
call fcn.00423c90
jmp 0x488299
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [esp + 0x34]
push eax
push ecx
call fcn.00423c90
jmp 0x4882df
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x487d2a
mov ecx, dword [eax - 4]
lea eax, [ecx + eax + 5]
jmp 0x487d31
movzx edx, cl
lea eax, [edx + eax + 5]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
cmp eax, dword [edi + 0x1c]
jb case.0x47c8de.1
ja 0x487d4e
cmp ecx, dword [edi + 0x18]
jb case.0x47c8de.1
cmp eax, dword [edi + 0x24]
ja case.0x47c8de.1
jb case.0x47c8de.0
cmp ecx, dword [edi + 0x20]
ja case.0x47c8de.1
jmp case.0x47c8de.0
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x487d89
mov ecx, dword [eax - 4]
lea eax, [ecx + eax + 5]
jmp 0x487d90
movzx edx, cl
lea eax, [edx + eax + 5]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
cmp eax, dword [edi + 0x1c]
jb case.0x47c8de.0
ja 0x487dad
cmp ecx, dword [edi + 0x18]
jb case.0x47c8de.0
cmp eax, dword [edi + 0x24]
ja case.0x47c8de.0
jb case.0x47c8de.1
cmp ecx, dword [edi + 0x20]
ja case.0x47c8de.0
jmp case.0x47c8de.1
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x487df2
mov ecx, dword [eax - 4]
lea ecx, [ecx + eax + 5]
mov eax, dword [esp + 0x68]
mov eax, dword [eax + 0x360]
jmp 0x487ef1
movzx edx, cl
lea ecx, [edx + eax + 5]
mov eax, dword [esp + 0x68]
mov eax, dword [eax + 0x360]
jmp 0x487ef1
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x487e30
mov edx, dword [eax - 4]
lea ecx, [edx + eax + 5]
mov edx, dword [esp + 0x68]
mov eax, dword [edx + 0x360]
jmp 0x487f5c
mov edx, dword [esp + 0x68]
movzx ecx, cl
lea ecx, [ecx + eax + 5]
mov eax, dword [edx + 0x360]
jmp 0x487f5c
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x487e6e
mov ecx, dword [eax - 4]
lea ecx, [ecx + eax + 5]
mov eax, dword [esp + 0x68]
mov eax, dword [eax + 0x358]
jmp 0x487ef1
movzx edx, cl
lea ecx, [edx + eax + 5]
mov eax, dword [esp + 0x68]
mov eax, dword [eax + 0x358]
jmp 0x487ef1
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x487eac
mov edx, dword [eax - 4]
lea ecx, [edx + eax + 5]
mov edx, dword [esp + 0x68]
mov eax, dword [edx + 0x358]
jmp 0x487f5c
mov edx, dword [esp + 0x68]
movzx ecx, cl
lea ecx, [ecx + eax + 5]
mov eax, dword [edx + 0x358]
jmp 0x487f5c
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x487ee0
mov ecx, dword [eax - 4]
lea ecx, [ecx + eax + 5]
jmp 0x487ee7
movzx edx, cl
lea ecx, [edx + eax + 5]
mov eax, dword [esp + 0x68]
mov eax, dword [eax + 0x368]
mov edx, dword [ecx + eax]
mov eax, dword [ecx + eax + 4]
cmp eax, dword [edi + 0x1c]
jb case.0x47c8de.1
ja 0x487f10
cmp edx, dword [edi + 0x18]
jb case.0x47c8de.1
cmp eax, dword [edi + 0x24]
ja case.0x47c8de.1
jb case.0x47c8de.0
cmp edx, dword [edi + 0x20]
ja case.0x47c8de.1
jmp case.0x47c8de.0
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x487f4b
mov edx, dword [eax - 4]
lea ecx, [edx + eax + 5]
jmp 0x487f52
movzx ecx, cl
lea ecx, [ecx + eax + 5]
mov edx, dword [esp + 0x68]
mov eax, dword [edx + 0x368]
mov edx, dword [ecx + eax]
mov eax, dword [ecx + eax + 4]
cmp eax, dword [edi + 0x1c]
jb case.0x47c8de.0
ja 0x487f7b
cmp edx, dword [edi + 0x18]
jb case.0x47c8de.0
cmp eax, dword [edi + 0x24]
ja case.0x47c8de.0
jb case.0x47c8de.1
cmp edx, dword [edi + 0x20]
ja case.0x47c8de.0
jmp case.0x47c8de.1
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x487fb6
mov ecx, dword [eax - 4]
lea eax, [ecx + eax + 5]
jmp 0x487fbd
movzx edx, cl
lea eax, [edx + eax + 5]
mov edx, dword [esp + 0x68]
mov edx, dword [edx + 0x370]
mov ecx, dword [edi + 0x14]
mov eax, dword [eax + edx]
and eax, ecx
cmp eax, ecx
jne case.0x47c8de.1
jmp case.0x47c8de.0
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x487ffa
mov edx, dword [eax - 4]
lea eax, [edx + eax + 5]
jmp 0x488001
movzx ecx, cl
lea eax, [ecx + eax + 5]
mov edx, dword [esp + 0x68]
mov edx, dword [edx + 0x370]
mov ecx, dword [edi + 0x14]
mov eax, dword [eax + edx]
and eax, ecx
cmp eax, ecx
jne case.0x47c8de.0
jmp case.0x47c8de.1
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
mov eax, dword [esp + 0x34]
mov esi, dword [edi + 0x14]
push edx
push eax
call fcn.00423d10
and eax, esi
cmp eax, esi
jne case.0x47c8de.1
jmp case.0x47c8de.0
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
mov eax, dword [esp + 0x34]
mov esi, dword [edi + 0x14]
push edx
push eax
call fcn.00423d10
and eax, esi
cmp eax, esi
jne case.0x47c8de.0
jmp case.0x47c8de.1
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
mov eax, dword [esp + 0x34]
push edx
push eax
call fcn.00423dd0
jmp 0x488299
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
mov eax, dword [esp + 0x34]
push edx
push eax
call fcn.00423dd0
jmp 0x4882df
mov esi, dword [esp + 0x28]
mov ecx, dword [esi]
mov edx, dword [esp + 0x34]
push ecx
push edx
call fcn.00423dd0
mov ecx, dword [esp + 0x34]
mov ebx, eax
mov eax, dword [esi]
push eax
push ecx
mov dword [esp + 0x1b4], edx
call fcn.00423e30
cmp ebx, eax
jne case.0x47c8de.1
cmp dword [esp + 0x1ac], edx
jne case.0x47c8de.1
jmp case.0x47c8de.0
mov esi, dword [esp + 0x28]
mov edx, dword [esi]
mov eax, dword [esp + 0x34]
push edx
push eax
call fcn.00423dd0
mov ecx, dword [esi]
mov dword [esp + 0x19c], edx
mov edx, dword [esp + 0x34]
push ecx
push edx
mov ebx, eax
call fcn.00423e30
cmp ebx, eax
jne case.0x47c8de.0
cmp dword [esp + 0x19c], edx
jne case.0x47c8de.0
jmp case.0x47c8de.1
mov esi, dword [esp + 0x28]
mov eax, dword [esi]
mov ecx, dword [esp + 0x34]
push eax
push ecx
call fcn.00423dd0
mov ebx, edx
mov edx, dword [esi]
mov dword [esp + 0x1b0], eax
mov eax, dword [esp + 0x34]
push edx
push eax
call fcn.00423e30
cmp ebx, edx
jb case.0x47c8de.1
ja case.0x47c8de.0
cmp dword [esp + 0x1b0], eax
jb case.0x47c8de.1
jmp case.0x47c8de.0
mov esi, dword [esp + 0x28]
mov ecx, dword [esi]
mov edx, dword [esp + 0x34]
push ecx
push edx
call fcn.00423dd0
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x188], eax
mov eax, dword [esi]
push eax
push ecx
mov ebx, edx
call fcn.00423e30
cmp ebx, edx
jb case.0x47c8de.0
ja case.0x47c8de.1
cmp dword [esp + 0x188], eax
jb case.0x47c8de.0
jmp case.0x47c8de.1
mov esi, dword [esp + 0x28]
mov edx, dword [esi]
mov eax, dword [esp + 0x34]
push edx
push eax
call fcn.00423dd0
mov ecx, dword [esi]
mov ebx, edx
mov edx, dword [esp + 0x34]
push ecx
push edx
mov dword [esp + 0x198], eax
call fcn.00423e30
cmp ebx, edx
jb case.0x47c8de.1
ja case.0x47c8de.0
cmp dword [esp + 0x190], eax
jbe case.0x47c8de.1
jmp case.0x47c8de.0
mov esi, dword [esp + 0x28]
mov eax, dword [esi]
mov ecx, dword [esp + 0x34]
push eax
push ecx
call fcn.00423dd0
mov ebx, edx
mov edx, dword [esi]
mov dword [esp + 0x1a0], eax
mov eax, dword [esp + 0x34]
push edx
push eax
call fcn.00423e30
cmp ebx, edx
jb case.0x47c8de.0
ja case.0x47c8de.1
cmp dword [esp + 0x1a0], eax
jbe case.0x47c8de.0
jmp case.0x47c8de.1
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
mov eax, dword [esp + 0x34]
push edx
push eax
call fcn.00423d70
jmp 0x488299
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
mov eax, dword [esp + 0x34]
push edx
push eax
call fcn.00423d70
jmp 0x4882df
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
mov eax, dword [esp + 0x34]
push edx
push eax
call fcn.0042d410
jmp 0x488299
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
mov eax, dword [esp + 0x34]
push edx
push eax
call fcn.0042d410
jmp 0x4882df
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
mov eax, dword [esp + 0x34]
push edx
push eax
call fcn.00423e30
cmp edx, dword [edi + 0x1c]
jb case.0x47c8de.1
ja 0x4882b1
cmp eax, dword [edi + 0x18]
jb case.0x47c8de.1
cmp edx, dword [edi + 0x24]
ja case.0x47c8de.1
jb case.0x47c8de.0
cmp eax, dword [edi + 0x20]
ja case.0x47c8de.1
jmp case.0x47c8de.0
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
mov eax, dword [esp + 0x34]
push edx
push eax
call fcn.00423e30
cmp edx, dword [edi + 0x1c]
jb case.0x47c8de.0
ja 0x4882f7
cmp eax, dword [edi + 0x18]
jb case.0x47c8de.0
cmp edx, dword [edi + 0x24]
ja case.0x47c8de.0
jb case.0x47c8de.1
cmp eax, dword [edi + 0x20]
ja case.0x47c8de.0
jmp case.0x47c8de.1
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
mov eax, dword [esp + 0x34]
push edx
push eax
call fcn.00423e90
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
jmp 0x47cc3f
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
mov eax, dword [esp + 0x34]
push edx
push eax
call fcn.00423e90
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
jmp 0x4887e9
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
mov eax, dword [esp + 0x34]
mov ecx, dword [eax]
push edx
push ecx
call fcn.00428380
mov edx, dword [edi + 0x20]
mov esi, eax
push edx
lea eax, [edi + 0x24]
push eax
push esi
call fcn.00403620
mov ecx, dword [edi + 0x14]
push eax
push esi
call ecx
jmp 0x47cc3f
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx]
push eax
push edx
call fcn.00428380
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 0x4887e9
mov eax, dword [esp + 0x28]
mov dword [esp + 0x2f8], 0
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x4883f1
mov eax, dword [eax - 4]
jmp 0x4883f4
movzx eax, cl
mov edx, dword [esp + 0x28]
push 0x80
mov dword [esp + 0x300], eax
mov eax, dword [edx]
lea ecx, [esp + 0x2fc]
push ecx
push 0xa
add eax, 5
push eax
lea ecx, [edi + 0x14]
push ecx
call fcn.00543c20
test eax, eax
jne case.0x47c8de.1
jmp case.0x47c8de.0
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
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 + 0x20c]
push eax
push 0xa
mov dword [esp + 0x218], edx
push ecx
lea edx, [edi + 0x14]
push edx
mov dword [esp + 0x21c], 0
call fcn.00543c20
test eax, eax
jne case.0x47c8de.1
jmp case.0x47c8de.0
mov eax, dword [esp + 0x28]
mov dword [esp + 0x2a8], 0
mov eax, dword [eax]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x4884a0
mov eax, dword [eax - 4]
jmp 0x4884a3
movzx eax, cl
mov edx, dword [esp + 0x28]
push 0x80
mov dword [esp + 0x2b0], eax
mov eax, dword [edx]
lea ecx, [esp + 0x2ac]
push ecx
push 0xa
add eax, 5
push eax
lea ecx, [edi + 0x14]
push ecx
call fcn.00543c20
test eax, eax
jne case.0x47c8de.0
jmp case.0x47c8de.1
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
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 + 0x34c]
push eax
push 0xa
mov dword [esp + 0x358], edx
push ecx
lea edx, [edi + 0x14]
push edx
mov dword [esp + 0x35c], 0
call fcn.00543c20
test eax, eax
jne case.0x47c8de.0
jmp case.0x47c8de.1
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
push edi
push ecx
call fcn.00427ef0
jmp 0x47cc3f
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
push edi
push eax
call fcn.00427ef0
jmp 0x4887e9
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
push edi
push edx
call fcn.00427f50
jmp 0x47cc3f
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
push edi
push ecx
call fcn.00427f50
jmp 0x4887e9
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
push edi
push eax
call fcn.00428020
jmp 0x47cc3f
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
push edi
push edx
call fcn.00428020
jmp 0x4887e9
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
push edi
push ecx
call fcn.00428160
jmp 0x47cc3f
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
push edi
push eax
call fcn.00428160
jmp 0x4887e9
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
push edi
push edx
call fcn.00428100
jmp 0x47cc3f
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
push edi
push ecx
call fcn.00428100
jmp 0x4887e9
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
push edi
push eax
call fcn.00429e00
jmp 0x47cc3f
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
push edi
push edx
call fcn.00429e00
jmp 0x4887e9
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
push edi
push ecx
call fcn.00429f80
jmp 0x47cc3f
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
push edi
push eax
call fcn.00429f80
jmp 0x4887e9
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
push edi
push edx
call fcn.0042a0b0
jmp 0x47cc3f
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
push edi
push ecx
call fcn.0042a0b0
jmp 0x4887e9
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
push edi
push eax
call fcn.0042a1e0
jmp 0x47cc3f
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
push edi
push edx
call fcn.0042a1e0
jmp 0x4887e9
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
push edi
push ecx
call fcn.0042a300
jmp 0x47cc3f
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
push edi
push eax
call fcn.0042a300
jmp 0x4887e9
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
push edi
push edx
call fcn.0042a420
jmp 0x47cc3f
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
push edi
push ecx
call fcn.0042a420
jmp 0x4887e9
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
push edi
push eax
call fcn.0042a540
jmp 0x47cc3f
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
push edi
push edx
call fcn.0042a540
jmp 0x4887e9
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
push edi
push ecx
call fcn.0042a660
jmp 0x47cc3f
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
push edi
push eax
call fcn.0042a660
jmp 0x4887e9
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
push edi
push edx
call fcn.00428550
jmp 0x47cc3f
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
push edi
push ecx
call fcn.00428550
jmp 0x4887e9
mov edx, dword [edi + 0x14]
mov ecx, dword [esp + 0x28]
push edx
mov edx, dword [ecx]
lea eax, [edi + 0x1c]
push eax
push edx
call fcn.00427ba0
jmp 0x47cc3f
mov eax, dword [edi + 0x14]
mov edx, dword [esp + 0x28]
push eax
mov eax, dword [edx]
lea ecx, [edi + 0x1c]
push ecx
push eax
call fcn.00427ba0
jmp 0x4887e9
mov ecx, dword [edi + 0x14]
mov eax, dword [esp + 0x28]
push ecx
mov ecx, dword [eax]
lea edx, [edi + 0x1c]
push edx
mov edx, dword [ecx]
push edx
call fcn.00430ae0
jmp 0x47cc3f
mov eax, dword [edi + 0x14]
mov edx, dword [esp + 0x28]
push eax
mov eax, dword [edx]
lea ecx, [edi + 0x1c]
push ecx
mov ecx, dword [eax]
push ecx
call fcn.00430ae0
jmp 0x4887e9
mov edx, dword [edi + 0x14]
mov ecx, dword [esp + 0x28]
push edx
mov edx, dword [ecx]
lea eax, [edi + 0x1c]
push eax
mov eax, dword [edx]
push eax
call fcn.00430ae0
jmp 0x47cc3f
mov ecx, dword [edi + 0x14]
mov eax, dword [esp + 0x28]
push ecx
mov ecx, dword [eax]
lea edx, [edi + 0x1c]
push edx
mov edx, dword [ecx]
push edx
call fcn.00430ae0
jmp 0x4887e9
mov eax, dword [edi + 0x14]
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
push eax
mov eax, dword [edx]
push eax
call fcn.00430bb0
jmp 0x47cc3f
mov ecx, dword [edi + 0x14]
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
push ecx
mov ecx, dword [eax]
push ecx
call fcn.00430bb0
test eax, eax
je case.0x47c8de.0
cmp dword [edi + 8], 0
je 0x48885a
mov edi, dword [edi + 8]
jmp 0x47c8c3
mov edx, dword [edi + 0x14]
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
push edx
mov edx, dword [ecx]
push edx
call fcn.00430bb0
jmp 0x47cc3f
mov eax, dword [edi + 0x14]
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
push eax
mov eax, dword [edx]
push eax
jmp 0x4887e4
mov eax, dword [esp + 0x38]
cmp eax, dword [esp + 0x24]
jne 0x48884b
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004021c0
lea edx, [eax + 0xff0]
mov dword [esp + 0x24], edx
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
mov dword [eax], edx
add eax, 4
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x28]
add eax, 4
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x28], eax
jne 0x47c8a9
mov eax, 1
add dword [esp + 0x184], eax
sub dword [esp + 0x180], eax
jne 0x47c879
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x44]
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