Function at 0x1000bd00
Capabilities:
Parse credit card information

Disassembly:
push esi
mov esi, ecx
xor cl, cl
mov eax, dword [esi + 0x4c]
cmp eax, 0xffffffff
je 0x1000c134
push edi
lea edi, [esi + 8]
push ebx
cmp eax, 0x7c
je 0x1000c132
cmp eax, 0x29
jne 0x1000bd40
cmp dword [esi + 0x10], 0
jne 0x1000c132
test dword [esi + 0x50], 0x10000000
je 0x1000c141
jmp 0x1000c0cb
cmp eax, 0x2e
jne 0x1000bd96
push 5
lea ecx, [esi + 0x24]
call fcn.1000f6a0
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1000c113
cmp byte [eax], 0x5c
jne 0x1000bd8e
lea ecx, [eax + 1]
cmp ecx, edx
je 0x1000bd8e
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x1000bd7b
mov dl, byte [ecx]
cmp dl, 0x28
je 0x1000bd8c
cmp dl, 0x29
je 0x1000bd8c
test bl, 0x10
jne 0x1000bd8e
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x1000bd8c
cmp dl, 0x7d
jne 0x1000bd8e
mov eax, ecx
inc eax
mov dword [esi], eax
jmp 0x1000c113
cmp eax, 0x5c
jne 0x1000beb4
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1000bddd
cmp byte [eax], 0x5c
jne 0x1000bdda
lea ecx, [eax + 1]
cmp ecx, edx
je 0x1000bdda
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x1000bdc7
mov dl, byte [ecx]
cmp dl, 0x28
je 0x1000bdd8
cmp dl, 0x29
je 0x1000bdd8
test bl, 0x10
jne 0x1000bdda
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x1000bdd8
cmp dl, 0x7d
jne 0x1000bdda
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.10010060
test byte [esi + 0x50], 0x80
je 0x1000bea8
mov al, byte [esi + 0x48]
cmp al, 0x62
jne 0x1000be49
push 4
lea ecx, [esi + 0x24]
call fcn.1000f6a0
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1000be3d
cmp byte [eax], 0x5c
jne 0x1000be3a
lea ecx, [eax + 1]
cmp ecx, edx
je 0x1000be3a
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x1000be27
mov dl, byte [ecx]
cmp dl, 0x28
je 0x1000be38
cmp dl, 0x29
je 0x1000be38
test bl, 0x10
jne 0x1000be3a
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x1000be38
cmp dl, 0x7d
jne 0x1000be3a
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.10010060
jmp 0x1000c124
cmp al, 0x42
jne 0x1000bea8
push 4
lea ecx, [esi + 0x24]
call fcn.1000f6a0
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1000be9c
cmp byte [eax], 0x5c
jne 0x1000be99
lea ecx, [eax + 1]
cmp ecx, edx
je 0x1000be99
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x1000be86
mov al, byte [ecx]
cmp al, 0x28
je 0x1000be97
cmp al, 0x29
je 0x1000be97
mov eax, dword [esi]
test dl, 0x10
jne 0x1000be99
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x1000be97
cmp dl, 0x7d
jne 0x1000be99
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.10010060
jmp 0x1000c124
mov ecx, esi
call fcn.1000c160
jmp 0x1000c11a
cmp eax, 0x5b
jne 0x1000bf5e
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1000befb
cmp byte [eax], 0x5c
jne 0x1000bef8
lea ecx, [eax + 1]
cmp ecx, edx
je 0x1000bef8
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x1000bee5
mov al, byte [ecx]
cmp al, 0x28
je 0x1000bef6
cmp al, 0x29
je 0x1000bef6
mov eax, dword [esi]
test dl, 0x10
jne 0x1000bef8
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x1000bef6
cmp dl, 0x7d
jne 0x1000bef8
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.10010060
lea ecx, [esi + 0x24]
call fcn.1000b5a0
mov eax, dword [esi + 0x4c]
cmp eax, 0x5e
jne 0x1000bf23
mov eax, dword [esi + 0x28]
mov ecx, esi
xor dword [eax + 8], 1
call fcn.1000f750
mov eax, dword [esi + 0x4c]
test dword [esi + 0x50], 0x20000000
je 0x1000bf41
cmp eax, 0x5d
jne 0x1000bf41
push eax
lea ecx, [esi + 0x24]
call fcn.1000b4e0
mov ecx, esi
call fcn.1000f750
mov ecx, esi
call fcn.1000cae0
cmp dword [esi + 0x4c], 0x5d
jne 0x1000c153
mov ecx, esi
call fcn.1000f750
jmp 0x1000c11a
cmp eax, 0x28
jne 0x1000bfcf
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1000bfa1
cmp byte [eax], 0x5c
jne 0x1000bf9e
lea ecx, [eax + 1]
cmp ecx, edx
je 0x1000bf9e
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x1000bf8b
mov al, byte [ecx]
cmp al, 0x28
je 0x1000bf9c
cmp al, 0x29
je 0x1000bf9c
mov eax, dword [esi]
test dl, 0x10
jne 0x1000bf9e
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x1000bf9c
cmp dl, 0x7d
jne 0x1000bf9e
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.10010060
mov ecx, esi
call fcn.100102a0
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x1000c141
mov ecx, esi
call fcn.1000f750
test bl, bl
je 0x1000c124
jmp 0x1000c11a
cmp eax, 0x5e
jne 0x1000c028
push 2
lea ecx, [esi + 0x24]
call fcn.1000f6a0
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1000c01c
cmp byte [eax], 0x5c
jne 0x1000c019
lea ecx, [eax + 1]
cmp ecx, edx
je 0x1000c019
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x1000c006
mov al, byte [ecx]
cmp al, 0x28
je 0x1000c017
cmp al, 0x29
je 0x1000c017
mov eax, dword [esi]
test dl, 0x10
jne 0x1000c019
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x1000c017
cmp dl, 0x7d
jne 0x1000c019
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.10010060
jmp 0x1000c124
cmp eax, 0x24
jne 0x1000c081
push 3
lea ecx, [esi + 0x24]
call fcn.1000f6a0
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1000c075
cmp byte [eax], 0x5c
jne 0x1000c072
lea ecx, [eax + 1]
cmp ecx, edx
je 0x1000c072
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x1000c05f
mov al, byte [ecx]
cmp al, 0x28
je 0x1000c070
cmp al, 0x29
je 0x1000c070
mov eax, dword [esi]
test dl, 0x10
jne 0x1000c072
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x1000c070
cmp dl, 0x7d
jne 0x1000c072
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.10010060
jmp 0x1000c124
cmp eax, 0x2a
je 0x1000c138
cmp eax, 0x2b
je 0x1000c138
cmp eax, 0x3f
je 0x1000c138
cmp eax, 0x7b
je 0x1000c138
cmp eax, 0x7d
jne 0x1000c0b9
test dword [esi + 0x50], 0x10000000
je 0x1000c14a
jmp 0x1000c0cb
cmp eax, 0x5d
jne 0x1000c0cb
test dword [esi + 0x50], 0x10000000
je 0x1000c153
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.1000b290
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x1000c113
cmp byte [eax], 0x5c
jne 0x1000c111
inc eax
cmp eax, ecx
je 0x1000c111
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1000c0fe
mov dl, byte [eax]
cmp dl, 0x28
je 0x1000c10f
cmp dl, 0x29
je 0x1000c10f
test cl, 0x10
jne 0x1000c111
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1000c10f
cmp cl, 0x7d
jne 0x1000c111
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.10010060
mov ecx, esi
call fcn.1000f8f0
lea edi, [esi + 8]
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x1000bd16
pop ebx
pop edi
mov al, cl
pop esi
ret
push 0xa
mov ecx, esi
call fcn.1000df70
push 5
mov ecx, esi
call fcn.1000df70
push 6
mov ecx, esi
call fcn.1000df70
push 4
mov ecx, esi
call fcn.1000df70
int3