Function at 0x454943
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 0x45615c
mov edi, dword [ebp + 0x60]
mov ebx, dword [ebp + 0x5c]
mov eax, dword [ebp + 0x7c]
inc dword [esi]
cmp eax, dword [esi + 8]
jae 0x456165
test byte [ebp + 0x78], 2
mov eax, dword [ebp + 0x70]
mov dword [ebp + 0x38], eax
je 0x45498e
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 0x4549b3
cmp ebx, dword [esi + 0x54]
jb 0x4549b3
xor edx, edx
inc edx
cmp ebx, dword [ebp + 0x64]
jbe 0x4549b6
mov dword [esi + 0x44], edx
jmp 0x4549b6
xor edx, edx
inc edx
cmp ecx, 0x6d
ja case.0x4549c6.14
movzx eax, byte [ecx + 0x456a94]
jmp dword [eax*4 + 0x456984]
lea eax, [edi + 3]
mov cl, byte [eax]
cmp cl, 0x64
jne 0x4549f5
mov eax, dword [esi + 0x74]
xor ecx, ecx
test eax, eax
mov ch, byte [edi + 4]
mov cl, byte [edi + 5]
je 0x454a5f
cmp ecx, 0xffff
je 0x454a12
cmp ecx, dword [eax + 4]
jne 0x454a5f
jmp 0x454a12
cmp cl, 0x63
jne 0x454a19
xor eax, eax
mov ah, byte [edi + 4]
mov al, byte [edi + 5]
shl eax, 1
cmp eax, dword [ebp + 0x68]
jge 0x454a5f
mov ecx, dword [esi + 0xc]
cmp dword [ecx + eax*4], 0
jl 0x454a5f
push 3
mov ecx, edx
pop eax
jmp 0x454a69
cmp cl, 0x65
jne 0x454a2a
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
jmp 0x454a73
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.00454943
add esp, 0x24
cmp eax, 1
je 0x456023
test eax, eax
je 0x454a5f
cmp eax, 0xfffffc1c
jne 0x45697c
xor ecx, ecx
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
test ecx, ecx
jne 0x456040
cmp byte [edi], 0x53
je 0x456040
add edi, 3
jmp 0x45498e
mov edi, dword [esi + 0x74]
test edi, edi
je 0x456357
cmp dword [edi + 4], 0
jne 0x456357
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.00457710
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 0x45498e
movzx eax, byte [edi + 1]
mov dword [ebp + 0x70], eax
inc edi
inc edi
jmp 0x45498e
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.00454943
add esp, 0x24
cmp eax, 1
je 0x454b18
test eax, eax
je 0x454b09
cmp eax, 0xfffffc1c
jne 0x45697c
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
cmp byte [edi], 0x53
je case.0x4549c6.87
cmp byte [edi], 0x54
je case.0x4549c6.108
test byte [ebp + 0x78], 1
jne 0x454b91
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
cmp byte [edi], 0x53
je 0x454b27
mov eax, dword [esi + 0x60]
add edi, 3
mov dword [ebp + 0x68], eax
jmp 0x45498e
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.00454943
add esp, 0x24
cmp eax, 1
je case.0x4549c6.108
test eax, eax
je 0x454b78
cmp eax, 0xfffffc1c
jne 0x45697c
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
cmp byte [edi], 0x53
je case.0x4549c6.88
test byte [ebp + 0x78], 1
je 0x454a7c
xor eax, eax
inc eax
jmp 0x45697c
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
sub ebx, eax
cmp ebx, dword [esi + 0x50]
jae 0x454a7c
xor eax, eax
jmp 0x45697c
add edi, 6
jmp 0x45498e
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.00454943
add esp, 0x24
cmp eax, 1
je 0x454c05
test eax, eax
je 0x454bf6
cmp eax, 0xfffffc1c
jne 0x45697c
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
cmp byte [edi], 0x53
je 0x454bc1
mov al, byte [edi]
cmp al, 0x5c
je 0x454c0f
cmp al, 0x53
jne case.0x4549c6.108
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
cmp byte [edi], 0x53
je 0x454c0f
cmp byte [edi], 0x54
mov eax, dword [esi + 0x60]
mov ebx, dword [esi + 0x5c]
mov dword [ebp + 0x68], eax
je 0x454a7c
cmp ebx, dword [ebp + 0x44]
je 0x454a7c
lea eax, [edi + 3]
cmp byte [eax], 0x18
mov dword [ebp + 0x40], eax
jne 0x454c53
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 0x4560fb
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.00454943
add esp, 0x24
test eax, eax
jne 0x45697c
mov edi, dword [ebp + 0x6c]
jmp 0x45614d
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
cmp byte [edi], 0x53
je case.0x4549c6.83
jmp 0x45498e
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.00454943
add esp, 0x24
test eax, eax
jne 0x45697c
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
cmp byte [edi], 0x53
je 0x454cc7
jmp 0x454a7c
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 0x454cde
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.00454943
add esp, 0x24
test eax, eax
jne 0x45697c
jmp 0x45498e
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 0x454d44
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 0x454d48
and dword [ebp + 0x44], 0
cmp cl, 0x57
je 0x4564d9
cmp cl, 0x58
je 0x4564d9
cmp cl, 0x59
je 0x4564d9
cmp cl, 0x5a
je 0x4564d9
cmp cl, 0x5c
je 0x4564d9
cmp cl, 0x5e
je 0x454d83
cmp cl, 0x61
jne 0x454e13
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 0x454da2
mov dword [esi + 0x2c], 1
jmp 0x454dd4
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 0x454dd1
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 0x454e13
cmp dword [ecx + 4], edx
jne 0x454e13
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.00456f20
mov eax, dword [ebp + 0x38]
mov edi, dword [edi + 8]
add esp, 0xc
mov dword [ebp + 0x70], eax
jmp 0x45498e
cmp byte [edi], 0x54
mov ecx, dword [ebp + 0x38]
mov dword [ebp + 0x70], ecx
je 0x454a7c
cmp ebx, dword [ebp + 0x44]
je 0x454a7c
cmp byte [eax], 0x60
sbb eax, eax
and eax, 0xfffffffe
inc eax
inc eax
cmp byte [edi], 0x56
mov dword [ebp + 0x78], eax
jne 0x456123
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.00454943
add esp, 0x24
test eax, eax
jne 0x45697c
cmp dword [ebp + 0x78], eax
jne 0x4564bc
mov edi, dword [ebp + 0x6c]
jmp 0x456151
cmp dword [esi + 0x30], 0
je 0x454e88
cmp ebx, dword [esi + 0x50]
je case.0x4549c6.108
test byte [ebp + 0x70], 2
je case.0x4549c6.1
mov ecx, dword [esi + 0x50]
cmp ebx, ecx
je 0x454ef2
cmp ebx, dword [esi + 0x54]
je case.0x4549c6.108
mov eax, dword [esi + 0x18]
test eax, eax
je 0x454ec5
cmp ebx, ecx
jbe case.0x4549c6.108
push 0
lea edx, [esi + 0x1c]
push edx
push ecx
push eax
push ebx
call fcn.0041b376
add esp, 0x14
test eax, eax
jmp 0x455204
mov eax, dword [esi + 0x1c]
add ecx, eax
cmp ebx, ecx
jb case.0x4549c6.108
mov ecx, ebx
sub ecx, eax
mov dl, byte [ecx]
cmp dl, byte [esi + 0x20]
jne case.0x4549c6.108
cmp eax, 1
je 0x454ef2
mov al, byte [ecx + 1]
cmp al, byte [esi + 0x21]
jne case.0x4549c6.108
inc edi
jmp 0x45498e
cmp ebx, dword [esi + 0x50]
jmp 0x454eec
mov eax, dword [esi + 0x68]
add eax, dword [esi + 0x50]
cmp ebx, eax
jmp 0x454eec
mov dword [ebp + 0x64], ebx
jmp 0x454ef2
test byte [ebp + 0x70], 2
je 0x454f57
mov eax, dword [esi + 0x54]
cmp ebx, eax
jae 0x454f51
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x454f30
push 0
lea edx, [esi + 0x1c]
push edx
push eax
push ecx
push ebx
call fcn.0041b2fc
jmp 0x454ebb
mov ecx, dword [esi + 0x1c]
sub eax, ecx
cmp ebx, eax
ja case.0x4549c6.108
mov al, byte [ebx]
cmp al, byte [esi + 0x20]
jne case.0x4549c6.108
cmp ecx, edx
je 0x454ef2
mov al, byte [ebx + 1]
jmp 0x454ee9
cmp dword [esi + 0x34], 0
jmp 0x454eec
cmp dword [esi + 0x34], 0
jne case.0x4549c6.108
cmp dword [esi + 0x38], 0
jne case.0x4549c6.23
mov eax, dword [esi + 0x54]
cmp ebx, eax
je 0x454ef2
mov edx, dword [esi + 0x18]
test edx, edx
je 0x454fa6
cmp ebx, eax
jae case.0x4549c6.108
push 0
lea ecx, [esi + 0x1c]
push ecx
push eax
push edx
push ebx
call fcn.0041b2fc
add esp, 0x14
test eax, eax
je case.0x4549c6.108
jmp 0x454fcf
cmp ebx, dword [esi + 0x54]
jb case.0x4549c6.108
jmp 0x454ef2
mov ecx, dword [esi + 0x1c]
sub eax, ecx
cmp ebx, eax
ja case.0x4549c6.108
mov al, byte [ebx]
cmp al, byte [esi + 0x20]
jne case.0x4549c6.108
cmp ecx, 1
je 0x454fcf
mov al, byte [ebx + 1]
cmp al, byte [esi + 0x21]
jne case.0x4549c6.108
mov eax, dword [esi + 0x54]
sub eax, dword [esi + 0x1c]
jmp 0x454f03
cmp ebx, dword [esi + 0x50]
je 0x454ff0
movzx eax, byte [ebx - 1]
mov ecx, dword [esi + 0x28]
test byte [eax + ecx], 0x10
je 0x454ff0
mov ecx, edx
jmp 0x454ff2
xor ecx, ecx
cmp ebx, dword [esi + 0x54]
jae 0x455008
movzx eax, byte [ebx]
mov edx, dword [esi + 0x28]
test byte [eax + edx], 0x10
je 0x455008
xor eax, eax
inc eax
jmp 0x45500a
xor eax, eax
mov dl, byte [edi]
inc edi
cmp dl, 5
jne 0x45501b
xor edx, edx
cmp eax, ecx
sete dl
jmp 0x455022
xor edx, edx
cmp eax, ecx
setne dl
mov eax, edx
test eax, eax
je 0x45498e
jmp case.0x4549c6.108
test byte [ebp + 0x70], 4
jne case.0x4549c6.13
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x455060
mov eax, dword [esi + 0x54]
cmp ebx, eax
jae case.0x4549c6.13
push 0
lea edx, [esi + 0x1c]
push edx
push eax
push ecx
push ebx
call fcn.0041b2fc
add esp, 0x14
test eax, eax
jne case.0x4549c6.108
jmp case.0x4549c6.13
mov eax, dword [esi + 0x1c]
mov ecx, dword [esi + 0x54]
sub ecx, eax
cmp ebx, ecx
ja case.0x4549c6.13
mov cl, byte [ebx]
cmp cl, byte [esi + 0x20]
jne case.0x4549c6.13
cmp eax, edx
je case.0x4549c6.108
mov al, byte [ebx + 1]
cmp al, byte [esi + 0x21]
je case.0x4549c6.108
mov eax, ebx
inc ebx
cmp eax, dword [esi + 0x54]
jae case.0x4549c6.108
jmp 0x454ef2
cmp ebx, dword [esi + 0x54]
jae case.0x4549c6.108
movzx eax, byte [ebx]
mov ecx, dword [esi + 0x28]
inc ebx
test byte [eax + ecx], 4
jmp 0x454eec
cmp ebx, dword [esi + 0x54]
jae case.0x4549c6.108
movzx eax, byte [ebx]
mov ecx, dword [esi + 0x28]
inc ebx
test byte [eax + ecx], 4
jmp 0x455204
cmp ebx, dword [esi + 0x54]
jae case.0x4549c6.108
movzx eax, byte [ebx]
mov ecx, dword [esi + 0x28]
inc ebx
test byte [eax + ecx], 1
jmp 0x454eec
cmp ebx, dword [esi + 0x54]
jae case.0x4549c6.108
movzx eax, byte [ebx]
mov ecx, dword [esi + 0x28]
inc ebx
test byte [eax + ecx], 1
jmp 0x455204
cmp ebx, dword [esi + 0x54]
jae case.0x4549c6.108
movzx eax, byte [ebx]
mov ecx, dword [esi + 0x28]
inc ebx
test byte [eax + ecx], 0x10
jmp 0x454eec
cmp ebx, dword [esi + 0x54]
jae case.0x4549c6.108
movzx eax, byte [ebx]
mov ecx, dword [esi + 0x28]
inc ebx
test byte [eax + ecx], 0x10
jmp 0x455204
mov ecx, dword [esi + 0x54]
cmp ebx, ecx
jae case.0x4549c6.108
movzx eax, byte [ebx]
inc ebx
cmp eax, 0xa
je 0x454ef2
jbe case.0x4549c6.108
cmp eax, 0xc
jbe 0x455173
cmp eax, 0xd
je 0x45517c
cmp eax, 0x85
je 0x455173
cmp eax, 0x2027
jbe case.0x4549c6.108
cmp eax, 0x2029
ja case.0x4549c6.108
cmp dword [esi + 0x48], 0
jmp 0x454eec
cmp ebx, ecx
jae 0x454ef2
cmp byte [ebx], 0xa
jne 0x454ef2
inc ebx
jmp 0x454ef2
cmp ebx, dword [esi + 0x54]
jae case.0x4549c6.108
movzx eax, byte [ebx]
mov ecx, 0x180e
inc ebx
cmp eax, ecx
ja 0x4551d3
je case.0x4549c6.108
cmp eax, 9
je case.0x4549c6.108
cmp eax, 0x20
je case.0x4549c6.108
cmp eax, 0xa0
je case.0x4549c6.108
cmp eax, 0x1680
jmp 0x455204
cmp eax, 0x2000
jb 0x454ef2
cmp eax, 0x200a
jbe case.0x4549c6.108
cmp eax, 0x202f
je case.0x4549c6.108
cmp eax, 0x205f
je case.0x4549c6.108
cmp eax, 0x3000
je case.0x4549c6.108
jmp 0x454ef2
cmp ebx, dword [esi + 0x54]
jae case.0x4549c6.108
movzx eax, byte [ebx]
mov ecx, 0x180e
inc ebx
cmp eax, ecx
ja 0x455252
je 0x454ef2
cmp eax, 9
je 0x454ef2
cmp eax, 0x20
je 0x454ef2
cmp eax, 0xa0
je 0x454ef2
cmp eax, 0x1680
jmp 0x454eec
cmp eax, 0x2000
jb case.0x4549c6.108
cmp eax, 0x200a
jbe 0x454ef2
cmp eax, 0x202f
je 0x454ef2
cmp eax, 0x205f
je 0x454ef2
cmp eax, 0x3000
jmp 0x454eec
cmp ebx, dword [esi + 0x54]
jae case.0x4549c6.108
movzx eax, byte [ebx]
inc ebx
cmp eax, 0xa
jb 0x454ef2
cmp eax, 0xd
jbe case.0x4549c6.108
cmp eax, 0x85
je case.0x4549c6.108
cmp eax, 0x2027
jbe 0x454ef2
cmp eax, 0x2029
jbe case.0x4549c6.108
jmp 0x454ef2
cmp ebx, dword [esi + 0x54]
jae case.0x4549c6.108
movzx eax, byte [ebx]
inc ebx
cmp eax, 0xa
jb case.0x4549c6.108
cmp eax, 0xd
jbe 0x454ef2
cmp eax, 0x85
je 0x454ef2
cmp eax, 0x2027
jbe case.0x4549c6.108
cmp eax, 0x2029
ja case.0x4549c6.108
jmp 0x454ef2
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 0x45533a
mov ecx, dword [esi + 0xc]
lea eax, [ecx + eax*4]
mov ecx, dword [eax]
test ecx, ecx
jl 0x45533a
mov edx, dword [eax + 4]
sub edx, ecx
jmp 0x455340
mov edx, dword [esi + 0x54]
sub edx, ebx
inc edx
mov al, byte [edi]
cmp al, 0x45
mov dword [ebp + 0x3c], edx
jb 0x45541b
cmp al, 0x4a
jbe 0x455389
cmp al, 0x4c
ja 0x45541b
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 0x455384
mov dword [ebp + 0x50], 0x7fffffff
add edi, 5
jmp 0x4553b7
movzx eax, al
sub eax, 0x45
mov ecx, eax
and ecx, 1
mov dword [ebp + 0x48], ecx
movsx ecx, byte [eax + 0x460584]
movsx eax, byte [eax + 0x46058c]
inc edi
test eax, eax
mov dword [ebp + 0x44], ecx
mov dword [ebp + 0x50], eax
jne 0x4553b7
mov dword [ebp + 0x50], 0x7fffffff
test edx, edx
je 0x45498e
xor eax, eax
inc eax
cmp ecx, eax
mov dword [ebp + 0x6c], eax
jl 0x4553f5
push dword [ebp + 0x70]
mov eax, dword [ebp + 0x3c]
mov edx, dword [ebp + 0x40]
push ebx
mov ecx, esi
call fcn.004548e5
test eax, eax
pop ecx
pop ecx
je case.0x4549c6.108
add ebx, dword [ebp + 0x3c]
inc dword [ebp + 0x6c]
mov eax, dword [ebp + 0x6c]
cmp eax, dword [ebp + 0x44]
jle 0x4553c9
mov ecx, dword [ebp + 0x44]
cmp ecx, dword [ebp + 0x50]
je 0x45498e
cmp dword [ebp + 0x48], 0
je 0x456539
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 0x456517
push dword [ebp + 0x70]
mov eax, dword [ebp + 0x3c]
mov edx, dword [ebp + 0x40]
push ebx
mov ecx, esi
call fcn.004548e5
test eax, eax
pop ecx
pop ecx
je case.0x4549c6.108
add ebx, dword [ebp + 0x3c]
jmp 0x45498e
lea eax, [edi + 1]
add edi, 0x21
mov dword [ebp + 0x40], eax
mov al, byte [edi]
cmp al, 0x45
jb 0x4554b4
cmp al, 0x4a
jbe 0x455485
cmp al, 0x4c
ja 0x4554b4
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 0x455480
mov dword [ebp + 0x50], 0x7fffffff
add edi, 5
jmp 0x4554bc
movzx eax, al
sub eax, 0x45
mov ecx, eax
and ecx, edx
mov dword [ebp + 0x48], ecx
movsx ecx, byte [eax + 0x460584]
movsx eax, byte [eax + 0x46058c]
inc edi
test eax, eax
mov dword [ebp + 0x44], ecx
mov dword [ebp + 0x50], eax
jne 0x4554bc
mov dword [ebp + 0x50], 0x7fffffff
jmp 0x4554bc
mov ecx, edx
mov dword [ebp + 0x50], edx
mov dword [ebp + 0x44], ecx
cmp ecx, edx
mov dword [ebp + 0x6c], edx
jl 0x4554f6
cmp ebx, dword [esi + 0x54]
jae case.0x4549c6.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.0x4549c6.108
inc dword [ebp + 0x6c]
mov ecx, dword [ebp + 0x44]
cmp dword [ebp + 0x6c], ecx
jle 0x4554c3
cmp ecx, dword [ebp + 0x50]
je 0x45498e
cmp dword [ebp + 0x48], 0
mov dword [ebp + 0x6c], ecx
je 0x456606
mov eax, dword [ebp + 0x7c]
inc eax
mov dword [ebp + 0x4c], eax
push eax
jmp 0x4565e4
mov eax, dword [esi + 0x54]
sub eax, ebx
cmp eax, edx
jl case.0x4549c6.108
mov al, byte [ebx]
inc ebx
cmp byte [edi + 1], al
jmp 0x45554c
mov eax, dword [esi + 0x54]
sub eax, ebx
cmp eax, edx
jl case.0x4549c6.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.0x4549c6.108
jmp 0x454ace
xor ecx, ecx
mov ch, byte [edi + 1]
mov cl, byte [edi + 2]
mov dword [ebp + 0x50], ecx
jmp 0x45557f
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 0x4555d1
mov dword [ebp + 0x4c], 1
xor ecx, ecx
jmp 0x455595
xor ecx, ecx
inc ecx
mov dword [ebp + 0x4c], ecx
inc edi
jmp 0x4555ca
xor eax, eax
inc eax
xor ecx, ecx
mov dword [ebp + 0x4c], eax
mov dword [ebp + 0x50], eax
inc edi
jmp 0x4555d1
movzx eax, byte [edi]
sub eax, 0x1e
mov ecx, eax
and ecx, 1
mov dword [ebp + 0x48], ecx
movsx ecx, byte [eax + 0x460584]
movsx eax, byte [eax + 0x46058c]
inc edi
test eax, eax
mov dword [ebp + 0x50], eax
jne 0x4555d1
mov dword [ebp + 0x50], 0x7fffffff
mov eax, dword [esi + 0x54]
sub eax, ebx
cmp ecx, eax
jg case.0x4549c6.108
movzx edx, byte [edi]
inc edi
test byte [ebp + 0x70], 1
mov dword [ebp + 0x44], edx
je 0x45569b
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 0x45561f
movzx edx, byte [ebx]
mov eax, dword [esi + 0x24]
movzx eax, byte [edx + eax]
inc ebx
cmp dword [ebp + 0x44], eax
jne case.0x4549c6.108
inc dword [ebp + 0x6c]
cmp dword [ebp + 0x6c], ecx
jle 0x455603
cmp ecx, dword [ebp + 0x50]
je 0x45498e
cmp dword [ebp + 0x48], 0
jne 0x456678
mov dword [ebp + 0x48], ebx
jmp 0x45564d
cmp ebx, dword [esi + 0x54]
jae 0x455652
movzx edx, byte [ebx]
mov eax, dword [esi + 0x24]
movzx eax, byte [edx + eax]
cmp dword [ebp + 0x44], eax
jne 0x455652
inc ebx
inc ecx
cmp ecx, dword [ebp + 0x50]
jl 0x455637
cmp dword [ebp + 0x4c], 0
jne 0x45498e
cmp ebx, dword [ebp + 0x48]
jb case.0x4549c6.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.00454943
add esp, 0x24
dec ebx
test eax, eax
jne 0x45697c
cmp ebx, dword [ebp + 0x48]
jae 0x45566c
jmp case.0x4549c6.108
xor eax, eax
inc eax
cmp ecx, eax
mov dword [ebp + 0x6c], eax
jl 0x4556b9
movzx eax, byte [ebx]
inc ebx
cmp edx, eax
jne case.0x4549c6.108
inc dword [ebp + 0x6c]
cmp dword [ebp + 0x6c], ecx
jle 0x4556a5
cmp ecx, dword [ebp + 0x50]
je 0x45498e
cmp dword [ebp + 0x48], 0
jne 0x4566d6
cmp ecx, dword [ebp + 0x50]
mov dword [ebp + 0x48], ebx
mov eax, ecx
jge 0x4556e9
cmp ebx, dword [esi + 0x54]
jae 0x4556e9
movzx ecx, byte [ebx]
cmp edx, ecx
jne 0x4556e9
inc ebx
inc eax
cmp eax, dword [ebp + 0x50]
jl 0x4556d6
cmp dword [ebp + 0x4c], 0
jne 0x45498e
cmp ebx, dword [ebp + 0x48]
jb case.0x4549c6.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.00454943
add esp, 0x24
dec ebx
test eax, eax
jne 0x45697c
cmp ebx, dword [ebp + 0x48]
jae 0x455703
jmp case.0x4549c6.108
cmp ebx, dword [esi + 0x54]
jae case.0x4549c6.108
movzx ecx, byte [ebx]
inc edi
inc ebx
test byte [ebp + 0x70], 1
je 0x455755
mov eax, dword [esi + 0x24]
movzx edx, byte [edi]
mov cl, byte [eax + ecx]
inc edi
cmp byte [edx + eax], cl
jmp 0x45575b
movzx eax, byte [edi]
inc edi
cmp eax, ecx
jne 0x45498e
jmp case.0x4549c6.108
xor ecx, ecx
mov ch, byte [edi + 1]
mov cl, byte [edi + 2]
mov dword [ebp + 0x50], ecx
jmp 0x4557c3
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 0x4557c3
mov dword [ebp + 0x4c], 1
xor ecx, ecx
jmp 0x45579e
xor ecx, ecx
inc ecx
mov dword [ebp + 0x4c], ecx
inc edi
jmp 0x4557ec
xor eax, eax
inc eax
xor ecx, ecx
mov dword [ebp + 0x4c], eax
mov dword [ebp + 0x50], eax
inc edi
jmp 0x4557f3
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 0x4557f3
movzx eax, byte [edi]
sub eax, 0x2b
mov ecx, eax
and ecx, 1
mov dword [ebp + 0x48], ecx
movsx ecx, byte [eax + 0x460584]
movsx eax, byte [eax + 0x46058c]
inc edi
test eax, eax
mov dword [ebp + 0x50], eax
jne 0x4557f3
mov dword [ebp + 0x50], 0x7fffffff
mov eax, dword [esi + 0x54]
sub eax, ebx
cmp ecx, eax
jg case.0x4549c6.108
movzx edx, byte [edi]
inc edi
test byte [ebp + 0x70], 1
mov dword [ebp + 0x44], edx
je 0x4558bd
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 0x455841
movzx edx, byte [ebx]
mov eax, dword [esi + 0x24]
movzx eax, byte [edx + eax]
inc ebx
cmp dword [ebp + 0x44], eax
je case.0x4549c6.108
inc dword [ebp + 0x6c]
cmp dword [ebp + 0x6c], ecx
jle 0x455825
cmp ecx, dword [ebp + 0x50]
je 0x45498e
cmp dword [ebp + 0x48], 0
jne 0x45672d
mov dword [ebp + 0x48], ebx
jmp 0x45586f
cmp ebx, dword [esi + 0x54]
jae 0x455874
movzx edx, byte [ebx]
mov eax, dword [esi + 0x24]
movzx eax, byte [edx + eax]
cmp dword [ebp + 0x44], eax
je 0x455874
inc ebx
inc ecx
cmp ecx, dword [ebp + 0x50]
jl 0x455859
cmp dword [ebp + 0x4c], 0
jne 0x45498e
cmp ebx, dword [ebp + 0x48]
jb case.0x4549c6.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.00454943
add esp, 0x24
test eax, eax
jne 0x45697c
dec ebx
cmp ebx, dword [ebp + 0x48]
jae 0x45588e
jmp case.0x4549c6.108
xor eax, eax
inc eax
cmp ecx, eax
mov dword [ebp + 0x6c], eax
jl 0x4558db
movzx eax, byte [ebx]
inc ebx
cmp edx, eax
je case.0x4549c6.108
inc dword [ebp + 0x6c]
cmp dword [ebp + 0x6c], ecx
jle 0x4558c7
cmp ecx, dword [ebp + 0x50]
je 0x45498e
cmp dword [ebp + 0x48], 0
jne 0x45678b
cmp ecx, dword [ebp + 0x50]
mov dword [ebp + 0x48], ebx
mov eax, ecx
jge 0x45590b
cmp ebx, dword [esi + 0x54]
jae 0x45590b
movzx ecx, byte [ebx]
cmp edx, ecx
je 0x45590b
inc ebx
inc eax
cmp eax, dword [ebp + 0x50]
jl 0x4558f8
cmp dword [ebp + 0x4c], 0
jne 0x45498e
cmp ebx, dword [ebp + 0x48]
jb case.0x4549c6.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.00454943
add esp, 0x24
test eax, eax
jne 0x45697c
dec ebx
cmp ebx, dword [ebp + 0x48]
jae 0x455925
jmp case.0x4549c6.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 0x4559be
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 0x4559be
mov dword [ebp + 0x4c], 1
xor ecx, ecx
jmp 0x455993
xor ecx, ecx
inc ecx
mov dword [ebp + 0x4c], ecx
mov dword [ebp + 0x44], ecx
inc edi
jmp 0x4559ed
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 0x4559f4
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 0x4559f4
movzx eax, byte [edi]
sub eax, 0x38
mov ecx, eax
and ecx, 1
mov dword [ebp + 0x48], ecx
movsx ecx, byte [eax + 0x460584]
movsx eax, byte [eax + 0x46058c]
inc edi
test eax, eax
mov dword [ebp + 0x44], ecx
mov dword [ebp + 0x50], eax
jne 0x4559f4
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.0x4549c6.108
test ecx, ecx
jle 0x455cf6
mov eax, dword [ebp + 0x40]
add eax, 0xfffffffa
cmp eax, 0xe
ja case.0x45686c.14
jmp dword [eax*4 + 0x456b02]
test byte [ebp + 0x70], 4
jne case.0x455a21.13
xor eax, eax
inc eax
cmp ecx, eax
mov dword [ebp + 0x6c], eax
jl 0x455cf6
mov edx, dword [esi + 0x18]
test edx, edx
je 0x455a68
mov eax, dword [esi + 0x54]
cmp ebx, eax
jae 0x455a90
push 0
lea ecx, [esi + 0x1c]
push ecx
push eax
push edx
push ebx
call fcn.0041b2fc
add esp, 0x14
test eax, eax
jne case.0x4549c6.108
mov ecx, dword [ebp + 0x44]
jmp 0x455a90
mov eax, dword [esi + 0x1c]
mov edx, dword [esi + 0x54]
sub edx, eax
cmp ebx, edx
ja 0x455a90
mov dl, byte [ebx]
cmp dl, byte [esi + 0x20]
jne 0x455a90
cmp eax, 1
je case.0x4549c6.108
mov al, byte [ebx + 1]
cmp al, byte [esi + 0x21]
je case.0x4549c6.108
inc ebx
inc dword [ebp + 0x6c]
cmp dword [ebp + 0x6c], ecx
jle 0x455a3c
jmp 0x455cf6
add ebx, ecx
jmp 0x455cf6
cmp ecx, 1
mov dword [ebp + 0x6c], 1
jl 0x455cf6
cmp ebx, edx
jae case.0x4549c6.108
movzx eax, byte [ebx]
inc ebx
cmp eax, 0xa
je 0x455aeb
jle case.0x4549c6.108
cmp eax, 0xc
jle 0x455ae1
cmp eax, 0xd
je 0x455af8
cmp eax, 0x85
jne case.0x4549c6.108
cmp dword [esi + 0x48], 0
jne case.0x4549c6.108
inc dword [ebp + 0x6c]
cmp dword [ebp + 0x6c], ecx
jle 0x455ab5
jmp 0x455cf6
cmp ebx, edx
jae 0x455aeb
cmp byte [ebx], 0xa
jne 0x455aeb
inc ebx
jmp 0x455aeb
xor edx, edx
inc edx
cmp ecx, edx
jl 0x455cf6
cmp ebx, dword [esi + 0x54]
jae case.0x4549c6.108
movzx eax, byte [ebx]
inc ebx
cmp eax, 9
je case.0x4549c6.108
cmp eax, 0x20
je case.0x4549c6.108
cmp eax, 0xa0
je case.0x4549c6.108
inc edx
cmp edx, ecx
jle 0x455b0f
jmp 0x455cf6
xor edx, edx
inc edx
cmp ecx, edx
jl 0x455cf6
cmp ebx, dword [esi + 0x54]
jae case.0x4549c6.108
movzx eax, byte [ebx]
inc ebx
cmp eax, 9
je 0x455b70
cmp eax, 0x20
je 0x455b70
cmp eax, 0xa0
jne case.0x4549c6.108
inc edx
cmp edx, ecx
jle 0x455b4e
jmp 0x455cf6
xor edx, edx
inc edx
cmp ecx, edx
jl 0x455cf6
cmp ebx, dword [esi + 0x54]
jae case.0x4549c6.108
movzx eax, byte [ebx]
inc ebx
cmp eax, 0xa
jl 0x455bab
cmp eax, 0xd
jle case.0x4549c6.108
cmp eax, 0x85
je case.0x4549c6.108
inc edx
cmp edx, ecx
jle 0x455b85
jmp 0x455cf6
xor edx, edx
inc edx
cmp ecx, edx
jl 0x455cf6
cmp ebx, dword [esi + 0x54]
jae case.0x4549c6.108
movzx eax, byte [ebx]
inc ebx
cmp eax, 0xa
jl case.0x4549c6.108
cmp eax, 0xd
jle 0x455be6
cmp eax, 0x85
jne case.0x4549c6.108
inc edx
cmp edx, ecx
jle 0x455bc0
jmp 0x455cf6
xor eax, eax
inc eax
cmp ecx, eax
mov dword [ebp + 0x6c], eax
jl 0x455cf6
mov eax, dword [esi + 0x28]
movzx edx, byte [ebx]
mov dl, byte [edx + eax]
and dl, 4
inc ebx
test dl, dl
jne case.0x4549c6.108
inc dword [ebp + 0x6c]
cmp dword [ebp + 0x6c], ecx
jle 0x455c01
jmp 0x455cf6
xor eax, eax
inc eax
cmp ecx, eax
mov dword [ebp + 0x6c], eax
jl 0x455cf6
mov eax, dword [esi + 0x28]
movzx edx, byte [ebx]
mov dl, byte [edx + eax]
and dl, 4
inc ebx
test dl, dl
je case.0x4549c6.108
inc dword [ebp + 0x6c]
cmp dword [ebp + 0x6c], ecx
jle 0x455c31
jmp 0x455cf6
xor eax, eax
inc eax
cmp ecx, eax
mov dword [ebp + 0x6c], eax
jl 0x455cf6
mov eax, dword [esi + 0x28]
movzx edx, byte [ebx]
mov dl, byte [edx + eax]
and dl, 1
inc ebx
test dl, dl
jne case.0x4549c6.108
inc dword [ebp + 0x6c]
cmp dword [ebp + 0x6c], ecx
jle 0x455c61
jmp 0x455cf6
xor eax, eax
inc eax
cmp ecx, eax
mov dword [ebp + 0x6c], eax
jl 0x455cf6
mov eax, dword [esi + 0x28]
movzx edx, byte [ebx]
mov dl, byte [edx + eax]
and dl, 1
inc ebx
test dl, dl
je case.0x4549c6.108
inc dword [ebp + 0x6c]
cmp dword [ebp + 0x6c], ecx
jle 0x455c8a
jmp 0x455cf6
xor eax, eax
inc eax
cmp ecx, eax
mov dword [ebp + 0x6c], eax
jl 0x455cf6
mov eax, dword [esi + 0x28]
movzx edx, byte [ebx]
mov dl, byte [edx + eax]
and dl, 0x10
inc ebx
test dl, dl
jne case.0x4549c6.108
inc dword [ebp + 0x6c]
cmp dword [ebp + 0x6c], ecx
jle 0x455cb3
jmp 0x455cf6
xor eax, eax
inc eax
cmp ecx, eax
mov dword [ebp + 0x6c], eax
jl 0x455cf6
mov eax, dword [esi + 0x28]
movzx edx, byte [ebx]
mov dl, byte [edx + eax]
and dl, 0x10
inc ebx
test dl, dl
je case.0x4549c6.108
inc dword [ebp + 0x6c]
cmp dword [ebp + 0x6c], ecx
jle 0x455cdc
mov edx, dword [ebp + 0x50]
cmp ecx, edx
je 0x45498e
cmp dword [ebp + 0x48], 0
jne 0x4567e2
mov eax, dword [ebp + 0x40]
add eax, 0xfffffffa
cmp eax, 0xe
mov dword [ebp + 0x48], ebx
ja case.0x45686c.14
jmp dword [eax*4 + 0x456b3e]
test byte [ebp + 0x70], 4
jne case.0x455d1d.13
cmp ecx, edx
mov dword [ebp + 0x6c], ecx
jge 0x455fda
mov eax, dword [esi + 0x54]
cmp ebx, eax
jae 0x455fda
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x455d62
push 0
lea edx, [esi + 0x1c]
push edx
push eax
push ecx
push ebx
call fcn.0041b2fc
add esp, 0x14
test eax, eax
jne 0x455fda
jmp 0x455d87
mov ecx, dword [esi + 0x1c]
sub eax, ecx
cmp ebx, eax
ja 0x455d87
mov al, byte [ebx]
cmp al, byte [esi + 0x20]
jne 0x455d87
cmp ecx, 1
je 0x455fda
mov al, byte [ebx + 1]
cmp al, byte [esi + 0x21]
je 0x455fda
inc ebx
inc dword [ebp + 0x6c]
mov eax, dword [ebp + 0x6c]
cmp eax, dword [ebp + 0x50]
jl 0x455d35
jmp 0x455fda
mov eax, dword [esi + 0x54]
sub edx, ecx
mov ecx, edx
sub eax, ebx
cmp ecx, eax
jbe 0x455da7
mov ecx, eax
add ebx, ecx
jmp 0x455fda
cmp ecx, edx
jge 0x455fda
mov edx, dword [esi + 0x54]
cmp ebx, edx
jae 0x455fda
movzx eax, byte [ebx]
cmp eax, 0xd
jne 0x455dd9
inc ebx
cmp ebx, edx
jae 0x455fda
cmp byte [ebx], 0xa
jne 0x455dfe
jmp 0x455dfd
cmp eax, 0xa
je 0x455dfd
cmp dword [esi + 0x48], 0
jne 0x455fda
cmp eax, 0xb
je 0x455dfd
cmp eax, 0xc
je 0x455dfd
cmp eax, 0x85
jne 0x455fda
inc ebx
inc ecx
cmp ecx, dword [ebp + 0x50]
jl 0x455db9
jmp 0x455fda
cmp ecx, edx
jge 0x455fda
mov edx, dword [esi + 0x54]
cmp ebx, edx
jae 0x455fda
movzx eax, byte [ebx]
cmp eax, 9
je 0x455fda
cmp eax, 0x20
je 0x455fda
cmp eax, 0xa0
je 0x455fda
inc ebx
inc ecx
cmp ecx, dword [ebp + 0x50]
jl 0x455e14
jmp 0x455fda
cmp ecx, edx
jge 0x455fda
mov edx, dword [esi + 0x54]
cmp ebx, edx
jae 0x455fda
movzx eax, byte [ebx]
cmp eax, 9
je 0x455e73
cmp eax, 0x20
je 0x455e73
cmp eax, 0xa0
jne 0x455fda
inc ebx
inc ecx
cmp ecx, dword [ebp + 0x50]
jl 0x455e53
jmp 0x455fda
cmp ecx, edx
jge 0x455fda
mov edx, dword [esi + 0x54]
cmp ebx, edx
jae 0x455fda
movzx eax, byte [ebx]
cmp eax, 0xa
je 0x455fda
cmp eax, 0xb
je 0x455fda
cmp eax, 0xc
je 0x455fda
cmp eax, 0xd
je 0x455fda
cmp eax, 0x85
je 0x455fda
inc ebx
inc ecx
cmp ecx, dword [ebp + 0x50]
jl 0x455e8a
jmp 0x455fda
cmp ecx, edx
jge 0x455fda
mov edx, dword [esi + 0x54]
cmp ebx, edx
jae 0x455fda
movzx eax, byte [ebx]
cmp eax, 0xa
je 0x455f05
cmp eax, 0xb
je 0x455f05
cmp eax, 0xc
je 0x455f05
cmp eax, 0xd
je 0x455f05
cmp eax, 0x85
jne 0x455fda
inc ebx
inc ecx
cmp ecx, dword [ebp + 0x50]
jl 0x455edb
jmp 0x455fda
cmp ecx, edx
jge 0x455fda
cmp ebx, dword [esi + 0x54]
jae 0x455fda
movzx eax, byte [ebx]
mov edx, dword [esi + 0x28]
test byte [eax + edx], 4
jne 0x455fda
inc ebx
inc ecx
cmp ecx, dword [ebp + 0x50]
jl 0x455f19
jmp 0x455fda
cmp ecx, edx
jge 0x455fda
cmp ebx, dword [esi + 0x54]
jae 0x455fda
movzx eax, byte [ebx]
mov edx, dword [esi + 0x28]
test byte [eax + edx], 4
je 0x455fda
inc ebx
inc ecx
cmp ecx, dword [ebp + 0x50]
jl 0x455f46
jmp 0x455fda
cmp ecx, edx
jge 0x455fda
cmp ebx, dword [esi + 0x54]
jae 0x455fda
movzx eax, byte [ebx]
mov edx, dword [esi + 0x28]
test byte [eax + edx], 1
jne 0x455fda
inc ebx
inc ecx
cmp ecx, dword [ebp + 0x50]
jl 0x455f68
jmp 0x455fda
cmp ecx, edx
jge 0x455fda
cmp ebx, dword [esi + 0x54]
jae 0x455fda
movzx eax, byte [ebx]
mov edx, dword [esi + 0x28]
test byte [eax + edx], 1
je 0x455fda
inc ebx
inc ecx
cmp ecx, dword [ebp + 0x50]
jl 0x455f86
jmp 0x455fda
cmp ecx, edx
jge 0x455fda
cmp ebx, dword [esi + 0x54]
jae 0x455fda
movzx eax, byte [ebx]
mov edx, dword [esi + 0x28]
test byte [eax + edx], 0x10
jne 0x455fda
inc ebx
inc ecx
cmp ecx, dword [ebp + 0x50]
jl 0x455fa4
jmp 0x455fda
cmp ecx, edx
jge 0x455fda
cmp ebx, dword [esi + 0x54]
jae 0x455fda
movzx eax, byte [ebx]
mov edx, dword [esi + 0x28]
test byte [eax + edx], 0x10
je 0x455fda
inc ebx
inc ecx
cmp ecx, dword [ebp + 0x50]
jl 0x455fc2
cmp dword [ebp + 0x4c], 0
jne 0x45498e
cmp ebx, dword [ebp + 0x48]
jb case.0x4549c6.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.00454943
add esp, 0x24
dec ebx
test eax, eax
jne 0x45697c
cmp ebx, dword [ebp + 0x48]
jae 0x455ff4
jmp case.0x4549c6.108
xor eax, eax
mov ah, byte [edi + 4]
mov al, byte [edi + 5]
lea edi, [edi + eax + 3]
jmp 0x45603b
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
cmp byte [edi], 0x53
je 0x456031
add edi, 3
cmp dword [ebp + 0x6c], 0x62
jne 0x45614d
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 0x456349
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 0x456263
cmp ecx, 0x60
jl 0x45608b
mov dword [ebp + 0x78], 2
jmp 0x4560d5
and dword [ebp + 0x78], 0
jmp 0x4560d5
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 + 0x460598]
push dword [ebp + 0x70]
add eax, edi
push esi
push dword [ebp + 0x68]
push dword [ebp + 0x64]
push eax
push ebx
call fcn.00454943
add esp, 0x24
test eax, eax
je 0x4560cb
cmp eax, 0xfffffc1c
jne 0x45697c
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 0x456091
cmp dword [ebp + 0x78], 0
jne 0x456327
movzx eax, byte [edi]
movzx eax, byte [eax + 0x460598]
add edi, eax
jmp 0x456151
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.00454943
add esp, 0x24
test eax, eax
jne 0x45697c
mov edi, dword [ebp + 0x40]
jmp 0x45614d
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.00454943
add esp, 0x24
test eax, eax
jne 0x45697c
add edi, 3
and dword [ebp + 0x78], 0
mov eax, dword [esi]
cmp eax, dword [esi + 4]
jb 0x454965
inc dword [esi]
push 0xfffffffffffffff8
jmp 0x45697b
push 0xffffffffffffffeb
jmp 0x45697b
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 + 0x460598]
push dword [ebp + 0x70]
add eax, edi
push esi
push dword [ebp + 0x68]
push dword [ebp + 0x64]
push eax
push ebx
call fcn.00454943
add esp, 0x24
test eax, eax
jne 0x45697c
mov eax, 0xfffffc1a
jmp 0x45697c
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 + 0x460598]
push dword [ebp + 0x70]
add eax, edi
push esi
push dword [ebp + 0x68]
push dword [ebp + 0x64]
push eax
push ebx
call fcn.00454943
add esp, 0x24
test eax, eax
jne 0x45697c
mov eax, 0xfffffc19
jmp 0x45697c
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 + 0x460598]
push dword [ebp + 0x70]
add eax, edi
push esi
push dword [ebp + 0x68]
push dword [ebp + 0x64]
push eax
push ebx
call fcn.00454943
add esp, 0x24
test eax, eax
jne 0x45697c
mov dword [esi + 0x58], ebx
mov eax, 0xfffffc1b
jmp 0x45697c
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 + 0x460598]
push dword [ebp + 0x70]
add eax, edi
push esi
push dword [ebp + 0x68]
push dword [ebp + 0x64]
push eax
push ebx
call fcn.00454943
add esp, 0x24
test eax, eax
jne 0x45697c
mov eax, 0xfffffc1c
jmp 0x45697c
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 0x4562a5
mov dword [ebp + 0x78], 2
jmp 0x4562a9
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 + 0x460598]
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.00454943
add esp, 0x24
test eax, eax
je 0x4562e8
cmp eax, 0xfffffc1c
jne 0x45697c
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 0x4562b0
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.0x4549c6.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 + 0x460598]
push dword [ebp + 0x70]
add eax, edi
push esi
push dword [ebp + 0x68]
push dword [ebp + 0x64]
push eax
push ebx
call fcn.00454943
add esp, 0x24
jmp 0x45697c
cmp dword [esi + 0x3c], 0
je 0x456366
cmp ebx, dword [ebp + 0x64]
je case.0x4549c6.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 0x45697c
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 0x456396
and dword [ebp + 0x24], 0
jmp 0x4563a1
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 0x4563c6
lea ecx, [ebp - 0x60]
mov dword [ebp + 0x30], ecx
jmp 0x4563e2
shl eax, 2
push eax
call dword [0x465534]
test eax, eax
pop ecx
mov dword [ebp + 0x30], eax
jne 0x4563df
push 0xfffffffffffffffa
jmp 0x45697b
mov eax, dword [ebp + 0x34]
shl eax, 2
push eax
push dword [esi + 0xc]
push dword [ebp + 0x30]
call fcn.00456f20
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 + 0x460598]
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.00454943
add esp, 0x24
cmp eax, 1
je 0x45649b
test eax, eax
je 0x456449
cmp eax, 0xfffffc1c
jne 0x45697c
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.00456f20
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 0x45640f
mov eax, dword [ebp + 0x20]
mov dword [esi + 0x74], eax
lea eax, [ebp - 0x60]
cmp dword [ebp + 0x30], eax
je case.0x4549c6.108
push dword [ebp + 0x30]
call dword [0x465538]
pop ecx
jmp case.0x4549c6.108
mov eax, dword [ebp + 0x20]
mov dword [esi + 0x74], eax
lea eax, [ebp - 0x60]
cmp dword [ebp + 0x30], eax
je 0x454b91
push dword [ebp + 0x30]
call dword [0x465538]
pop ecx
jmp 0x454b91
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 0x456349
mov eax, dword [ebp + 0x68]
mov dword [esi + 0x5c], ebx
mov dword [esi + 0x60], eax
jmp 0x454b91
mov eax, dword [ebp + 0x50]
cmp dword [ebp + 0x6c], eax
jge case.0x4549c6.108
push dword [ebp + 0x70]
mov eax, dword [ebp + 0x3c]
mov edx, dword [ebp + 0x40]
push ebx
mov ecx, esi
call fcn.004548e5
test eax, eax
pop ecx
pop ecx
je case.0x4549c6.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.00454943
add esp, 0x24
test eax, eax
je 0x4564e7
jmp 0x45697c
cmp ecx, dword [ebp + 0x50]
mov dword [ebp + 0x48], ebx
mov dword [ebp + 0x6c], ecx
jge 0x456572
push dword [ebp + 0x70]
mov eax, dword [ebp + 0x3c]
mov edx, dword [ebp + 0x40]
push ebx
mov ecx, esi
call fcn.004548e5
test eax, eax
pop ecx
pop ecx
je 0x456569
add ebx, dword [ebp + 0x3c]
inc dword [ebp + 0x6c]
mov eax, dword [ebp + 0x6c]
cmp eax, dword [ebp + 0x50]
jl 0x456544
cmp ebx, dword [ebp + 0x48]
jb case.0x4549c6.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.00454943
add esp, 0x24
test eax, eax
jne 0x45697c
sub ebx, dword [ebp + 0x3c]
cmp ebx, dword [ebp + 0x48]
jae 0x456579
jmp case.0x4549c6.108
mov eax, dword [ebp + 0x50]
cmp dword [ebp + 0x6c], eax
jge case.0x4549c6.108
cmp ebx, dword [esi + 0x54]
jae case.0x4549c6.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.0x4549c6.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.00454943
add esp, 0x24
test eax, eax
je 0x4565aa
jmp 0x45697c
cmp ecx, dword [ebp + 0x50]
mov dword [ebp + 0x48], ebx
jge 0x456642
cmp ebx, dword [esi + 0x54]
jae 0x456639
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 0x456639
inc ebx
inc dword [ebp + 0x6c]
mov eax, dword [ebp + 0x6c]
cmp eax, dword [ebp + 0x50]
jl 0x45660e
cmp ebx, dword [ebp + 0x48]
jb case.0x4549c6.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.00454943
add esp, 0x24
test eax, eax
jne 0x45697c
dec ebx
cmp ebx, dword [ebp + 0x48]
jae 0x456649
jmp case.0x4549c6.108
mov eax, dword [ebp + 0x7c]
inc eax
mov dword [ebp + 0x6c], ecx
mov dword [ebp + 0x4c], eax
push eax
jmp 0x4566b4
mov eax, dword [ebp + 0x50]
cmp dword [ebp + 0x6c], eax
jge case.0x4549c6.108
cmp ebx, dword [esi + 0x54]
jae case.0x4549c6.108
movzx eax, byte [ebx]
mov ecx, dword [esi + 0x24]
movzx eax, byte [eax + ecx]
inc ebx
cmp dword [ebp + 0x44], eax
jne case.0x4549c6.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.00454943
add esp, 0x24
test eax, eax
je 0x456685
jmp 0x45697c
mov eax, dword [ebp + 0x7c]
inc eax
mov dword [ebp + 0x6c], ecx
mov dword [ebp + 0x4c], eax
push eax
jmp 0x45670b
mov eax, dword [ebp + 0x50]
cmp dword [ebp + 0x6c], eax
jge case.0x4549c6.108
cmp ebx, dword [esi + 0x54]
jae case.0x4549c6.108
movzx eax, byte [ebx]
inc ebx
cmp dword [ebp + 0x44], eax
jne case.0x4549c6.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.00454943
add esp, 0x24
test eax, eax
je 0x4566e3
jmp 0x45697c
mov eax, dword [ebp + 0x7c]
inc eax
mov dword [ebp + 0x6c], ecx
mov dword [ebp + 0x4c], eax
push eax
jmp 0x456769
mov eax, dword [ebp + 0x50]
cmp dword [ebp + 0x6c], eax
jge case.0x4549c6.108
cmp ebx, dword [esi + 0x54]
jae case.0x4549c6.108
movzx eax, byte [ebx]
mov ecx, dword [esi + 0x24]
movzx eax, byte [eax + ecx]
inc ebx
cmp dword [ebp + 0x44], eax
je case.0x4549c6.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.00454943
add esp, 0x24
test eax, eax
je 0x45673a
jmp 0x45697c
mov eax, dword [ebp + 0x7c]
inc eax
mov dword [ebp + 0x6c], ecx
mov dword [ebp + 0x4c], eax
push eax
jmp 0x4567c0
mov eax, dword [ebp + 0x50]
cmp dword [ebp + 0x6c], eax
jge case.0x4549c6.108
cmp ebx, dword [esi + 0x54]
jae case.0x4549c6.108
movzx eax, byte [ebx]
inc ebx
cmp dword [ebp + 0x44], eax
je case.0x4549c6.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.00454943
add esp, 0x24
test eax, eax
je 0x456798
jmp 0x45697c
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 0x456952
mov eax, dword [ebp + 0x50]
cmp dword [ebp + 0x6c], eax
jge case.0x4549c6.108
mov eax, dword [esi + 0x54]
cmp ebx, eax
jae case.0x4549c6.108
test byte [ebp + 0x70], 4
jne 0x456859
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x456834
push 0
lea edx, [esi + 0x1c]
push edx
push eax
push ecx
push ebx
call fcn.0041b2fc
add esp, 0x14
test eax, eax
jne case.0x4549c6.108
jmp 0x456859
mov ecx, dword [esi + 0x1c]
sub eax, ecx
cmp ebx, eax
ja 0x456859
mov al, byte [ebx]
cmp al, byte [esi + 0x20]
jne 0x456859
cmp ecx, 1
je case.0x4549c6.108
mov al, byte [ebx + 1]
cmp al, byte [esi + 0x21]
je case.0x4549c6.108
mov ecx, dword [ebp + 0x40]
movzx eax, byte [ebx]
add ecx, 0xfffffffa
inc ebx
cmp ecx, 0xe
ja case.0x45686c.14
jmp dword [ecx*4 + 0x456b7a]
cmp eax, 0xa
je case.0x45686c.12
jbe case.0x4549c6.108
cmp eax, 0xc
jbe 0x456897
cmp eax, 0xd
je 0x4568a0
cmp eax, 0x85
jne case.0x4549c6.108
cmp dword [esi + 0x48], 0
jmp 0x456937
cmp ebx, dword [esi + 0x54]
jae case.0x45686c.12
cmp byte [ebx], 0xa
jne case.0x45686c.12
inc ebx
jmp case.0x45686c.12
cmp eax, 9
je case.0x4549c6.108
cmp eax, 0x20
je case.0x4549c6.108
cmp eax, 0xa0
jmp 0x456946
cmp eax, 9
je case.0x45686c.12
cmp eax, 0x20
je case.0x45686c.12
cmp eax, 0xa0
jmp 0x456937
cmp eax, 0xa
jb case.0x45686c.12
cmp eax, 0xd
jbe case.0x4549c6.108
cmp eax, 0x85
jmp 0x456946
cmp eax, 0xa
jb case.0x4549c6.108
cmp eax, 0xd
jbe case.0x45686c.12
cmp eax, 0x85
jmp 0x456937
mov ecx, dword [esi + 0x28]
test byte [eax + ecx], 4
jmp 0x456937
mov ecx, dword [esi + 0x28]
test byte [eax + ecx], 4
jmp 0x456946
mov ecx, dword [esi + 0x28]
test byte [eax + ecx], 1
jmp 0x456937
mov ecx, dword [esi + 0x28]
test byte [eax + ecx], 1
jmp 0x456946
mov ecx, dword [esi + 0x28]
test byte [eax + ecx], 0x10
jne case.0x4549c6.108
jmp case.0x45686c.12
mov ecx, dword [esi + 0x28]
test byte [eax + ecx], 0x10
je case.0x4549c6.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.00454943
add esp, 0x24
test eax, eax
je 0x4567f5
jmp 0x45697c
push 0xfffffffffffffff2
jmp 0x45697b
push 0xfffffffffffffffb
pop eax
pop edi
pop esi
pop ebx
add ebp, 0x54
leave
ret