Function at 0x4550d4
Capabilities:
Parse credit card information

Disassembly:
push ebp
lea ebp, [esp - 0x54]
sub esp, 0xb4
push ebx
push esi
mov esi, dword [ebp + 0x6c]
mov eax, dword [esi]
cmp eax, dword [esi + 4]
push edi
jae 0x4568ed
mov edi, dword [ebp + 0x60]
mov ebx, dword [ebp + 0x5c]
mov eax, dword [ebp + 0x7c]
inc dword [esi]
cmp eax, dword [esi + 8]
jae 0x4568f6
test byte [ebp + 0x78], 2
mov eax, dword [ebp + 0x70]
mov dword [ebp + 0x38], eax
je 0x45511f
mov eax, dword [ebp + 0x74]
mov dword [ebp + 0x18], eax
lea eax, [ebp + 0x18]
mov dword [ebp + 0x1c], ebx
mov dword [ebp + 0x74], eax
movzx ecx, byte [edi]
xor eax, eax
cmp dword [esi + 0x40], eax
mov dword [ebp + 0x4c], eax
mov dword [ebp + 0x48], eax
mov dword [ebp + 0x6c], ecx
je 0x455144
cmp ebx, dword [esi + 0x54]
jb 0x455144
xor edx, edx
inc edx
cmp ebx, dword [ebp + 0x64]
jbe 0x455147
mov dword [esi + 0x44], edx
jmp 0x455147
xor edx, edx
inc edx
cmp ecx, 0x6d
ja case.0x455157.14
movzx eax, byte [ecx + 0x457225]
jmp dword [eax*4 + 0x457115]
lea eax, [edi + 3]
mov cl, byte [eax]
cmp cl, 0x64
jne 0x455186
mov eax, dword [esi + 0x74]
xor ecx, ecx
test eax, eax
mov ch, byte [edi + 4]
mov cl, byte [edi + 5]
je 0x4551f0
cmp ecx, 0xffff
je 0x4551a3
cmp ecx, dword [eax + 4]
jne 0x4551f0
jmp 0x4551a3
cmp cl, 0x63
jne 0x4551aa
xor eax, eax
mov ah, byte [edi + 4]
mov al, byte [edi + 5]
shl eax, 1
cmp eax, dword [ebp + 0x68]
jge 0x4551f0
mov ecx, dword [esi + 0xc]
cmp dword [ecx + eax*4], 0
jl 0x4551f0
push 3
mov ecx, edx
pop eax
jmp 0x4551fa
cmp cl, 0x65
jne 0x4551bb
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
jmp 0x455204
mov ecx, dword [ebp + 0x7c]
inc ecx
push ecx
push 1
push 0
push dword [ebp + 0x70]
push esi
push dword [ebp + 0x68]
push dword [ebp + 0x64]
push eax
push ebx
call fcn.004550d4
add esp, 0x24
cmp eax, 1
je 0x4567b4
test eax, eax
je 0x4551f0
cmp eax, 0xfffffc1c
jne 0x45710d
xor ecx, ecx
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
test ecx, ecx
jne 0x4567d1
cmp byte [edi], 0x53
je 0x4567d1
add edi, 3
jmp 0x45511f
mov edi, dword [esi + 0x74]
test edi, edi
je 0x456ae8
cmp dword [edi + 4], 0
jne 0x456ae8
mov eax, dword [edi]
mov dword [esi + 0x74], eax
mov eax, dword [edi + 0x14]
shl eax, 2
push eax
push dword [edi + 0x10]
push dword [esi + 0xc]
call fcn.00457ea0
mov eax, dword [edi + 0xc]
mov edi, dword [edi + 8]
mov dword [ebp + 0x64], eax
mov eax, dword [ebp + 0x38]
add esp, 0xc
mov dword [ebp + 0x70], eax
jmp 0x45511f
movzx eax, byte [edi + 1]
mov dword [ebp + 0x70], eax
inc edi
inc edi
jmp 0x45511f
mov eax, dword [ebp + 0x7c]
inc eax
push eax
push 0
push 0
push dword [ebp + 0x70]
lea eax, [edi + 3]
push esi
push dword [ebp + 0x68]
push dword [ebp + 0x64]
push eax
push ebx
call fcn.004550d4
add esp, 0x24
cmp eax, 1
je 0x4552a9
test eax, eax
je 0x45529a
cmp eax, 0xfffffc1c
jne 0x45710d
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
cmp byte [edi], 0x53
je case.0x455157.87
cmp byte [edi], 0x54
je case.0x455157.108
test byte [ebp + 0x78], 1
jne 0x455322
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
cmp byte [edi], 0x53
je 0x4552b8
mov eax, dword [esi + 0x60]
add edi, 3
mov dword [ebp + 0x68], eax
jmp 0x45511f
mov eax, dword [ebp + 0x7c]
inc eax
push eax
push 0
push 0
push dword [ebp + 0x70]
lea eax, [edi + 3]
push esi
push dword [ebp + 0x68]
push dword [ebp + 0x64]
push eax
push ebx
call fcn.004550d4
add esp, 0x24
cmp eax, 1
je case.0x455157.108
test eax, eax
je 0x455309
cmp eax, 0xfffffc1c
jne 0x45710d
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
cmp byte [edi], 0x53
je case.0x455157.88
test byte [ebp + 0x78], 1
je 0x45520d
xor eax, eax
inc eax
jmp 0x45710d
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
sub ebx, eax
cmp ebx, dword [esi + 0x50]
jae 0x45520d
xor eax, eax
jmp 0x45710d
add edi, 6
jmp 0x45511f
mov dword [ebp + 0x6c], edi
mov dword [ebp + 0x44], ebx
mov eax, dword [ebp + 0x7c]
inc eax
push eax
push 0
push dword [ebp + 0x74]
lea eax, [edi + 3]
push dword [ebp + 0x70]
push esi
push dword [ebp + 0x68]
push dword [ebp + 0x64]
push eax
push ebx
call fcn.004550d4
add esp, 0x24
cmp eax, 1
je 0x455396
test eax, eax
je 0x455387
cmp eax, 0xfffffc1c
jne 0x45710d
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
cmp byte [edi], 0x53
je 0x455352
mov al, byte [edi]
cmp al, 0x5c
je 0x4553a0
cmp al, 0x53
jne case.0x455157.108
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
cmp byte [edi], 0x53
je 0x4553a0
cmp byte [edi], 0x54
mov eax, dword [esi + 0x60]
mov ebx, dword [esi + 0x5c]
mov dword [ebp + 0x68], eax
je 0x45520d
cmp ebx, dword [ebp + 0x44]
je 0x45520d
lea eax, [edi + 3]
cmp byte [eax], 0x18
mov dword [ebp + 0x40], eax
jne 0x4553e4
mov ecx, dword [ebp + 0x70]
movzx eax, byte [edi + 4]
and ecx, 0xfffffff8
or eax, ecx
mov dword [ebp + 0x70], eax
mov eax, dword [ebp + 0x7c]
inc eax
cmp byte [edi], 0x56
push eax
jne 0x45688c
push 0
push dword [ebp + 0x74]
push dword [ebp + 0x70]
push esi
push dword [ebp + 0x68]
push dword [ebp + 0x64]
push dword [ebp + 0x40]
push ebx
call fcn.004550d4
add esp, 0x24
test eax, eax
jne 0x45710d
mov edi, dword [ebp + 0x6c]
jmp 0x4568de
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
cmp byte [edi], 0x53
je case.0x455157.83
jmp 0x45511f
mov eax, dword [ebp + 0x7c]
inc edi
inc eax
push eax
push 0
push dword [ebp + 0x74]
push dword [ebp + 0x70]
push esi
push dword [ebp + 0x68]
push dword [ebp + 0x64]
push edi
push ebx
call fcn.004550d4
add esp, 0x24
test eax, eax
jne 0x45710d
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
cmp byte [edi], 0x53
je 0x455458
jmp 0x45520d
inc edi
mov eax, edi
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
add eax, ecx
cmp byte [eax], 0x53
je 0x45546f
mov ecx, dword [ebp + 0x7c]
inc ecx
push ecx
push 0
push dword [ebp + 0x74]
add eax, 3
push dword [ebp + 0x70]
push esi
push dword [ebp + 0x68]
push dword [ebp + 0x64]
push eax
push ebx
call fcn.004550d4
add esp, 0x24
test eax, eax
jne 0x45710d
jmp 0x45511f
xor ecx, ecx
mov ch, byte [edi + 1]
mov eax, edi
mov cl, byte [edi + 2]
sub eax, ecx
mov cl, byte [eax]
cmp cl, 0x60
mov dword [ebp + 0x6c], eax
jb 0x4554d5
mov edx, dword [ebp + 0x74]
mov edx, dword [edx + 4]
mov dword [ebp + 0x44], edx
mov edx, dword [ebp + 0x74]
mov edx, dword [edx]
mov dword [ebp + 0x74], edx
jmp 0x4554d9
and dword [ebp + 0x44], 0
cmp cl, 0x57
je 0x456c6a
cmp cl, 0x58
je 0x456c6a
cmp cl, 0x59
je 0x456c6a
cmp cl, 0x5a
je 0x456c6a
cmp cl, 0x5c
je 0x456c6a
cmp cl, 0x5e
je 0x455514
cmp cl, 0x61
jne 0x4555a4
xor edx, edx
mov dh, byte [eax + 3]
mov dl, byte [eax + 4]
lea ecx, [edx + edx]
cmp ecx, dword [esi + 0x14]
mov dword [ebp + 0x3c], edx
mov dword [esi + 0x64], edx
jl 0x455533
mov dword [esi + 0x2c], 1
jmp 0x455565
mov edx, dword [esi + 0x10]
sub edx, dword [ebp + 0x3c]
mov eax, dword [esi + 0xc]
mov edx, dword [eax + edx*4]
shl ecx, 2
mov dword [eax + ecx], edx
mov edx, dword [esi + 0xc]
mov eax, ebx
sub eax, dword [esi + 0x50]
mov dword [edx + ecx + 4], eax
mov edx, dword [ebp + 0x3c]
lea eax, [edx + edx]
cmp dword [ebp + 0x68], eax
jg 0x455562
add eax, 2
mov dword [ebp + 0x68], eax
mov eax, dword [ebp + 0x6c]
mov ecx, dword [esi + 0x74]
test ecx, ecx
mov dword [ebp + 0x40], ecx
je 0x4555a4
cmp dword [ecx + 4], edx
jne 0x4555a4
mov edi, ecx
mov eax, dword [edi]
mov dword [esi + 0x74], eax
mov eax, dword [edi + 0xc]
mov dword [ebp + 0x64], eax
mov eax, dword [edi + 0x14]
shl eax, 2
push eax
push dword [edi + 0x10]
push dword [esi + 0xc]
call fcn.004576b0
mov eax, dword [ebp + 0x38]
mov edi, dword [edi + 8]
add esp, 0xc
mov dword [ebp + 0x70], eax
jmp 0x45511f
cmp byte [edi], 0x54
mov ecx, dword [ebp + 0x38]
mov dword [ebp + 0x70], ecx
je 0x45520d
cmp ebx, dword [ebp + 0x44]
je 0x45520d
cmp byte [eax], 0x60
sbb eax, eax
and eax, 0xfffffffe
inc eax
inc eax
cmp byte [edi], 0x56
mov dword [ebp + 0x78], eax
jne 0x4568b4
mov eax, dword [ebp + 0x7c]
inc eax
push eax
push 0
push dword [ebp + 0x74]
add edi, 3
push ecx
push esi
push dword [ebp + 0x68]
push dword [ebp + 0x64]
push edi
push ebx
call fcn.004550d4
add esp, 0x24
test eax, eax
jne 0x45710d
cmp dword [ebp + 0x78], eax
jne 0x456c4d
mov edi, dword [ebp + 0x6c]
jmp 0x4568e2
cmp dword [esi + 0x30], 0
je 0x455619
cmp ebx, dword [esi + 0x50]
je case.0x455157.108
test byte [ebp + 0x70], 2
je case.0x455157.1
mov ecx, dword [esi + 0x50]
cmp ebx, ecx
je 0x455683
cmp ebx, dword [esi + 0x54]
je case.0x455157.108
mov eax, dword [esi + 0x18]
test eax, eax
je 0x455656
cmp ebx, ecx
jbe case.0x455157.108
push 0
lea edx, [esi + 0x1c]
push edx
push ecx
push eax
push ebx
call fcn.0041b6c2
add esp, 0x14
test eax, eax
jmp 0x455995
mov eax, dword [esi + 0x1c]
add ecx, eax
cmp ebx, ecx
jb case.0x455157.108
mov ecx, ebx
sub ecx, eax
mov dl, byte [ecx]
cmp dl, byte [esi + 0x20]
jne case.0x455157.108
cmp eax, 1
je 0x455683
mov al, byte [ecx + 1]
cmp al, byte [esi + 0x21]
jne case.0x455157.108
inc edi
jmp 0x45511f
cmp ebx, dword [esi + 0x50]
jmp 0x45567d
mov eax, dword [esi + 0x68]
add eax, dword [esi + 0x50]
cmp ebx, eax
jmp 0x45567d
mov dword [ebp + 0x64], ebx
jmp 0x455683
test byte [ebp + 0x70], 2
je 0x4556e8
mov eax, dword [esi + 0x54]
cmp ebx, eax
jae 0x4556e2
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x4556c1
push 0
lea edx, [esi + 0x1c]
push edx
push eax
push ecx
push ebx
call fcn.0041b648
jmp 0x45564c
mov ecx, dword [esi + 0x1c]
sub eax, ecx
cmp ebx, eax
ja case.0x455157.108
mov al, byte [ebx]
cmp al, byte [esi + 0x20]
jne case.0x455157.108
cmp ecx, edx
je 0x455683
mov al, byte [ebx + 1]
jmp 0x45567a
cmp dword [esi + 0x34], 0
jmp 0x45567d
cmp dword [esi + 0x34], 0
jne case.0x455157.108
cmp dword [esi + 0x38], 0
jne case.0x455157.23
mov eax, dword [esi + 0x54]
cmp ebx, eax
je 0x455683
mov edx, dword [esi + 0x18]
test edx, edx
je 0x455737
cmp ebx, eax
jae case.0x455157.108
push 0
lea ecx, [esi + 0x1c]
push ecx
push eax
push edx
push ebx
call fcn.0041b648
add esp, 0x14
test eax, eax
je case.0x455157.108
jmp 0x455760
cmp ebx, dword [esi + 0x54]
jb case.0x455157.108
jmp 0x455683
mov ecx, dword [esi + 0x1c]
sub eax, ecx
cmp ebx, eax
ja case.0x455157.108
mov al, byte [ebx]
cmp al, byte [esi + 0x20]
jne case.0x455157.108
cmp ecx, 1
je 0x455760
mov al, byte [ebx + 1]
cmp al, byte [esi + 0x21]
jne case.0x455157.108
mov eax, dword [esi + 0x54]
sub eax, dword [esi + 0x1c]
jmp 0x455694
cmp ebx, dword [esi + 0x50]
je 0x455781
movzx eax, byte [ebx - 1]
mov ecx, dword [esi + 0x28]
test byte [eax + ecx], 0x10
je 0x455781
mov ecx, edx
jmp 0x455783
xor ecx, ecx
cmp ebx, dword [esi + 0x54]
jae 0x455799
movzx eax, byte [ebx]
mov edx, dword [esi + 0x28]
test byte [eax + edx], 0x10
je 0x455799
xor eax, eax
inc eax
jmp 0x45579b
xor eax, eax
mov dl, byte [edi]
inc edi
cmp dl, 5
jne 0x4557ac
xor edx, edx
cmp eax, ecx
sete dl
jmp 0x4557b3
xor edx, edx
cmp eax, ecx
setne dl
mov eax, edx
test eax, eax
je 0x45511f
jmp case.0x455157.108
test byte [ebp + 0x70], 4
jne case.0x455157.13
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x4557f1
mov eax, dword [esi + 0x54]
cmp ebx, eax
jae case.0x455157.13
push 0
lea edx, [esi + 0x1c]
push edx
push eax
push ecx
push ebx
call fcn.0041b648
add esp, 0x14
test eax, eax
jne case.0x455157.108
jmp case.0x455157.13
mov eax, dword [esi + 0x1c]
mov ecx, dword [esi + 0x54]
sub ecx, eax
cmp ebx, ecx
ja case.0x455157.13
mov cl, byte [ebx]
cmp cl, byte [esi + 0x20]
jne case.0x455157.13
cmp eax, edx
je case.0x455157.108
mov al, byte [ebx + 1]
cmp al, byte [esi + 0x21]
je case.0x455157.108
mov eax, ebx
inc ebx
cmp eax, dword [esi + 0x54]
jae case.0x455157.108
jmp 0x455683
cmp ebx, dword [esi + 0x54]
jae case.0x455157.108
movzx eax, byte [ebx]
mov ecx, dword [esi + 0x28]
inc ebx
test byte [eax + ecx], 4
jmp 0x45567d
cmp ebx, dword [esi + 0x54]
jae case.0x455157.108
movzx eax, byte [ebx]
mov ecx, dword [esi + 0x28]
inc ebx
test byte [eax + ecx], 4
jmp 0x455995
cmp ebx, dword [esi + 0x54]
jae case.0x455157.108
movzx eax, byte [ebx]
mov ecx, dword [esi + 0x28]
inc ebx
test byte [eax + ecx], 1
jmp 0x45567d
cmp ebx, dword [esi + 0x54]
jae case.0x455157.108
movzx eax, byte [ebx]
mov ecx, dword [esi + 0x28]
inc ebx
test byte [eax + ecx], 1
jmp 0x455995
cmp ebx, dword [esi + 0x54]
jae case.0x455157.108
movzx eax, byte [ebx]
mov ecx, dword [esi + 0x28]
inc ebx
test byte [eax + ecx], 0x10
jmp 0x45567d
cmp ebx, dword [esi + 0x54]
jae case.0x455157.108
movzx eax, byte [ebx]
mov ecx, dword [esi + 0x28]
inc ebx
test byte [eax + ecx], 0x10
jmp 0x455995
mov ecx, dword [esi + 0x54]
cmp ebx, ecx
jae case.0x455157.108
movzx eax, byte [ebx]
inc ebx
cmp eax, 0xa
je 0x455683
jbe case.0x455157.108
cmp eax, 0xc
jbe 0x455904
cmp eax, 0xd
je 0x45590d
cmp eax, 0x85
je 0x455904
cmp eax, 0x2027
jbe case.0x455157.108
cmp eax, 0x2029
ja case.0x455157.108
cmp dword [esi + 0x48], 0
jmp 0x45567d
cmp ebx, ecx
jae 0x455683
cmp byte [ebx], 0xa
jne 0x455683
inc ebx
jmp 0x455683
cmp ebx, dword [esi + 0x54]
jae case.0x455157.108
movzx eax, byte [ebx]
mov ecx, 0x180e
inc ebx
cmp eax, ecx
ja 0x455964
je case.0x455157.108
cmp eax, 9
je case.0x455157.108
cmp eax, 0x20
je case.0x455157.108
cmp eax, 0xa0
je case.0x455157.108
cmp eax, 0x1680
jmp 0x455995
cmp eax, 0x2000
jb 0x455683
cmp eax, 0x200a
jbe case.0x455157.108
cmp eax, 0x202f
je case.0x455157.108
cmp eax, 0x205f
je case.0x455157.108
cmp eax, 0x3000
je case.0x455157.108
jmp 0x455683
cmp ebx, dword [esi + 0x54]
jae case.0x455157.108
movzx eax, byte [ebx]
mov ecx, 0x180e
inc ebx
cmp eax, ecx
ja 0x4559e3
je 0x455683
cmp eax, 9
je 0x455683
cmp eax, 0x20
je 0x455683
cmp eax, 0xa0
je 0x455683
cmp eax, 0x1680
jmp 0x45567d
cmp eax, 0x2000
jb case.0x455157.108
cmp eax, 0x200a
jbe 0x455683
cmp eax, 0x202f
je 0x455683
cmp eax, 0x205f
je 0x455683
cmp eax, 0x3000
jmp 0x45567d
cmp ebx, dword [esi + 0x54]
jae case.0x455157.108
movzx eax, byte [ebx]
inc ebx
cmp eax, 0xa
jb 0x455683
cmp eax, 0xd
jbe case.0x455157.108
cmp eax, 0x85
je case.0x455157.108
cmp eax, 0x2027
jbe 0x455683
cmp eax, 0x2029
jbe case.0x455157.108
jmp 0x455683
cmp ebx, dword [esi + 0x54]
jae case.0x455157.108
movzx eax, byte [ebx]
inc ebx
cmp eax, 0xa
jb case.0x455157.108
cmp eax, 0xd
jbe 0x455683
cmp eax, 0x85
je 0x455683
cmp eax, 0x2027
jbe case.0x455157.108
cmp eax, 0x2029
ja case.0x455157.108
jmp 0x455683
xor eax, eax
mov ah, byte [edi + 1]
add edi, 3
mov al, byte [edi - 1]
shl eax, 1
cmp eax, dword [ebp + 0x68]
mov dword [ebp + 0x40], eax
jge 0x455acb
mov ecx, dword [esi + 0xc]
lea eax, [ecx + eax*4]
mov ecx, dword [eax]
test ecx, ecx
jl 0x455acb
mov edx, dword [eax + 4]
sub edx, ecx
jmp 0x455ad1
mov edx, dword [esi + 0x54]
sub edx, ebx
inc edx
mov al, byte [edi]
cmp al, 0x45
mov dword [ebp + 0x3c], edx
jb 0x455bac
cmp al, 0x4a
jbe 0x455b1a
cmp al, 0x4c
ja 0x455bac
xor ecx, ecx
cmp al, 0x4c
sete cl
xor eax, eax
mov ah, byte [edi + 3]
mov dword [ebp + 0x48], ecx
xor ecx, ecx
mov ch, byte [edi + 1]
mov al, byte [edi + 4]
mov cl, byte [edi + 2]
test eax, eax
mov dword [ebp + 0x50], eax
mov dword [ebp + 0x44], ecx
jne 0x455b15
mov dword [ebp + 0x50], 0x7fffffff
add edi, 5
jmp 0x455b48
movzx eax, al
sub eax, 0x45
mov ecx, eax
and ecx, 1
mov dword [ebp + 0x48], ecx
movsx ecx, byte [eax + 0x4615a4]
movsx eax, byte [eax + 0x4615ac]
inc edi
test eax, eax
mov dword [ebp + 0x44], ecx
mov dword [ebp + 0x50], eax
jne 0x455b48
mov dword [ebp + 0x50], 0x7fffffff
test edx, edx
je 0x45511f
xor eax, eax
inc eax
cmp ecx, eax
mov dword [ebp + 0x6c], eax
jl 0x455b86
push dword [ebp + 0x70]
mov eax, dword [ebp + 0x3c]
mov edx, dword [ebp + 0x40]
push ebx
mov ecx, esi
call fcn.00455076
test eax, eax
pop ecx
pop ecx
je case.0x455157.108
add ebx, dword [ebp + 0x3c]
inc dword [ebp + 0x6c]
mov eax, dword [ebp + 0x6c]
cmp eax, dword [ebp + 0x44]
jle 0x455b5a
mov ecx, dword [ebp + 0x44]
cmp ecx, dword [ebp + 0x50]
je 0x45511f
cmp dword [ebp + 0x48], 0
je 0x456cca
mov eax, dword [ebp + 0x44]
mov dword [ebp + 0x6c], eax
mov eax, dword [ebp + 0x7c]
inc eax
mov dword [ebp + 0x4c], eax
push eax
jmp 0x456ca8
push dword [ebp + 0x70]
mov eax, dword [ebp + 0x3c]
mov edx, dword [ebp + 0x40]
push ebx
mov ecx, esi
call fcn.00455076
test eax, eax
pop ecx
pop ecx
je case.0x455157.108
add ebx, dword [ebp + 0x3c]
jmp 0x45511f
lea eax, [edi + 1]
add edi, 0x21
mov dword [ebp + 0x40], eax
mov al, byte [edi]
cmp al, 0x45
jb 0x455c45
cmp al, 0x4a
jbe 0x455c16
cmp al, 0x4c
ja 0x455c45
xor ecx, ecx
cmp al, 0x4c
sete cl
xor eax, eax
mov ah, byte [edi + 3]
mov dword [ebp + 0x48], ecx
xor ecx, ecx
mov ch, byte [edi + 1]
mov al, byte [edi + 4]
mov cl, byte [edi + 2]
test eax, eax
mov dword [ebp + 0x50], eax
mov dword [ebp + 0x44], ecx
jne 0x455c11
mov dword [ebp + 0x50], 0x7fffffff
add edi, 5
jmp 0x455c4d
movzx eax, al
sub eax, 0x45
mov ecx, eax
and ecx, edx
mov dword [ebp + 0x48], ecx
movsx ecx, byte [eax + 0x4615a4]
movsx eax, byte [eax + 0x4615ac]
inc edi
test eax, eax
mov dword [ebp + 0x44], ecx
mov dword [ebp + 0x50], eax
jne 0x455c4d
mov dword [ebp + 0x50], 0x7fffffff
jmp 0x455c4d
mov ecx, edx
mov dword [ebp + 0x50], edx
mov dword [ebp + 0x44], ecx
cmp ecx, edx
mov dword [ebp + 0x6c], edx
jl 0x455c87
cmp ebx, dword [esi + 0x54]
jae case.0x455157.108
movzx eax, byte [ebx]
mov ecx, eax
xor edx, edx
and ecx, 7
inc edx
shl edx, cl
mov ecx, dword [ebp + 0x40]
shr eax, 3
mov al, byte [eax + ecx]
inc ebx
test al, dl
je case.0x455157.108
inc dword [ebp + 0x6c]
mov ecx, dword [ebp + 0x44]
cmp dword [ebp + 0x6c], ecx
jle 0x455c54
cmp ecx, dword [ebp + 0x50]
je 0x45511f
cmp dword [ebp + 0x48], 0
mov dword [ebp + 0x6c], ecx
je 0x456d97
mov eax, dword [ebp + 0x7c]
inc eax
mov dword [ebp + 0x4c], eax
push eax
jmp 0x456d75
mov eax, dword [esi + 0x54]
sub eax, ebx
cmp eax, edx
jl case.0x455157.108
mov al, byte [ebx]
inc ebx
cmp byte [edi + 1], al
jmp 0x455cdd
mov eax, dword [esi + 0x54]
sub eax, ebx
cmp eax, edx
jl case.0x455157.108
movzx edx, byte [ebx]
mov eax, dword [esi + 0x24]
movzx ecx, byte [edi + 1]
mov dl, byte [edx + eax]
inc ebx
cmp byte [ecx + eax], dl
jne case.0x455157.108
jmp 0x45525f
xor ecx, ecx
mov ch, byte [edi + 1]
mov cl, byte [edi + 2]
mov dword [ebp + 0x50], ecx
jmp 0x455d10
mov dword [ebp + 0x4c], edx
xor eax, eax
mov ah, byte [edi + 1]
xor ecx, ecx
mov al, byte [edi + 2]
mov dword [ebp + 0x50], eax
xor eax, eax
cmp byte [edi], 0x25
sete al
mov dword [ebp + 0x48], eax
add edi, 3
jmp 0x455d62
mov dword [ebp + 0x4c], 1
xor ecx, ecx
jmp 0x455d26
xor ecx, ecx
inc ecx
mov dword [ebp + 0x4c], ecx
inc edi
jmp 0x455d5b
xor eax, eax
inc eax
xor ecx, ecx
mov dword [ebp + 0x4c], eax
mov dword [ebp + 0x50], eax
inc edi
jmp 0x455d62
movzx eax, byte [edi]
sub eax, 0x1e
mov ecx, eax
and ecx, 1
mov dword [ebp + 0x48], ecx
movsx ecx, byte [eax + 0x4615a4]
movsx eax, byte [eax + 0x4615ac]
inc edi
test eax, eax
mov dword [ebp + 0x50], eax
jne 0x455d62
mov dword [ebp + 0x50], 0x7fffffff
mov eax, dword [esi + 0x54]
sub eax, ebx
cmp ecx, eax
jg case.0x455157.108
movzx edx, byte [edi]
inc edi
test byte [ebp + 0x70], 1
mov dword [ebp + 0x44], edx
je 0x455e2c
mov eax, dword [esi + 0x24]
movzx eax, byte [eax + edx]
mov dword [ebp + 0x44], eax
xor eax, eax
inc eax
cmp ecx, eax
mov dword [ebp + 0x6c], eax
jl 0x455db0
movzx edx, byte [ebx]
mov eax, dword [esi + 0x24]
movzx eax, byte [edx + eax]
inc ebx
cmp dword [ebp + 0x44], eax
jne case.0x455157.108
inc dword [ebp + 0x6c]
cmp dword [ebp + 0x6c], ecx
jle 0x455d94
cmp ecx, dword [ebp + 0x50]
je 0x45511f
cmp dword [ebp + 0x48], 0
jne 0x456e09
mov dword [ebp + 0x48], ebx
jmp 0x455dde
cmp ebx, dword [esi + 0x54]
jae 0x455de3
movzx edx, byte [ebx]
mov eax, dword [esi + 0x24]
movzx eax, byte [edx + eax]
cmp dword [ebp + 0x44], eax
jne 0x455de3
inc ebx
inc ecx
cmp ecx, dword [ebp + 0x50]
jl 0x455dc8
cmp dword [ebp + 0x4c], 0
jne 0x45511f
cmp ebx, dword [ebp + 0x48]
jb case.0x455157.108
mov eax, dword [ebp + 0x7c]
inc eax
mov dword [ebp + 0x4c], eax
push dword [ebp + 0x4c]
push 0
push dword [ebp + 0x74]
push dword [ebp + 0x70]
push esi
push dword [ebp + 0x68]
push dword [ebp + 0x64]
push edi
push ebx
call fcn.004550d4
add esp, 0x24
dec ebx
test eax, eax
jne 0x45710d
cmp ebx, dword [ebp + 0x48]
jae 0x455dfd
jmp case.0x455157.108
xor eax, eax
inc eax
cmp ecx, eax
mov dword [ebp + 0x6c], eax
jl 0x455e4a
movzx eax, byte [ebx]
inc ebx
cmp edx, eax
jne case.0x455157.108
inc dword [ebp + 0x6c]
cmp dword [ebp + 0x6c], ecx
jle 0x455e36
cmp ecx, dword [ebp + 0x50]
je 0x45511f
cmp dword [ebp + 0x48], 0
jne 0x456e67
cmp ecx, dword [ebp + 0x50]
mov dword [ebp + 0x48], ebx
mov eax, ecx
jge 0x455e7a
cmp ebx, dword [esi + 0x54]
jae 0x455e7a
movzx ecx, byte [ebx]
cmp edx, ecx
jne 0x455e7a
inc ebx
inc eax
cmp eax, dword [ebp + 0x50]
jl 0x455e67
cmp dword [ebp + 0x4c], 0
jne 0x45511f
cmp ebx, dword [ebp + 0x48]
jb case.0x455157.108
mov eax, dword [ebp + 0x7c]
inc eax
mov dword [ebp + 0x4c], eax
push dword [ebp + 0x4c]
push 0
push dword [ebp + 0x74]
push dword [ebp + 0x70]
push esi
push dword [ebp + 0x68]
push dword [ebp + 0x64]
push edi
push ebx
call fcn.004550d4
add esp, 0x24
dec ebx
test eax, eax
jne 0x45710d
cmp ebx, dword [ebp + 0x48]
jae 0x455e94
jmp case.0x455157.108
cmp ebx, dword [esi + 0x54]
jae case.0x455157.108
movzx ecx, byte [ebx]
inc edi
inc ebx
test byte [ebp + 0x70], 1
je 0x455ee6
mov eax, dword [esi + 0x24]
movzx edx, byte [edi]
mov cl, byte [eax + ecx]
inc edi
cmp byte [edx + eax], cl
jmp 0x455eec
movzx eax, byte [edi]
inc edi
cmp eax, ecx
jne 0x45511f
jmp case.0x455157.108
xor ecx, ecx
mov ch, byte [edi + 1]
mov cl, byte [edi + 2]
mov dword [ebp + 0x50], ecx
jmp 0x455f54
xor eax, eax
mov ah, byte [edi + 1]
xor ecx, ecx
mov al, byte [edi + 2]
mov dword [ebp + 0x50], eax
xor eax, eax
cmp byte [edi], 0x32
sete al
mov dword [ebp + 0x48], eax
jmp 0x455f54
mov dword [ebp + 0x4c], 1
xor ecx, ecx
jmp 0x455f2f
xor ecx, ecx
inc ecx
mov dword [ebp + 0x4c], ecx
inc edi
jmp 0x455f7d
xor eax, eax
inc eax
xor ecx, ecx
mov dword [ebp + 0x4c], eax
mov dword [ebp + 0x50], eax
inc edi
jmp 0x455f84
xor ecx, ecx
xor eax, eax
mov ah, byte [edi + 1]
mov dword [ebp + 0x4c], 1
mov al, byte [edi + 2]
mov dword [ebp + 0x50], eax
add edi, 3
jmp 0x455f84
movzx eax, byte [edi]
sub eax, 0x2b
mov ecx, eax
and ecx, 1
mov dword [ebp + 0x48], ecx
movsx ecx, byte [eax + 0x4615a4]
movsx eax, byte [eax + 0x4615ac]
inc edi
test eax, eax
mov dword [ebp + 0x50], eax
jne 0x455f84
mov dword [ebp + 0x50], 0x7fffffff
mov eax, dword [esi + 0x54]
sub eax, ebx
cmp ecx, eax
jg case.0x455157.108
movzx edx, byte [edi]
inc edi
test byte [ebp + 0x70], 1
mov dword [ebp + 0x44], edx
je 0x45604e
mov eax, dword [esi + 0x24]
movzx eax, byte [eax + edx]
mov dword [ebp + 0x44], eax
xor eax, eax
inc eax
cmp ecx, eax
mov dword [ebp + 0x6c], eax
jl 0x455fd2
movzx edx, byte [ebx]
mov eax, dword [esi + 0x24]
movzx eax, byte [edx + eax]
inc ebx
cmp dword [ebp + 0x44], eax
je case.0x455157.108
inc dword [ebp + 0x6c]
cmp dword [ebp + 0x6c], ecx
jle 0x455fb6
cmp ecx, dword [ebp + 0x50]
je 0x45511f
cmp dword [ebp + 0x48], 0
jne 0x456ebe
mov dword [ebp + 0x48], ebx
jmp 0x456000
cmp ebx, dword [esi + 0x54]
jae 0x456005
movzx edx, byte [ebx]
mov eax, dword [esi + 0x24]
movzx eax, byte [edx + eax]
cmp dword [ebp + 0x44], eax
je 0x456005
inc ebx
inc ecx
cmp ecx, dword [ebp + 0x50]
jl 0x455fea
cmp dword [ebp + 0x4c], 0
jne 0x45511f
cmp ebx, dword [ebp + 0x48]
jb case.0x455157.108
mov eax, dword [ebp + 0x7c]
inc eax
mov dword [ebp + 0x4c], eax
push dword [ebp + 0x4c]
push 0
push dword [ebp + 0x74]
push dword [ebp + 0x70]
push esi
push dword [ebp + 0x68]
push dword [ebp + 0x64]
push edi
push ebx
call fcn.004550d4
add esp, 0x24
test eax, eax
jne 0x45710d
dec ebx
cmp ebx, dword [ebp + 0x48]
jae 0x45601f
jmp case.0x455157.108
xor eax, eax
inc eax
cmp ecx, eax
mov dword [ebp + 0x6c], eax
jl 0x45606c
movzx eax, byte [ebx]
inc ebx
cmp edx, eax
je case.0x455157.108
inc dword [ebp + 0x6c]
cmp dword [ebp + 0x6c], ecx
jle 0x456058
cmp ecx, dword [ebp + 0x50]
je 0x45511f
cmp dword [ebp + 0x48], 0
jne 0x456f1c
cmp ecx, dword [ebp + 0x50]
mov dword [ebp + 0x48], ebx
mov eax, ecx
jge 0x45609c
cmp ebx, dword [esi + 0x54]
jae 0x45609c
movzx ecx, byte [ebx]
cmp edx, ecx
je 0x45609c
inc ebx
inc eax
cmp eax, dword [ebp + 0x50]
jl 0x456089
cmp dword [ebp + 0x4c], 0
jne 0x45511f
cmp ebx, dword [ebp + 0x48]
jb case.0x455157.108
mov eax, dword [ebp + 0x7c]
inc eax
mov dword [ebp + 0x4c], eax
push dword [ebp + 0x4c]
push 0
push dword [ebp + 0x74]
push dword [ebp + 0x70]
push esi
push dword [ebp + 0x68]
push dword [ebp + 0x64]
push edi
push ebx
call fcn.004550d4
add esp, 0x24
test eax, eax
jne 0x45710d
dec ebx
cmp ebx, dword [ebp + 0x48]
jae 0x4560b6
jmp case.0x455157.108
xor ecx, ecx
mov ch, byte [edi + 1]
mov dword [ebp + 0x48], 1
mov cl, byte [edi + 2]
mov dword [ebp + 0x50], ecx
jmp 0x45614f
xor eax, eax
mov ah, byte [edi + 1]
xor ecx, ecx
mov al, byte [edi + 2]
mov dword [ebp + 0x50], eax
xor eax, eax
cmp byte [edi], 0x3f
sete al
mov dword [ebp + 0x48], eax
jmp 0x45614f
mov dword [ebp + 0x4c], 1
xor ecx, ecx
jmp 0x456124
xor ecx, ecx
inc ecx
mov dword [ebp + 0x4c], ecx
mov dword [ebp + 0x44], ecx
inc edi
jmp 0x45617e
xor eax, eax
inc eax
xor ecx, ecx
mov dword [ebp + 0x4c], eax
mov dword [ebp + 0x44], ecx
mov dword [ebp + 0x50], eax
inc edi
jmp 0x456185
xor ecx, ecx
xor eax, eax
mov ah, byte [edi + 1]
mov dword [ebp + 0x4c], 1
mov al, byte [edi + 2]
mov dword [ebp + 0x50], eax
mov dword [ebp + 0x44], ecx
add edi, 3
jmp 0x456185
movzx eax, byte [edi]
sub eax, 0x38
mov ecx, eax
and ecx, 1
mov dword [ebp + 0x48], ecx
movsx ecx, byte [eax + 0x4615a4]
movsx eax, byte [eax + 0x4615ac]
inc edi
test eax, eax
mov dword [ebp + 0x44], ecx
mov dword [ebp + 0x50], eax
jne 0x456185
mov dword [ebp + 0x50], 0x7fffffff
movzx eax, byte [edi]
mov edx, dword [esi + 0x54]
mov dword [ebp + 0x40], eax
mov eax, edx
sub eax, ebx
inc edi
cmp ecx, eax
jg case.0x455157.108
test ecx, ecx
jle 0x456487
mov eax, dword [ebp + 0x40]
add eax, 0xfffffffa
cmp eax, 0xe
ja case.0x456ffd.14
jmp dword [eax*4 + 0x457293]
test byte [ebp + 0x70], 4
jne case.0x4561b2.13
xor eax, eax
inc eax
cmp ecx, eax
mov dword [ebp + 0x6c], eax
jl 0x456487
mov edx, dword [esi + 0x18]
test edx, edx
je 0x4561f9
mov eax, dword [esi + 0x54]
cmp ebx, eax
jae 0x456221
push 0
lea ecx, [esi + 0x1c]
push ecx
push eax
push edx
push ebx
call fcn.0041b648
add esp, 0x14
test eax, eax
jne case.0x455157.108
mov ecx, dword [ebp + 0x44]
jmp 0x456221
mov eax, dword [esi + 0x1c]
mov edx, dword [esi + 0x54]
sub edx, eax
cmp ebx, edx
ja 0x456221
mov dl, byte [ebx]
cmp dl, byte [esi + 0x20]
jne 0x456221
cmp eax, 1
je case.0x455157.108
mov al, byte [ebx + 1]
cmp al, byte [esi + 0x21]
je case.0x455157.108
inc ebx
inc dword [ebp + 0x6c]
cmp dword [ebp + 0x6c], ecx
jle 0x4561cd
jmp 0x456487
add ebx, ecx
jmp 0x456487
cmp ecx, 1
mov dword [ebp + 0x6c], 1
jl 0x456487
cmp ebx, edx
jae case.0x455157.108
movzx eax, byte [ebx]
inc ebx
cmp eax, 0xa
je 0x45627c
jle case.0x455157.108
cmp eax, 0xc
jle 0x456272
cmp eax, 0xd
je 0x456289
cmp eax, 0x85
jne case.0x455157.108
cmp dword [esi + 0x48], 0
jne case.0x455157.108
inc dword [ebp + 0x6c]
cmp dword [ebp + 0x6c], ecx
jle 0x456246
jmp 0x456487
cmp ebx, edx
jae 0x45627c
cmp byte [ebx], 0xa
jne 0x45627c
inc ebx
jmp 0x45627c
xor edx, edx
inc edx
cmp ecx, edx
jl 0x456487
cmp ebx, dword [esi + 0x54]
jae case.0x455157.108
movzx eax, byte [ebx]
inc ebx
cmp eax, 9
je case.0x455157.108
cmp eax, 0x20
je case.0x455157.108
cmp eax, 0xa0
je case.0x455157.108
inc edx
cmp edx, ecx
jle 0x4562a0
jmp 0x456487
xor edx, edx
inc edx
cmp ecx, edx
jl 0x456487
cmp ebx, dword [esi + 0x54]
jae case.0x455157.108
movzx eax, byte [ebx]
inc ebx
cmp eax, 9
je 0x456301
cmp eax, 0x20
je 0x456301
cmp eax, 0xa0
jne case.0x455157.108
inc edx
cmp edx, ecx
jle 0x4562df
jmp 0x456487
xor edx, edx
inc edx
cmp ecx, edx
jl 0x456487
cmp ebx, dword [esi + 0x54]
jae case.0x455157.108
movzx eax, byte [ebx]
inc ebx
cmp eax, 0xa
jl 0x45633c
cmp eax, 0xd
jle case.0x455157.108
cmp eax, 0x85
je case.0x455157.108
inc edx
cmp edx, ecx
jle 0x456316
jmp 0x456487
xor edx, edx
inc edx
cmp ecx, edx
jl 0x456487
cmp ebx, dword [esi + 0x54]
jae case.0x455157.108
movzx eax, byte [ebx]
inc ebx
cmp eax, 0xa
jl case.0x455157.108
cmp eax, 0xd
jle 0x456377
cmp eax, 0x85
jne case.0x455157.108
inc edx
cmp edx, ecx
jle 0x456351
jmp 0x456487
xor eax, eax
inc eax
cmp ecx, eax
mov dword [ebp + 0x6c], eax
jl 0x456487
mov eax, dword [esi + 0x28]
movzx edx, byte [ebx]
mov dl, byte [edx + eax]
and dl, 4
inc ebx
test dl, dl
jne case.0x455157.108
inc dword [ebp + 0x6c]
cmp dword [ebp + 0x6c], ecx
jle 0x456392
jmp 0x456487
xor eax, eax
inc eax
cmp ecx, eax
mov dword [ebp + 0x6c], eax
jl 0x456487
mov eax, dword [esi + 0x28]
movzx edx, byte [ebx]
mov dl, byte [edx + eax]
and dl, 4
inc ebx
test dl, dl
je case.0x455157.108
inc dword [ebp + 0x6c]
cmp dword [ebp + 0x6c], ecx
jle 0x4563c2
jmp 0x456487
xor eax, eax
inc eax
cmp ecx, eax
mov dword [ebp + 0x6c], eax
jl 0x456487
mov eax, dword [esi + 0x28]
movzx edx, byte [ebx]
mov dl, byte [edx + eax]
and dl, 1
inc ebx
test dl, dl
jne case.0x455157.108
inc dword [ebp + 0x6c]
cmp dword [ebp + 0x6c], ecx
jle 0x4563f2
jmp 0x456487
xor eax, eax
inc eax
cmp ecx, eax
mov dword [ebp + 0x6c], eax
jl 0x456487
mov eax, dword [esi + 0x28]
movzx edx, byte [ebx]
mov dl, byte [edx + eax]
and dl, 1
inc ebx
test dl, dl
je case.0x455157.108
inc dword [ebp + 0x6c]
cmp dword [ebp + 0x6c], ecx
jle 0x45641b
jmp 0x456487
xor eax, eax
inc eax
cmp ecx, eax
mov dword [ebp + 0x6c], eax
jl 0x456487
mov eax, dword [esi + 0x28]
movzx edx, byte [ebx]
mov dl, byte [edx + eax]
and dl, 0x10
inc ebx
test dl, dl
jne case.0x455157.108
inc dword [ebp + 0x6c]
cmp dword [ebp + 0x6c], ecx
jle 0x456444
jmp 0x456487
xor eax, eax
inc eax
cmp ecx, eax
mov dword [ebp + 0x6c], eax
jl 0x456487
mov eax, dword [esi + 0x28]
movzx edx, byte [ebx]
mov dl, byte [edx + eax]
and dl, 0x10
inc ebx
test dl, dl
je case.0x455157.108
inc dword [ebp + 0x6c]
cmp dword [ebp + 0x6c], ecx
jle 0x45646d
mov edx, dword [ebp + 0x50]
cmp ecx, edx
je 0x45511f
cmp dword [ebp + 0x48], 0
jne 0x456f73
mov eax, dword [ebp + 0x40]
add eax, 0xfffffffa
cmp eax, 0xe
mov dword [ebp + 0x48], ebx
ja case.0x456ffd.14
jmp dword [eax*4 + 0x4572cf]
test byte [ebp + 0x70], 4
jne case.0x4564ae.13
cmp ecx, edx
mov dword [ebp + 0x6c], ecx
jge 0x45676b
mov eax, dword [esi + 0x54]
cmp ebx, eax
jae 0x45676b
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x4564f3
push 0
lea edx, [esi + 0x1c]
push edx
push eax
push ecx
push ebx
call fcn.0041b648
add esp, 0x14
test eax, eax
jne 0x45676b
jmp 0x456518
mov ecx, dword [esi + 0x1c]
sub eax, ecx
cmp ebx, eax
ja 0x456518
mov al, byte [ebx]
cmp al, byte [esi + 0x20]
jne 0x456518
cmp ecx, 1
je 0x45676b
mov al, byte [ebx + 1]
cmp al, byte [esi + 0x21]
je 0x45676b
inc ebx
inc dword [ebp + 0x6c]
mov eax, dword [ebp + 0x6c]
cmp eax, dword [ebp + 0x50]
jl 0x4564c6
jmp 0x45676b
mov eax, dword [esi + 0x54]
sub edx, ecx
mov ecx, edx
sub eax, ebx
cmp ecx, eax
jbe 0x456538
mov ecx, eax
add ebx, ecx
jmp 0x45676b
cmp ecx, edx
jge 0x45676b
mov edx, dword [esi + 0x54]
cmp ebx, edx
jae 0x45676b
movzx eax, byte [ebx]
cmp eax, 0xd
jne 0x45656a
inc ebx
cmp ebx, edx
jae 0x45676b
cmp byte [ebx], 0xa
jne 0x45658f
jmp 0x45658e
cmp eax, 0xa
je 0x45658e
cmp dword [esi + 0x48], 0
jne 0x45676b
cmp eax, 0xb
je 0x45658e
cmp eax, 0xc
je 0x45658e
cmp eax, 0x85
jne 0x45676b
inc ebx
inc ecx
cmp ecx, dword [ebp + 0x50]
jl 0x45654a
jmp 0x45676b
cmp ecx, edx
jge 0x45676b
mov edx, dword [esi + 0x54]
cmp ebx, edx
jae 0x45676b
movzx eax, byte [ebx]
cmp eax, 9
je 0x45676b
cmp eax, 0x20
je 0x45676b
cmp eax, 0xa0
je 0x45676b
inc ebx
inc ecx
cmp ecx, dword [ebp + 0x50]
jl 0x4565a5
jmp 0x45676b
cmp ecx, edx
jge 0x45676b
mov edx, dword [esi + 0x54]
cmp ebx, edx
jae 0x45676b
movzx eax, byte [ebx]
cmp eax, 9
je 0x456604
cmp eax, 0x20
je 0x456604
cmp eax, 0xa0
jne 0x45676b
inc ebx
inc ecx
cmp ecx, dword [ebp + 0x50]
jl 0x4565e4
jmp 0x45676b
cmp ecx, edx
jge 0x45676b
mov edx, dword [esi + 0x54]
cmp ebx, edx
jae 0x45676b
movzx eax, byte [ebx]
cmp eax, 0xa
je 0x45676b
cmp eax, 0xb
je 0x45676b
cmp eax, 0xc
je 0x45676b
cmp eax, 0xd
je 0x45676b
cmp eax, 0x85
je 0x45676b
inc ebx
inc ecx
cmp ecx, dword [ebp + 0x50]
jl 0x45661b
jmp 0x45676b
cmp ecx, edx
jge 0x45676b
mov edx, dword [esi + 0x54]
cmp ebx, edx
jae 0x45676b
movzx eax, byte [ebx]
cmp eax, 0xa
je 0x456696
cmp eax, 0xb
je 0x456696
cmp eax, 0xc
je 0x456696
cmp eax, 0xd
je 0x456696
cmp eax, 0x85
jne 0x45676b
inc ebx
inc ecx
cmp ecx, dword [ebp + 0x50]
jl 0x45666c
jmp 0x45676b
cmp ecx, edx
jge 0x45676b
cmp ebx, dword [esi + 0x54]
jae 0x45676b
movzx eax, byte [ebx]
mov edx, dword [esi + 0x28]
test byte [eax + edx], 4
jne 0x45676b
inc ebx
inc ecx
cmp ecx, dword [ebp + 0x50]
jl 0x4566aa
jmp 0x45676b
cmp ecx, edx
jge 0x45676b
cmp ebx, dword [esi + 0x54]
jae 0x45676b
movzx eax, byte [ebx]
mov edx, dword [esi + 0x28]
test byte [eax + edx], 4
je 0x45676b
inc ebx
inc ecx
cmp ecx, dword [ebp + 0x50]
jl 0x4566d7
jmp 0x45676b
cmp ecx, edx
jge 0x45676b
cmp ebx, dword [esi + 0x54]
jae 0x45676b
movzx eax, byte [ebx]
mov edx, dword [esi + 0x28]
test byte [eax + edx], 1
jne 0x45676b
inc ebx
inc ecx
cmp ecx, dword [ebp + 0x50]
jl 0x4566f9
jmp 0x45676b
cmp ecx, edx
jge 0x45676b
cmp ebx, dword [esi + 0x54]
jae 0x45676b
movzx eax, byte [ebx]
mov edx, dword [esi + 0x28]
test byte [eax + edx], 1
je 0x45676b
inc ebx
inc ecx
cmp ecx, dword [ebp + 0x50]
jl 0x456717
jmp 0x45676b
cmp ecx, edx
jge 0x45676b
cmp ebx, dword [esi + 0x54]
jae 0x45676b
movzx eax, byte [ebx]
mov edx, dword [esi + 0x28]
test byte [eax + edx], 0x10
jne 0x45676b
inc ebx
inc ecx
cmp ecx, dword [ebp + 0x50]
jl 0x456735
jmp 0x45676b
cmp ecx, edx
jge 0x45676b
cmp ebx, dword [esi + 0x54]
jae 0x45676b
movzx eax, byte [ebx]
mov edx, dword [esi + 0x28]
test byte [eax + edx], 0x10
je 0x45676b
inc ebx
inc ecx
cmp ecx, dword [ebp + 0x50]
jl 0x456753
cmp dword [ebp + 0x4c], 0
jne 0x45511f
cmp ebx, dword [ebp + 0x48]
jb case.0x455157.108
mov eax, dword [ebp + 0x7c]
inc eax
mov dword [ebp + 0x4c], eax
push dword [ebp + 0x4c]
push 0
push dword [ebp + 0x74]
push dword [ebp + 0x70]
push esi
push dword [ebp + 0x68]
push dword [ebp + 0x64]
push edi
push ebx
call fcn.004550d4
add esp, 0x24
dec ebx
test eax, eax
jne 0x45710d
cmp ebx, dword [ebp + 0x48]
jae 0x456785
jmp case.0x455157.108
xor eax, eax
mov ah, byte [edi + 4]
mov al, byte [edi + 5]
lea edi, [edi + eax + 3]
jmp 0x4567cc
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
cmp byte [edi], 0x53
je 0x4567c2
add edi, 3
cmp dword [ebp + 0x6c], 0x62
jne 0x4568de
mov eax, dword [ebp + 0x7c]
inc eax
push eax
push 2
push dword [ebp + 0x74]
push dword [ebp + 0x70]
push esi
push dword [ebp + 0x68]
push dword [ebp + 0x64]
push edi
jmp 0x456ada
xor eax, eax
mov ah, byte [edi + 3]
mov al, byte [edi + 4]
mov dword [ebp + 0x3c], eax
add eax, eax
cmp eax, dword [esi + 0x14]
jl 0x4569f4
cmp ecx, 0x60
jl 0x45681c
mov dword [ebp + 0x78], 2
jmp 0x456866
and dword [ebp + 0x78], 0
jmp 0x456866
mov eax, dword [ebp + 0x7c]
inc eax
push eax
push dword [ebp + 0x78]
movzx eax, byte [edi]
push dword [ebp + 0x74]
movzx eax, byte [eax + 0x4615b8]
push dword [ebp + 0x70]
add eax, edi
push esi
push dword [ebp + 0x68]
push dword [ebp + 0x64]
push eax
push ebx
call fcn.004550d4
add esp, 0x24
test eax, eax
je 0x45685c
cmp eax, 0xfffffc1c
jne 0x45710d
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
cmp byte [eax + edi], 0x53
je 0x456822
cmp dword [ebp + 0x78], 0
jne 0x456ab8
movzx eax, byte [edi]
movzx eax, byte [eax + 0x4615b8]
add edi, eax
jmp 0x4568e2
push 2
push dword [ebp + 0x74]
push dword [ebp + 0x70]
push esi
push dword [ebp + 0x68]
push dword [ebp + 0x64]
push dword [ebp + 0x6c]
push ebx
call fcn.004550d4
add esp, 0x24
test eax, eax
jne 0x45710d
mov edi, dword [ebp + 0x40]
jmp 0x4568de
mov ecx, dword [ebp + 0x7c]
inc ecx
push ecx
push eax
push dword [ebp + 0x74]
push dword [ebp + 0x38]
push esi
push dword [ebp + 0x68]
push dword [ebp + 0x64]
push dword [ebp + 0x6c]
push ebx
call fcn.004550d4
add esp, 0x24
test eax, eax
jne 0x45710d
add edi, 3
and dword [ebp + 0x78], 0
mov eax, dword [esi]
cmp eax, dword [esi + 4]
jb 0x4550f6
inc dword [esi]
push 0xfffffffffffffff8
jmp 0x45710c
push 0xffffffffffffffeb
jmp 0x45710c
mov eax, dword [ebp + 0x7c]
inc eax
push eax
push dword [ebp + 0x78]
movzx eax, byte [edi]
push dword [ebp + 0x74]
movzx eax, byte [eax + 0x4615b8]
push dword [ebp + 0x70]
add eax, edi
push esi
push dword [ebp + 0x68]
push dword [ebp + 0x64]
push eax
push ebx
call fcn.004550d4
add esp, 0x24
test eax, eax
jne 0x45710d
mov eax, 0xfffffc1a
jmp 0x45710d
mov eax, dword [ebp + 0x7c]
inc eax
push eax
push dword [ebp + 0x78]
movzx eax, byte [edi]
push dword [ebp + 0x74]
movzx eax, byte [eax + 0x4615b8]
push dword [ebp + 0x70]
add eax, edi
push esi
push dword [ebp + 0x68]
push dword [ebp + 0x64]
push eax
push ebx
call fcn.004550d4
add esp, 0x24
test eax, eax
jne 0x45710d
mov eax, 0xfffffc19
jmp 0x45710d
mov eax, dword [ebp + 0x7c]
inc eax
push eax
push dword [ebp + 0x78]
movzx eax, byte [edi]
push dword [ebp + 0x74]
movzx eax, byte [eax + 0x4615b8]
push dword [ebp + 0x70]
add eax, edi
push esi
push dword [ebp + 0x68]
push dword [ebp + 0x64]
push eax
push ebx
call fcn.004550d4
add esp, 0x24
test eax, eax
jne 0x45710d
mov dword [esi + 0x58], ebx
mov eax, 0xfffffc1b
jmp 0x45710d
mov eax, dword [ebp + 0x7c]
inc eax
push eax
push dword [ebp + 0x78]
movzx eax, byte [edi]
push dword [ebp + 0x74]
movzx eax, byte [eax + 0x4615b8]
push dword [ebp + 0x70]
add eax, edi
push esi
push dword [ebp + 0x68]
push dword [ebp + 0x64]
push eax
push ebx
call fcn.004550d4
add esp, 0x24
test eax, eax
jne 0x45710d
mov eax, 0xfffffc1c
jmp 0x45710d
mov ecx, eax
mov eax, dword [esi + 0xc]
shl ecx, 2
mov dword [ebp + 0x44], ecx
add ecx, eax
mov edx, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [ebp + 0x48], ecx
mov ecx, dword [esi + 0x10]
sub ecx, dword [ebp + 0x3c]
mov dword [ebp + 0x38], edx
lea eax, [eax + ecx*4]
mov ecx, dword [eax]
mov dword [ebp + 0x50], ecx
mov ecx, dword [esi + 0x64]
mov dword [ebp + 0x40], ecx
mov ecx, ebx
sub ecx, dword [esi + 0x50]
cmp dword [ebp + 0x6c], 0x61
mov dword [eax], ecx
jne 0x456a36
mov dword [ebp + 0x78], 2
jmp 0x456a3a
and dword [ebp + 0x78], 0
mov eax, dword [ebp + 0x7c]
inc eax
mov dword [ebp + 0x4c], eax
push dword [ebp + 0x4c]
movzx eax, byte [edi]
push dword [ebp + 0x78]
movzx eax, byte [eax + 0x4615b8]
push dword [ebp + 0x74]
add eax, edi
push dword [ebp + 0x70]
push esi
push dword [ebp + 0x68]
push dword [ebp + 0x64]
push eax
push ebx
call fcn.004550d4
add esp, 0x24
test eax, eax
je 0x456a79
cmp eax, 0xfffffc1c
jne 0x45710d
mov eax, dword [ebp + 0x40]
mov dword [esi + 0x64], eax
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
cmp byte [edi], 0x53
je 0x456a41
mov ecx, dword [esi + 0xc]
mov eax, dword [ebp + 0x44]
mov edx, dword [ebp + 0x38]
mov dword [eax + ecx], edx
mov ecx, dword [esi + 0xc]
mov edx, dword [ebp + 0x48]
mov dword [ecx + eax + 4], edx
mov eax, dword [esi + 0x10]
sub eax, dword [ebp + 0x3c]
mov ecx, dword [esi + 0xc]
mov edx, dword [ebp + 0x50]
mov dword [ecx + eax*4], edx
jmp case.0x455157.108
mov eax, dword [ebp + 0x7c]
inc eax
push eax
push dword [ebp + 0x78]
movzx eax, byte [edi]
push dword [ebp + 0x74]
movzx eax, byte [eax + 0x4615b8]
push dword [ebp + 0x70]
add eax, edi
push esi
push dword [ebp + 0x68]
push dword [ebp + 0x64]
push eax
push ebx
call fcn.004550d4
add esp, 0x24
jmp 0x45710d
cmp dword [esi + 0x3c], 0
je 0x456af7
cmp ebx, dword [ebp + 0x64]
je case.0x455157.108
mov eax, dword [ebp + 0x68]
mov dword [esi + 0x60], eax
mov eax, dword [ebp + 0x64]
mov dword [esi + 0x58], eax
mov dword [esi + 0x5c], ebx
mov eax, edx
jmp 0x45710d
mov eax, dword [esi + 0x4c]
xor ecx, ecx
mov ch, byte [edi + 1]
mov cl, byte [edi + 2]
add ecx, eax
cmp ecx, eax
mov dword [ebp + 0x6c], ecx
jne 0x456b27
and dword [ebp + 0x24], 0
jmp 0x456b32
xor eax, eax
mov ah, byte [ecx + 3]
mov al, byte [ecx + 4]
mov dword [ebp + 0x24], eax
mov eax, dword [esi + 0x74]
mov dword [ebp + 0x20], eax
lea eax, [ebp + 0x20]
mov dword [esi + 0x74], eax
mov eax, dword [esi + 0x10]
add edi, 3
cmp eax, 0x1e
mov dword [ebp + 0x28], edi
mov dword [ebp + 0x34], eax
jg 0x456b57
lea ecx, [ebp - 0x60]
mov dword [ebp + 0x30], ecx
jmp 0x456b73
shl eax, 2
push eax
call dword [0x466534]
test eax, eax
pop ecx
mov dword [ebp + 0x30], eax
jne 0x456b70
push 0xfffffffffffffffa
jmp 0x45710c
mov eax, dword [ebp + 0x34]
shl eax, 2
push eax
push dword [esi + 0xc]
push dword [ebp + 0x30]
call fcn.004576b0
mov eax, dword [ebp + 0x64]
mov ecx, dword [ebp + 0x7c]
mov dword [ebp + 0x2c], eax
mov eax, dword [ebp + 0x6c]
mov al, byte [eax]
add esp, 0xc
cmp al, 0x60
sbb edi, edi
and edi, 0xfffffffe
inc edi
inc edi
inc ecx
mov dword [ebp + 0x4c], ecx
push dword [ebp + 0x4c]
movzx eax, al
movzx eax, byte [eax + 0x4615b8]
add eax, dword [ebp + 0x6c]
push edi
push dword [ebp + 0x74]
push dword [ebp + 0x70]
push esi
push dword [ebp + 0x68]
push ebx
push eax
push ebx
call fcn.004550d4
add esp, 0x24
cmp eax, 1
je 0x456c2c
test eax, eax
je 0x456bda
cmp eax, 0xfffffc1c
jne 0x45710d
lea eax, [ebp + 0x20]
mov dword [esi + 0x74], eax
mov eax, dword [ebp + 0x34]
shl eax, 2
push eax
push dword [ebp + 0x30]
push dword [esi + 0xc]
call fcn.004576b0
mov eax, dword [ebp + 0x6c]
xor ecx, ecx
mov ch, byte [eax + 1]
add esp, 0xc
mov cl, byte [eax + 2]
add eax, ecx
mov dword [ebp + 0x6c], eax
mov al, byte [eax]
cmp al, 0x53
je 0x456ba0
mov eax, dword [ebp + 0x20]
mov dword [esi + 0x74], eax
lea eax, [ebp - 0x60]
cmp dword [ebp + 0x30], eax
je case.0x455157.108
push dword [ebp + 0x30]
call dword [0x466538]
pop ecx
jmp case.0x455157.108
mov eax, dword [ebp + 0x20]
mov dword [esi + 0x74], eax
lea eax, [ebp - 0x60]
cmp dword [ebp + 0x30], eax
je 0x455322
push dword [ebp + 0x30]
call dword [0x466538]
pop ecx
jmp 0x455322
mov eax, dword [ebp + 0x7c]
inc eax
push eax
push dword [ebp + 0x78]
push dword [ebp + 0x74]
push dword [ebp + 0x38]
push esi
push dword [ebp + 0x68]
push dword [ebp + 0x64]
push dword [ebp + 0x6c]
jmp 0x456ada
mov eax, dword [ebp + 0x68]
mov dword [esi + 0x5c], ebx
mov dword [esi + 0x60], eax
jmp 0x455322
mov eax, dword [ebp + 0x50]
cmp dword [ebp + 0x6c], eax
jge case.0x455157.108
push dword [ebp + 0x70]
mov eax, dword [ebp + 0x3c]
mov edx, dword [ebp + 0x40]
push ebx
mov ecx, esi
call fcn.00455076
test eax, eax
pop ecx
pop ecx
je case.0x455157.108
add ebx, dword [ebp + 0x3c]
inc dword [ebp + 0x6c]
push dword [ebp + 0x4c]
push 0
push dword [ebp + 0x74]
push dword [ebp + 0x70]
push esi
push dword [ebp + 0x68]
push dword [ebp + 0x64]
push edi
push ebx
call fcn.004550d4
add esp, 0x24
test eax, eax
je 0x456c78
jmp 0x45710d
cmp ecx, dword [ebp + 0x50]
mov dword [ebp + 0x48], ebx
mov dword [ebp + 0x6c], ecx
jge 0x456d03
push dword [ebp + 0x70]
mov eax, dword [ebp + 0x3c]
mov edx, dword [ebp + 0x40]
push ebx
mov ecx, esi
call fcn.00455076
test eax, eax
pop ecx
pop ecx
je 0x456cfa
add ebx, dword [ebp + 0x3c]
inc dword [ebp + 0x6c]
mov eax, dword [ebp + 0x6c]
cmp eax, dword [ebp + 0x50]
jl 0x456cd5
cmp ebx, dword [ebp + 0x48]
jb case.0x455157.108
mov eax, dword [ebp + 0x7c]
inc eax
mov dword [ebp + 0x4c], eax
push dword [ebp + 0x4c]
push 0
push dword [ebp + 0x74]
push dword [ebp + 0x70]
push esi
push dword [ebp + 0x68]
push dword [ebp + 0x64]
push edi
push ebx
call fcn.004550d4
add esp, 0x24
test eax, eax
jne 0x45710d
sub ebx, dword [ebp + 0x3c]
cmp ebx, dword [ebp + 0x48]
jae 0x456d0a
jmp case.0x455157.108
mov eax, dword [ebp + 0x50]
cmp dword [ebp + 0x6c], eax
jge case.0x455157.108
cmp ebx, dword [esi + 0x54]
jae case.0x455157.108
movzx eax, byte [ebx]
mov ecx, eax
xor edx, edx
and ecx, 7
inc edx
shl edx, cl
mov ecx, dword [ebp + 0x40]
shr eax, 3
mov al, byte [eax + ecx]
inc ebx
test al, dl
je case.0x455157.108
inc dword [ebp + 0x6c]
push dword [ebp + 0x4c]
push 0
push dword [ebp + 0x74]
push dword [ebp + 0x70]
push esi
push dword [ebp + 0x68]
push dword [ebp + 0x64]
push edi
push ebx
call fcn.004550d4
add esp, 0x24
test eax, eax
je 0x456d3b
jmp 0x45710d
cmp ecx, dword [ebp + 0x50]
mov dword [ebp + 0x48], ebx
jge 0x456dd3
cmp ebx, dword [esi + 0x54]
jae 0x456dca
movzx eax, byte [ebx]
mov ecx, eax
xor edx, edx
and ecx, 7
inc edx
shl edx, cl
mov ecx, dword [ebp + 0x40]
shr eax, 3
mov al, byte [eax + ecx]
test al, dl
je 0x456dca
inc ebx
inc dword [ebp + 0x6c]
mov eax, dword [ebp + 0x6c]
cmp eax, dword [ebp + 0x50]
jl 0x456d9f
cmp ebx, dword [ebp + 0x48]
jb case.0x455157.108
mov eax, dword [ebp + 0x7c]
inc eax
mov dword [ebp + 0x4c], eax
push dword [ebp + 0x4c]
push 0
push dword [ebp + 0x74]
push dword [ebp + 0x70]
push esi
push dword [ebp + 0x68]
push dword [ebp + 0x64]
push edi
push ebx
call fcn.004550d4
add esp, 0x24
test eax, eax
jne 0x45710d
dec ebx
cmp ebx, dword [ebp + 0x48]
jae 0x456dda
jmp case.0x455157.108
mov eax, dword [ebp + 0x7c]
inc eax
mov dword [ebp + 0x6c], ecx
mov dword [ebp + 0x4c], eax
push eax
jmp 0x456e45
mov eax, dword [ebp + 0x50]
cmp dword [ebp + 0x6c], eax
jge case.0x455157.108
cmp ebx, dword [esi + 0x54]
jae case.0x455157.108
movzx eax, byte [ebx]
mov ecx, dword [esi + 0x24]
movzx eax, byte [eax + ecx]
inc ebx
cmp dword [ebp + 0x44], eax
jne case.0x455157.108
inc dword [ebp + 0x6c]
push dword [ebp + 0x4c]
push 0
push dword [ebp + 0x74]
push dword [ebp + 0x70]
push esi
push dword [ebp + 0x68]
push dword [ebp + 0x64]
push edi
push ebx
call fcn.004550d4
add esp, 0x24
test eax, eax
je 0x456e16
jmp 0x45710d
mov eax, dword [ebp + 0x7c]
inc eax
mov dword [ebp + 0x6c], ecx
mov dword [ebp + 0x4c], eax
push eax
jmp 0x456e9c
mov eax, dword [ebp + 0x50]
cmp dword [ebp + 0x6c], eax
jge case.0x455157.108
cmp ebx, dword [esi + 0x54]
jae case.0x455157.108
movzx eax, byte [ebx]
inc ebx
cmp dword [ebp + 0x44], eax
jne case.0x455157.108
inc dword [ebp + 0x6c]
push dword [ebp + 0x4c]
push 0
push dword [ebp + 0x74]
push dword [ebp + 0x70]
push esi
push dword [ebp + 0x68]
push dword [ebp + 0x64]
push edi
push ebx
call fcn.004550d4
add esp, 0x24
test eax, eax
je 0x456e74
jmp 0x45710d
mov eax, dword [ebp + 0x7c]
inc eax
mov dword [ebp + 0x6c], ecx
mov dword [ebp + 0x4c], eax
push eax
jmp 0x456efa
mov eax, dword [ebp + 0x50]
cmp dword [ebp + 0x6c], eax
jge case.0x455157.108
cmp ebx, dword [esi + 0x54]
jae case.0x455157.108
movzx eax, byte [ebx]
mov ecx, dword [esi + 0x24]
movzx eax, byte [eax + ecx]
inc ebx
cmp dword [ebp + 0x44], eax
je case.0x455157.108
inc dword [ebp + 0x6c]
push dword [ebp + 0x4c]
push 0
push dword [ebp + 0x74]
push dword [ebp + 0x70]
push esi
push dword [ebp + 0x68]
push dword [ebp + 0x64]
push edi
push ebx
call fcn.004550d4
add esp, 0x24
test eax, eax
je 0x456ecb
jmp 0x45710d
mov eax, dword [ebp + 0x7c]
inc eax
mov dword [ebp + 0x6c], ecx
mov dword [ebp + 0x4c], eax
push eax
jmp 0x456f51
mov eax, dword [ebp + 0x50]
cmp dword [ebp + 0x6c], eax
jge case.0x455157.108
cmp ebx, dword [esi + 0x54]
jae case.0x455157.108
movzx eax, byte [ebx]
inc ebx
cmp dword [ebp + 0x44], eax
je case.0x455157.108
inc dword [ebp + 0x6c]
push dword [ebp + 0x4c]
push 0
push dword [ebp + 0x74]
push dword [ebp + 0x70]
push esi
push dword [ebp + 0x68]
push dword [ebp + 0x64]
push edi
push ebx
call fcn.004550d4
add esp, 0x24
test eax, eax
je 0x456f29
jmp 0x45710d
mov eax, dword [ebp + 0x44]
mov dword [ebp + 0x6c], eax
mov eax, dword [ebp + 0x7c]
inc eax
mov dword [ebp + 0x4c], eax
push eax
jmp 0x4570e3
mov eax, dword [ebp + 0x50]
cmp dword [ebp + 0x6c], eax
jge case.0x455157.108
mov eax, dword [esi + 0x54]
cmp ebx, eax
jae case.0x455157.108
test byte [ebp + 0x70], 4
jne 0x456fea
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x456fc5
push 0
lea edx, [esi + 0x1c]
push edx
push eax
push ecx
push ebx
call fcn.0041b648
add esp, 0x14
test eax, eax
jne case.0x455157.108
jmp 0x456fea
mov ecx, dword [esi + 0x1c]
sub eax, ecx
cmp ebx, eax
ja 0x456fea
mov al, byte [ebx]
cmp al, byte [esi + 0x20]
jne 0x456fea
cmp ecx, 1
je case.0x455157.108
mov al, byte [ebx + 1]
cmp al, byte [esi + 0x21]
je case.0x455157.108
mov ecx, dword [ebp + 0x40]
movzx eax, byte [ebx]
add ecx, 0xfffffffa
inc ebx
cmp ecx, 0xe
ja case.0x456ffd.14
jmp dword [ecx*4 + 0x45730b]
cmp eax, 0xa
je case.0x456ffd.12
jbe case.0x455157.108
cmp eax, 0xc
jbe 0x457028
cmp eax, 0xd
je 0x457031
cmp eax, 0x85
jne case.0x455157.108
cmp dword [esi + 0x48], 0
jmp 0x4570c8
cmp ebx, dword [esi + 0x54]
jae case.0x456ffd.12
cmp byte [ebx], 0xa
jne case.0x456ffd.12
inc ebx
jmp case.0x456ffd.12
cmp eax, 9
je case.0x455157.108
cmp eax, 0x20
je case.0x455157.108
cmp eax, 0xa0
jmp 0x4570d7
cmp eax, 9
je case.0x456ffd.12
cmp eax, 0x20
je case.0x456ffd.12
cmp eax, 0xa0
jmp 0x4570c8
cmp eax, 0xa
jb case.0x456ffd.12
cmp eax, 0xd
jbe case.0x455157.108
cmp eax, 0x85
jmp 0x4570d7
cmp eax, 0xa
jb case.0x455157.108
cmp eax, 0xd
jbe case.0x456ffd.12
cmp eax, 0x85
jmp 0x4570c8
mov ecx, dword [esi + 0x28]
test byte [eax + ecx], 4
jmp 0x4570c8
mov ecx, dword [esi + 0x28]
test byte [eax + ecx], 4
jmp 0x4570d7
mov ecx, dword [esi + 0x28]
test byte [eax + ecx], 1
jmp 0x4570c8
mov ecx, dword [esi + 0x28]
test byte [eax + ecx], 1
jmp 0x4570d7
mov ecx, dword [esi + 0x28]
test byte [eax + ecx], 0x10
jne case.0x455157.108
jmp case.0x456ffd.12
mov ecx, dword [esi + 0x28]
test byte [eax + ecx], 0x10
je case.0x455157.108
inc dword [ebp + 0x6c]
push dword [ebp + 0x4c]
push 0
push dword [ebp + 0x74]
push dword [ebp + 0x70]
push esi
push dword [ebp + 0x68]
push dword [ebp + 0x64]
push edi
push ebx
call fcn.004550d4
add esp, 0x24
test eax, eax
je 0x456f86
jmp 0x45710d
push 0xfffffffffffffff2
jmp 0x45710c
push 0xfffffffffffffffb
pop eax
pop edi
pop esi
pop ebx
add ebp, 0x54
leave
ret