Function at 0x10034500
Capabilities:
Parse credit card information

Disassembly:
push ebx
push esi
mov esi, ecx
xor cl, cl
push edi
mov eax, dword [esi + 0x4c]
cmp eax, 0xffffffff
je 0x10034967
lea edi, [esi + 8]
cmp eax, 0x7c
je 0x10034967
cmp eax, 0x29
jne 0x10034540
cmp dword [esi + 0x10], 0
jne 0x10034967
test dword [esi + 0x50], 0x10000000
je 0x10034974
jmp 0x10034900
cmp eax, 0x2e
jne 0x10034593
push 5
lea ecx, [esi + 0x24]
call fcn.10034990
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x10034948
cmp byte [eax], 0x5c
jne 0x1003474f
lea ecx, [eax + 1]
cmp ecx, edx
je 0x1003474f
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x1003458b
mov dl, byte [ecx]
cmp dl, 0x28
je 0x1003474d
cmp dl, 0x29
je 0x1003474d
test bl, 0x10
jmp 0x1003473f
cmp eax, 0x5c
jne 0x100346b1
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x100345da
cmp byte [eax], 0x5c
jne 0x100345d7
lea ecx, [eax + 1]
cmp ecx, edx
je 0x100345d7
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x100345c4
mov dl, byte [ecx]
cmp dl, 0x28
je 0x100345d5
cmp dl, 0x29
je 0x100345d5
test bl, 0x10
jne 0x100345d7
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x100345d5
cmp dl, 0x7d
jne 0x100345d7
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.100335d0
test byte [esi + 0x50], 0x80
je 0x100346a5
mov al, byte [esi + 0x48]
cmp al, 0x62
jne 0x10034646
push 4
lea ecx, [esi + 0x24]
call fcn.10034990
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1003463a
cmp byte [eax], 0x5c
jne 0x10034637
lea ecx, [eax + 1]
cmp ecx, edx
je 0x10034637
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x10034624
mov dl, byte [ecx]
cmp dl, 0x28
je 0x10034635
cmp dl, 0x29
je 0x10034635
test bl, 0x10
jne 0x10034637
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x10034635
cmp dl, 0x7d
jne 0x10034637
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.100335d0
jmp 0x10034959
cmp al, 0x42
jne 0x100346a5
push 4
lea ecx, [esi + 0x24]
call fcn.10034990
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x10034699
cmp byte [eax], 0x5c
jne 0x10034696
lea ecx, [eax + 1]
cmp ecx, edx
je 0x10034696
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x10034683
mov al, byte [ecx]
cmp al, 0x28
je 0x10034694
cmp al, 0x29
je 0x10034694
mov eax, dword [esi]
test dl, 0x10
jne 0x10034696
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x10034694
cmp dl, 0x7d
jne 0x10034696
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.100335d0
jmp 0x10034959
mov ecx, esi
call fcn.100359e0
jmp 0x1003494f
cmp eax, 0x5b
jne 0x10034757
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x100346f8
cmp byte [eax], 0x5c
jne 0x100346f5
lea ecx, [eax + 1]
cmp ecx, edx
je 0x100346f5
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x100346e2
mov al, byte [ecx]
cmp al, 0x28
je 0x100346f3
cmp al, 0x29
je 0x100346f3
mov eax, dword [esi]
test dl, 0x10
jne 0x100346f5
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x100346f3
cmp dl, 0x7d
jne 0x100346f5
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.100335d0
mov ecx, esi
call fcn.100358b0
cmp dword [esi + 0x4c], 0x5d
jne 0x10034982
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x10034948
cmp byte [eax], 0x5c
jne 0x1003474f
lea ecx, [eax + 1]
cmp ecx, edx
je 0x1003474f
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x1003473c
mov al, byte [ecx]
cmp al, 0x28
je 0x1003474d
cmp al, 0x29
je 0x1003474d
mov eax, dword [esi]
test dl, 0x10
jne 0x1003474f
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x1003474d
cmp dl, 0x7d
jne 0x1003474f
mov eax, ecx
inc eax
mov dword [esi], eax
jmp 0x10034948
cmp eax, 0x28
jne 0x1003480a
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1003479e
cmp byte [eax], 0x5c
jne 0x1003479b
lea ecx, [eax + 1]
cmp ecx, edx
je 0x1003479b
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x10034788
mov al, byte [ecx]
cmp al, 0x28
je 0x10034799
cmp al, 0x29
je 0x10034799
mov eax, dword [esi]
test dl, 0x10
jne 0x1003479b
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x10034799
cmp dl, 0x7d
jne 0x1003479b
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.100335d0
mov ecx, esi
call fcn.10035b30
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x10034974
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x100347f6
cmp byte [eax], 0x5c
jne 0x100347f3
lea ecx, [eax + 1]
cmp ecx, edx
je 0x100347f3
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x100347e0
mov al, byte [ecx]
cmp al, 0x28
je 0x100347f1
cmp al, 0x29
je 0x100347f1
mov eax, dword [esi]
test dl, 0x10
jne 0x100347f3
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x100347f1
cmp dl, 0x7d
jne 0x100347f3
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.100335d0
test bl, bl
je 0x10034959
jmp 0x1003494f
cmp eax, 0x5e
jne 0x10034860
push 2
lea ecx, [esi + 0x24]
call fcn.10034990
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x10034854
cmp byte [eax], 0x5c
jne 0x10034852
inc eax
cmp eax, ecx
je 0x10034852
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1003483f
mov dl, byte [eax]
cmp dl, 0x28
je 0x10034850
cmp dl, 0x29
je 0x10034850
test cl, 0x10
jne 0x10034852
mov cl, byte [eax]
cmp cl, 0x7b
je 0x10034850
cmp cl, 0x7d
jne 0x10034852
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.100335d0
jmp 0x10034959
cmp eax, 0x24
jne 0x100348b6
push 3
lea ecx, [esi + 0x24]
call fcn.10034990
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x100348aa
cmp byte [eax], 0x5c
jne 0x100348a8
inc eax
cmp eax, ecx
je 0x100348a8
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x10034895
mov dl, byte [eax]
cmp dl, 0x28
je 0x100348a6
cmp dl, 0x29
je 0x100348a6
test cl, 0x10
jne 0x100348a8
mov cl, byte [eax]
cmp cl, 0x7b
je 0x100348a6
cmp cl, 0x7d
jne 0x100348a8
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.100335d0
jmp 0x10034959
cmp eax, 0x2a
je 0x1003496d
cmp eax, 0x2b
je 0x1003496d
cmp eax, 0x3f
je 0x1003496d
cmp eax, 0x7b
je 0x1003496d
cmp eax, 0x7d
jne 0x100348ee
test dword [esi + 0x50], 0x10000000
je 0x1003497b
jmp 0x10034900
cmp eax, 0x5d
jne 0x10034900
test dword [esi + 0x50], 0x10000000
je 0x10034982
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.10035f10
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x10034948
cmp byte [eax], 0x5c
jne 0x10034946
inc eax
cmp eax, ecx
je 0x10034946
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x10034933
mov dl, byte [eax]
cmp dl, 0x28
je 0x10034944
cmp dl, 0x29
je 0x10034944
test cl, 0x10
jne 0x10034946
mov cl, byte [eax]
cmp cl, 0x7b
je 0x10034944
cmp cl, 0x7d
jne 0x10034946
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.100335d0
mov ecx, esi
call fcn.10035ce0
lea edi, [esi + 8]
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x10034516
pop edi
pop esi
mov al, cl
pop ebx
ret
push 0xa
call fcn.100335c0
push 5
call fcn.100335c0
push 6
call fcn.100335c0
push 4
call fcn.100335c0
int3