Function at 0x1000bd30
Capabilities:
Parse credit card information

Disassembly:
push esi
mov esi, ecx
xor cl, cl
mov eax, dword [esi + 0x4c]
cmp eax, 0xffffffff
je 0x1000c164
push edi
lea edi, [esi + 8]
push ebx
cmp eax, 0x7c
je 0x1000c162
cmp eax, 0x29
jne 0x1000bd70
cmp dword [esi + 0x10], 0
jne 0x1000c162
test dword [esi + 0x50], 0x10000000
je 0x1000c171
jmp 0x1000c0fb
cmp eax, 0x2e
jne 0x1000bdc6
push 5
lea ecx, [esi + 0x24]
call fcn.1000f6d0
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1000c143
cmp byte [eax], 0x5c
jne 0x1000bdbe
lea ecx, [eax + 1]
cmp ecx, edx
je 0x1000bdbe
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x1000bdab
mov dl, byte [ecx]
cmp dl, 0x28
je 0x1000bdbc
cmp dl, 0x29
je 0x1000bdbc
test bl, 0x10
jne 0x1000bdbe
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x1000bdbc
cmp dl, 0x7d
jne 0x1000bdbe
mov eax, ecx
inc eax
mov dword [esi], eax
jmp 0x1000c143
cmp eax, 0x5c
jne 0x1000bee4
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1000be0d
cmp byte [eax], 0x5c
jne 0x1000be0a
lea ecx, [eax + 1]
cmp ecx, edx
je 0x1000be0a
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x1000bdf7
mov dl, byte [ecx]
cmp dl, 0x28
je 0x1000be08
cmp dl, 0x29
je 0x1000be08
test bl, 0x10
jne 0x1000be0a
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x1000be08
cmp dl, 0x7d
jne 0x1000be0a
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.10010090
test byte [esi + 0x50], 0x80
je 0x1000bed8
mov al, byte [esi + 0x48]
cmp al, 0x62
jne 0x1000be79
push 4
lea ecx, [esi + 0x24]
call fcn.1000f6d0
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1000be6d
cmp byte [eax], 0x5c
jne 0x1000be6a
lea ecx, [eax + 1]
cmp ecx, edx
je 0x1000be6a
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x1000be57
mov dl, byte [ecx]
cmp dl, 0x28
je 0x1000be68
cmp dl, 0x29
je 0x1000be68
test bl, 0x10
jne 0x1000be6a
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x1000be68
cmp dl, 0x7d
jne 0x1000be6a
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.10010090
jmp 0x1000c154
cmp al, 0x42
jne 0x1000bed8
push 4
lea ecx, [esi + 0x24]
call fcn.1000f6d0
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1000becc
cmp byte [eax], 0x5c
jne 0x1000bec9
lea ecx, [eax + 1]
cmp ecx, edx
je 0x1000bec9
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x1000beb6
mov al, byte [ecx]
cmp al, 0x28
je 0x1000bec7
cmp al, 0x29
je 0x1000bec7
mov eax, dword [esi]
test dl, 0x10
jne 0x1000bec9
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x1000bec7
cmp dl, 0x7d
jne 0x1000bec9
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.10010090
jmp 0x1000c154
mov ecx, esi
call fcn.1000c190
jmp 0x1000c14a
cmp eax, 0x5b
jne 0x1000bf8e
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1000bf2b
cmp byte [eax], 0x5c
jne 0x1000bf28
lea ecx, [eax + 1]
cmp ecx, edx
je 0x1000bf28
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x1000bf15
mov al, byte [ecx]
cmp al, 0x28
je 0x1000bf26
cmp al, 0x29
je 0x1000bf26
mov eax, dword [esi]
test dl, 0x10
jne 0x1000bf28
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x1000bf26
cmp dl, 0x7d
jne 0x1000bf28
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.10010090
lea ecx, [esi + 0x24]
call fcn.1000b5d0
mov eax, dword [esi + 0x4c]
cmp eax, 0x5e
jne 0x1000bf53
mov eax, dword [esi + 0x28]
mov ecx, esi
xor dword [eax + 8], 1
call fcn.1000f780
mov eax, dword [esi + 0x4c]
test dword [esi + 0x50], 0x20000000
je 0x1000bf71
cmp eax, 0x5d
jne 0x1000bf71
push eax
lea ecx, [esi + 0x24]
call fcn.1000b510
mov ecx, esi
call fcn.1000f780
mov ecx, esi
call fcn.1000cb10
cmp dword [esi + 0x4c], 0x5d
jne 0x1000c183
mov ecx, esi
call fcn.1000f780
jmp 0x1000c14a
cmp eax, 0x28
jne 0x1000bfff
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1000bfd1
cmp byte [eax], 0x5c
jne 0x1000bfce
lea ecx, [eax + 1]
cmp ecx, edx
je 0x1000bfce
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x1000bfbb
mov al, byte [ecx]
cmp al, 0x28
je 0x1000bfcc
cmp al, 0x29
je 0x1000bfcc
mov eax, dword [esi]
test dl, 0x10
jne 0x1000bfce
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x1000bfcc
cmp dl, 0x7d
jne 0x1000bfce
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.10010090
mov ecx, esi
call fcn.100102d0
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x1000c171
mov ecx, esi
call fcn.1000f780
test bl, bl
je 0x1000c154
jmp 0x1000c14a
cmp eax, 0x5e
jne 0x1000c058
push 2
lea ecx, [esi + 0x24]
call fcn.1000f6d0
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1000c04c
cmp byte [eax], 0x5c
jne 0x1000c049
lea ecx, [eax + 1]
cmp ecx, edx
je 0x1000c049
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x1000c036
mov al, byte [ecx]
cmp al, 0x28
je 0x1000c047
cmp al, 0x29
je 0x1000c047
mov eax, dword [esi]
test dl, 0x10
jne 0x1000c049
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x1000c047
cmp dl, 0x7d
jne 0x1000c049
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.10010090
jmp 0x1000c154
cmp eax, 0x24
jne 0x1000c0b1
push 3
lea ecx, [esi + 0x24]
call fcn.1000f6d0
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1000c0a5
cmp byte [eax], 0x5c
jne 0x1000c0a2
lea ecx, [eax + 1]
cmp ecx, edx
je 0x1000c0a2
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x1000c08f
mov al, byte [ecx]
cmp al, 0x28
je 0x1000c0a0
cmp al, 0x29
je 0x1000c0a0
mov eax, dword [esi]
test dl, 0x10
jne 0x1000c0a2
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x1000c0a0
cmp dl, 0x7d
jne 0x1000c0a2
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.10010090
jmp 0x1000c154
cmp eax, 0x2a
je 0x1000c168
cmp eax, 0x2b
je 0x1000c168
cmp eax, 0x3f
je 0x1000c168
cmp eax, 0x7b
je 0x1000c168
cmp eax, 0x7d
jne 0x1000c0e9
test dword [esi + 0x50], 0x10000000
je 0x1000c17a
jmp 0x1000c0fb
cmp eax, 0x5d
jne 0x1000c0fb
test dword [esi + 0x50], 0x10000000
je 0x1000c183
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.1000b2c0
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x1000c143
cmp byte [eax], 0x5c
jne 0x1000c141
inc eax
cmp eax, ecx
je 0x1000c141
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1000c12e
mov dl, byte [eax]
cmp dl, 0x28
je 0x1000c13f
cmp dl, 0x29
je 0x1000c13f
test cl, 0x10
jne 0x1000c141
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1000c13f
cmp cl, 0x7d
jne 0x1000c141
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.10010090
mov ecx, esi
call fcn.1000f920
lea edi, [esi + 8]
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x1000bd46
pop ebx
pop edi
mov al, cl
pop esi
ret
push 0xa
mov ecx, esi
call fcn.1000dfa0
push 5
mov ecx, esi
call fcn.1000dfa0
push 6
mov ecx, esi
call fcn.1000dfa0
push 4
mov ecx, esi
call fcn.1000dfa0
int3