Function at 0x5708a0
Capabilities:
Parse credit card information

Disassembly:
sub esp, 0x14
push ebx
push ebp
mov ebp, dword [esp + 0x24]
xor eax, eax
mov dword [esp + 0x14], eax
mov dword [esp + 8], eax
mov dword [esp + 0x10], eax
mov al, byte [ebp]
mov ebx, ecx
push esi
test al, al
push edi
mov dword [esp + 0x14], ebx
mov dword [esp + 0x20], 0xffffffff
je 0x57167e
mov edi, dword [esp + 0x30]
mov esi, dword [esp + 0x28]
movsx eax, al
push eax
call fcn.005de801
add esp, 4
test eax, eax
je 0x570912
movsx ecx, byte [esi]
push ecx
call fcn.005de801
add esp, 4
test eax, eax
je 0x57090c
movsx edx, byte [esi + 1]
inc esi
push edx
call fcn.005de801
add esp, 4
test eax, eax
jne 0x5708fa
inc ebp
jmp case.0x570948.54
mov al, byte [ebp]
cmp al, 0x25
je 0x57092a
mov cl, byte [esi]
inc esi
inc ebp
cmp al, cl
jne case.0x571289.81
jmp case.0x570948.54
inc ebp
movsx eax, byte [ebp]
sub eax, 0x25
inc ebp
cmp eax, 0x54
mov dword [esp + 0x2c], ebp
ja case.0x571289.81
xor edx, edx
mov dl, byte [eax + 0x57170c]
jmp dword [edx*4 + 0x571690]
mov al, byte [ebp]
cmp al, 0x63
je 0x57092b
cmp al, 0x43
je 0x57092b
cmp al, 0x79
je 0x57092b
cmp al, 0x59
je 0x57092b
cmp al, 0x78
je 0x57092b
cmp al, 0x58
jne case.0x571289.81
jmp 0x57092b
mov al, byte [esi]
inc esi
cmp al, 0x25
jne case.0x571289.81
jmp case.0x570948.54
mov dword [esp + 0x28], 0
mov ebp, 0x656080
mov ebx, 0x656038
mov edi, ebx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push esi
push ebx
call fcn.005e1940
add esp, 0xc
test eax, eax
je 0x5709e1
mov edi, ebp
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push esi
push ebp
call fcn.005e1940
add esp, 0xc
test eax, eax
je 0x5709f1
mov edi, dword [esp + 0x28]
add ebx, 0xa
inc edi
add ebp, 4
cmp ebx, 0x65607e
mov dword [esp + 0x28], edi
jge 0x570a08
jmp 0x570992
mov eax, dword [esp + 0x28]
lea ecx, [eax + eax*4]
lea edi, [ecx*2 + 0x656038]
jmp 0x5709fc
mov edx, dword [esp + 0x28]
lea edi, [edx*4 + 0x656080]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
add esi, ecx
mov eax, dword [esp + 0x28]
cmp eax, 7
je case.0x571289.81
mov ecx, dword [esp + 0x30]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x2c]
mov edi, ecx
mov dword [ecx + 0x18], eax
jmp case.0x570948.54
mov dword [esp + 0x28], 0
mov ebp, 0x656114
mov ebx, 0x65609c
mov edi, ebx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push esi
push ebx
call fcn.005e1940
add esp, 0xc
test eax, eax
je 0x570a8c
mov edi, ebp
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push esi
push ebp
call fcn.005e1940
add esp, 0xc
test eax, eax
je 0x570a9c
mov edi, dword [esp + 0x28]
add ebx, 0xa
inc edi
add ebp, 4
cmp ebx, 0x656114
mov dword [esp + 0x28], edi
jge 0x570ab3
jmp 0x570a3d
mov eax, dword [esp + 0x28]
lea edx, [eax + eax*4]
lea edi, [edx*2 + 0x65609c]
jmp 0x570aa7
mov eax, dword [esp + 0x28]
lea edi, [eax*4 + 0x656114]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
add esi, ecx
mov eax, dword [esp + 0x28]
cmp eax, 0xc
je case.0x571289.81
mov ecx, dword [esp + 0x30]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x2c]
mov edi, ecx
mov dword [ecx + 0x10], eax
jmp case.0x570948.54
mov al, byte [0x6dd250]
test al, al
je case.0x571289.81
push edi
push 0x6dd250
jmp 0x570fb8
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 2
jne 0x570b05
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x570afc
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x571289.81
cmp cl, 0x39
jg case.0x571289.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x570b3f
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0x63
ja 0x570b3f
mov cl, byte [esi]
cmp cl, 0x30
jl 0x570b3f
cmp cl, 0x39
jle 0x570b19
cmp eax, 0x63
ja case.0x571289.81
mov dword [esp + 0x20], eax
jmp case.0x570948.54
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 2
jne 0x570b68
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x570b5f
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x571289.81
cmp cl, 0x39
jg case.0x571289.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x570ba2
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0x1f
ja 0x570ba2
mov cl, byte [esi]
cmp cl, 0x30
jl 0x570ba2
cmp cl, 0x39
jle 0x570b7c
cmp eax, 1
jb case.0x571289.81
cmp eax, 0x1f
ja case.0x571289.81
mov dword [edi + 0xc], eax
jmp case.0x570948.54
mov al, byte [0x6dd244]
test al, al
je case.0x571289.81
push edi
push 0x6dd244
jmp 0x570fb8
mov al, byte [0x6dd238]
test al, al
je case.0x571289.81
push edi
push 0x6dd238
jmp 0x570fb8
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 2
jne 0x570c03
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x570bfa
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x571289.81
cmp cl, 0x39
jg case.0x571289.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x570c3d
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0x17
ja 0x570c3d
mov cl, byte [esi]
cmp cl, 0x30
jl 0x570c3d
cmp cl, 0x39
jle 0x570c17
cmp eax, 0x17
ja case.0x571289.81
mov dword [edi + 8], eax
mov dword [esp + 0x10], 0
jmp case.0x570948.54
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 2
jne 0x570c6d
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x570c64
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x571289.81
cmp cl, 0x39
jg case.0x571289.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x570ca7
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0xc
ja 0x570ca7
mov cl, byte [esi]
cmp cl, 0x30
jl 0x570ca7
cmp cl, 0x39
jle 0x570c81
cmp eax, 1
jb case.0x571289.81
cmp eax, 0xc
ja case.0x571289.81
xor edx, edx
mov ecx, 0xc
div ecx
mov dword [esp + 0x10], 1
mov dword [edi + 8], edx
jmp case.0x570948.54
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 3
jne 0x570ce9
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x570ce0
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x571289.81
cmp cl, 0x39
jg case.0x571289.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x570d26
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0x16e
ja 0x570d26
mov cl, byte [esi]
cmp cl, 0x30
jl 0x570d26
cmp cl, 0x39
jle 0x570cfd
cmp eax, 1
jb case.0x571289.81
cmp eax, 0x16e
ja case.0x571289.81
dec eax
mov dword [edi + 0x1c], eax
jmp case.0x570948.54
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 2
jne 0x570d5a
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x570d51
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x571289.81
cmp cl, 0x39
jg case.0x571289.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x570d94
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0xc
ja 0x570d94
mov cl, byte [esi]
cmp cl, 0x30
jl 0x570d94
cmp cl, 0x39
jle 0x570d6e
cmp eax, 1
jb case.0x571289.81
cmp eax, 0xc
ja case.0x571289.81
dec eax
mov dword [edi + 0x10], eax
jmp case.0x570948.54
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 2
jne 0x570dc6
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x570dbd
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x571289.81
cmp cl, 0x39
jg case.0x571289.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x570e00
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0x3b
ja 0x570e00
mov cl, byte [esi]
cmp cl, 0x30
jl 0x570e00
cmp cl, 0x39
jle 0x570dda
cmp eax, 0x3b
ja case.0x571289.81
mov dword [edi + 4], eax
jmp case.0x570948.54
movsx edx, byte [esi]
push edx
call fcn.005de801
add esp, 4
test eax, eax
je case.0x570948.54
movsx eax, byte [esi + 1]
inc esi
push eax
call fcn.005de801
add esp, 4
test eax, eax
jne 0x570e25
jmp case.0x570948.54
mov edi, 0x6dd234
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push esi
push 0x6dd234
call fcn.005e1940
add esp, 0xc
test eax, eax
jne 0x570e7e
mov edi, 0x6dd234
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x30]
mov ebp, dword [esp + 0x2c]
not ecx
dec ecx
add esi, ecx
jmp case.0x570948.54
mov edi, 0x6dd230
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push esi
push 0x6dd230
call fcn.005e1940
add esp, 0xc
test eax, eax
jne case.0x571289.81
mov edi, 0x6dd230
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x30]
mov ebp, dword [esp + 0x2c]
mov dword [esp + 0x1c], 1
not ecx
dec ecx
add esi, ecx
jmp case.0x570948.54
mov al, byte [0x6dd224]
test al, al
je case.0x571289.81
push edi
push 0x6dd224
jmp 0x570fb8
mov al, byte [0x6dd21c]
test al, al
je case.0x571289.81
push edi
push 0x6dd21c
jmp 0x570fb8
mov al, byte [esi]
xor ecx, ecx
cmp al, 0x30
jl case.0x571289.81
cmp al, 0x39
jg case.0x571289.81
inc esi
lea ecx, [ecx + ecx*4]
movsx edx, al
mov al, byte [esi]
cmp al, 0x30
lea ecx, [edx + ecx*2 - 0x30]
jl 0x570f25
cmp al, 0x39
jle 0x570f10
lea eax, [esp + 0x2c]
push edi
push eax
mov dword [esp + 0x34], ecx
call fcn.00570870
add esp, 8
test eax, eax
je case.0x571289.81
jmp case.0x570948.54
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 2
jne 0x570f5b
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x570f52
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x571289.81
cmp cl, 0x39
jg case.0x571289.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x570f95
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0x3d
ja 0x570f95
mov cl, byte [esi]
cmp cl, 0x30
jl 0x570f95
cmp cl, 0x39
jle 0x570f6f
cmp eax, 0x3d
ja case.0x571289.81
mov dword [edi], eax
jmp case.0x570948.54
mov al, byte [0x6dd210]
test al, al
je case.0x571289.81
push edi
push 0x6dd210
push esi
mov ecx, ebx
call fcn.005708a0
mov esi, eax
test esi, esi
je case.0x571289.81
jmp case.0x570948.54
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 1
jne 0x570fe6
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x570fdd
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x571289.81
cmp cl, 0x39
jg case.0x571289.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x571020
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 7
ja 0x571020
mov cl, byte [esi]
cmp cl, 0x30
jl 0x571020
cmp cl, 0x39
jle 0x570ffa
cmp eax, 1
jb case.0x571289.81
cmp eax, 7
ja case.0x571289.81
xor edx, edx
mov ecx, 7
div ecx
mov dword [edi + 0x18], edx
jmp case.0x570948.54
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 2
jne 0x57105a
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x571051
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x571289.81
cmp cl, 0x39
jg case.0x571289.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x571094
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0x63
ja 0x571094
mov cl, byte [esi]
cmp cl, 0x30
jl 0x571094
cmp cl, 0x39
jle 0x57106e
cmp eax, 0x63
ja case.0x571289.81
jmp case.0x570948.54
mov al, byte [esi]
cmp al, 0x30
jl case.0x571289.81
cmp al, 0x39
jg case.0x571289.81
mov al, byte [esi + 1]
inc esi
cmp al, 0x30
jl case.0x570948.54
cmp al, 0x39
jle 0x5710b4
jmp case.0x570948.54
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 2
jne 0x5710e0
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x5710d7
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x571289.81
cmp cl, 0x39
jg case.0x571289.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x57111a
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0x35
ja 0x57111a
mov cl, byte [esi]
cmp cl, 0x30
jl 0x57111a
cmp cl, 0x39
jle 0x5710f4
cmp eax, 0x35
ja case.0x571289.81
jmp case.0x570948.54
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 1
jne 0x57113f
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x571136
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x571289.81
cmp cl, 0x39
jg case.0x571289.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x571179
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 6
ja 0x571179
mov cl, byte [esi]
cmp cl, 0x30
jl 0x571179
cmp cl, 0x39
jle 0x571153
cmp eax, 6
ja case.0x571289.81
mov dword [edi + 0x18], eax
jmp case.0x570948.54
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 2
jne 0x5711a1
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x571198
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x571289.81
cmp cl, 0x39
jg case.0x571289.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x5711db
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0x63
ja 0x5711db
mov cl, byte [esi]
cmp cl, 0x30
jl 0x5711db
cmp cl, 0x39
jle 0x5711b5
cmp eax, 0x63
ja case.0x571289.81
cmp eax, 0x45
jae 0x5711ec
add eax, 0x64
mov dword [edi + 0x14], eax
mov dword [esp + 0x18], 1
jmp case.0x570948.54
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 4
jne 0x571213
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x57120a
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x571289.81
cmp cl, 0x39
jg case.0x571289.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x571250
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0x270f
ja 0x571250
mov cl, byte [esi]
cmp cl, 0x30
jl 0x571250
cmp cl, 0x39
jle 0x571227
cmp eax, 0x270f
ja case.0x571289.81
add eax, 0xfffff894
mov dword [esp + 0x18], 0
mov dword [edi + 0x14], eax
jmp case.0x570948.54
movsx eax, byte [ebp]
sub eax, 0x48
inc ebp
cmp eax, 0x31
ja case.0x571289.81
xor edx, edx
mov dl, byte [eax + 0x57178c]
jmp dword [edx*4 + 0x571764]
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 2
jne 0x5712a7
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x57129e
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x571289.81
cmp cl, 0x39
jg case.0x571289.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x570ba2
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0x1f
ja 0x570ba2
mov cl, byte [esi]
cmp cl, 0x30
jl 0x570ba2
cmp cl, 0x39
jle 0x5712bb
jmp 0x570ba2
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 2
jne 0x571309
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x571300
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x571289.81
cmp cl, 0x39
jg case.0x571289.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x571343
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0x17
ja 0x571343
mov cl, byte [esi]
cmp cl, 0x30
jl 0x571343
cmp cl, 0x39
jle 0x57131d
cmp eax, 0x17
ja case.0x571289.81
mov dword [edi + 8], eax
mov dword [esp + 0x10], 0
jmp case.0x570948.54
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 2
jne 0x571373
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x57136a
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x571289.81
cmp cl, 0x39
jg case.0x571289.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x5713ad
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0xc
ja 0x5713ad
mov cl, byte [esi]
cmp cl, 0x30
jl 0x5713ad
cmp cl, 0x39
jle 0x571387
cmp eax, 1
jb case.0x571289.81
cmp eax, 0xc
ja case.0x571289.81
dec eax
mov dword [esp + 0x10], 1
mov dword [edi + 8], eax
jmp case.0x570948.54
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 2
jne 0x5713e7
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x5713de
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x571289.81
cmp cl, 0x39
jg case.0x571289.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x570d94
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0xc
ja 0x570d94
mov cl, byte [esi]
cmp cl, 0x30
jl 0x570d94
cmp cl, 0x39
jle 0x5713fb
jmp 0x570d94
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 2
jne 0x571449
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x571440
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x571289.81
cmp cl, 0x39
jg case.0x571289.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x571483
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0x3b
ja 0x571483
mov cl, byte [esi]
cmp cl, 0x30
jl 0x571483
cmp cl, 0x39
jle 0x57145d
cmp eax, 0x3b
ja case.0x571289.81
mov dword [edi + 4], eax
jmp case.0x570948.54
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 2
jne 0x5714ab
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x5714a2
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x571289.81
cmp cl, 0x39
jg case.0x571289.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x5714e5
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0x3d
ja 0x5714e5
mov cl, byte [esi]
cmp cl, 0x30
jl 0x5714e5
cmp cl, 0x39
jle 0x5714bf
cmp eax, 0x3d
ja case.0x571289.81
mov dword [edi], eax
jmp case.0x570948.54
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 2
jne 0x57150c
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x571503
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x571289.81
cmp cl, 0x39
jg case.0x571289.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x571546
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0x35
ja 0x571546
mov cl, byte [esi]
cmp cl, 0x30
jl 0x571546
cmp cl, 0x39
jle 0x571520
cmp eax, 0x35
ja case.0x571289.81
jmp case.0x570948.54
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 1
jne 0x57156b
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x571562
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x571289.81
cmp cl, 0x39
jg case.0x571289.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x5715a5
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 6
ja 0x5715a5
mov cl, byte [esi]
cmp cl, 0x30
jl 0x5715a5
cmp cl, 0x39
jle 0x57157f
cmp eax, 6
ja case.0x571289.81
mov dword [edi + 0x18], eax
jmp case.0x570948.54
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 2
jne 0x5715c6
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x5715bd
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x571289.81
cmp cl, 0x39
jg case.0x571289.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x5715f8
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0x63
ja 0x5715f8
mov cl, byte [esi]
cmp cl, 0x30
jl 0x5715f8
cmp cl, 0x39
jle 0x5715d2
cmp eax, 0x63
ja case.0x571289.81
cmp eax, 0x45
jae 0x571605
add eax, 0x64
mov dword [edi + 0x14], eax
mov al, byte [ebp]
test al, al
je 0x571620
jmp 0x5708da
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x14
ret 0xc
mov eax, dword [esp + 0x10]
test eax, eax
je 0x571634
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x571634
add dword [edi + 8], 0xc
mov eax, dword [esp + 0x20]
cmp eax, 0xffffffff
je 0x571682
mov ecx, dword [esp + 0x18]
lea eax, [eax + eax*4 - 0x5f]
test ecx, ecx
je 0x571669
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x14]
cdq
mov ebx, 0x64
idiv ebx
mov eax, esi
lea edx, [edx + ecx*4]
mov dword [edi + 0x14], edx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret 0xc
lea eax, [eax + eax*4]
shl eax, 2
mov dword [edi + 0x14], eax
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret 0xc
mov esi, dword [esp + 0x28]
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret 0xc