Function at 0x43bfb8
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
mov edi, ecx
mov esi, edx
movzx edx, byte [edi]
xor eax, eax
inc eax
push 4
pop ebx
cmp edx, 0x2e
jg 0x43c151
je 0x43c13d
cmp edx, 0x26
jg 0x43c0be
je 0x43c0b6
cmp edx, 0x22
jg 0x43c061
je 0x43c3b0
cmp edx, 9
jl 0x43c188
cmp edx, 0xa
jle 0x43c037
cmp edx, 0xb
jle 0x43c188
cmp edx, 0xd
jle 0x43c037
cmp edx, 0x20
je 0x43c037
cmp edx, 0x21
jne 0x43c188
cmp byte [edi + 1], 0x3d
push 2
pop eax
jne 0x43c51c
mov dword [esi], 0x49
jmp 0x43c522
movzx eax, byte [edi + 1]
xor edx, edx
inc edx
test byte [eax + 0x5b1b80], dl
je 0x43c054
inc edx
movzx ecx, byte [edx + edi]
test byte [ecx + 0x5b1b80], 1
jne 0x43c046
mov dword [esi], 0x94
mov eax, edx
jmp 0x43c522
mov ecx, edx
sub ecx, 0x23
je 0x43c081
dec ecx
je 0x43c4ab
dec ecx
jne 0x43c188
mov dword [esi], 0x58
jmp 0x43c10d
mov edx, eax
movzx eax, byte [edi + 1]
push 4
pop ebx
test byte [eax + 0x5b1b80], bl
je 0x43c4a8
inc edx
movzx ecx, byte [edx + edi]
test byte [ecx + 0x5b1b80], bl
jne 0x43c096
xor eax, eax
inc eax
cmp edx, eax
jle 0x43c4ab
mov dword [esi], 0x84
jmp 0x43c05a
mov dword [esi], 0x50
jmp 0x43c10d
mov eax, edx
sub eax, 0x27
je 0x43c3b0
dec eax
je 0x43c135
dec eax
je 0x43c12d
dec eax
je 0x43c125
dec eax
je 0x43c11d
dec eax
je 0x43c115
dec eax
jne 0x43c188
cmp byte [edi + 1], 0x2d
jne 0x43c107
movzx ecx, byte [edi + 2]
push 2
pop eax
jmp 0x43c0f8
cmp ecx, 0xa
je 0x43c0fc
inc eax
movzx ecx, byte [eax + edi]
test ecx, ecx
jne 0x43c0ee
mov dword [esi], 0x94
jmp 0x43c522
mov dword [esi], 0x55
xor eax, eax
inc eax
jmp 0x43c522
mov dword [esi], 0x19
jmp 0x43c10d
mov dword [esi], 0x54
jmp 0x43c10d
mov dword [esi], 0x56
jmp 0x43c10d
mov dword [esi], 0x17
jmp 0x43c10d
mov dword [esi], 0x16
jmp 0x43c10d
movzx eax, byte [edi + 1]
test byte [eax + 0x5b1b80], bl
jne 0x43c1aa
mov dword [esi], 0x76
jmp 0x43c10d
cmp edx, 0x3f
jg 0x43c351
je 0x43c323
cmp edx, 0x3b
jg 0x43c298
je 0x43c28e
cmp edx, 0x2f
je 0x43c250
jle 0x43c188
cmp edx, 0x39
jle 0x43c1aa
cmp edx, 0x3a
je 0x43c4ab
test dl, dl
js 0x43c47d
cmp edx, 0x1f
jle 0x43c1a2
cmp byte [edx + 0x5b0ff8], 0
jne 0x43c47d
xor eax, eax
inc eax
jmp 0x43c51c
xor ecx, ecx
mov dword [esi], 0x81
test byte [edx + 0x5b1b80], bl
je 0x43c1c7
inc ecx
movzx eax, byte [ecx + edi]
test byte [eax + 0x5b1b80], bl
jne 0x43c1ba
cmp byte [ecx + edi], 0x2e
jne 0x43c1e0
inc ecx
movzx eax, byte [ecx + edi]
test byte [eax + 0x5b1b80], bl
jne 0x43c1cd
mov dword [esi], 0x82
mov al, byte [ecx + edi]
cmp al, 0x65
je 0x43c1eb
cmp al, 0x45
jne 0x43c229
mov dl, byte [ecx + edi + 1]
movzx eax, dl
test byte [eax + 0x5b1b80], bl
jne 0x43c211
cmp dl, 0x2b
je 0x43c204
cmp dl, 0x2d
jne 0x43c229
movzx eax, byte [ecx + edi + 2]
test byte [eax + 0x5b1b80], bl
je 0x43c229
add ecx, 2
jmp 0x43c217
inc ecx
movzx eax, byte [ecx + edi]
test byte [eax + 0x5b1b80], bl
jne 0x43c216
mov dword [esi], 0x82
movzx eax, byte [ecx + edi]
test al, al
js 0x43c247
cmp eax, 0x1f
jle 0x43c476
cmp byte [eax + 0x5b0ff8], 0
je 0x43c476
mov dword [esi], 0x93
inc ecx
jmp 0x43c229
cmp byte [edi + 1], 0x2a
jne 0x43c283
mov cl, byte [edi + 2]
test cl, cl
je 0x43c283
push 3
pop eax
movzx ecx, cl
cmp ecx, 0x2a
jne 0x43c26e
cmp byte [eax + edi], 0x2f
je 0x43c27d
movzx ecx, byte [eax + edi]
test ecx, ecx
je 0x43c0fc
inc eax
jmp 0x43c263
inc eax
jmp 0x43c0fc
mov dword [esi], 0x57
jmp 0x43c10d
xor eax, eax
inc eax
mov dword [esi], eax
jmp 0x43c522
mov eax, edx
sub eax, 0x3c
je 0x43c2e7
dec eax
je 0x43c2d2
dec eax
jne 0x43c188
movzx eax, byte [edi + 1]
cmp eax, 0x3d
jne 0x43c2ba
mov dword [esi], 0x4e
jmp 0x43c2f6
cmp eax, 0x3e
jne 0x43c2c7
mov dword [esi], 0x53
jmp 0x43c2f6
mov dword [esi], 0x4b
jmp 0x43c10d
xor eax, eax
cmp byte [edi + 1], 0x3d
mov dword [esi], 0x4a
sete al
inc eax
jmp 0x43c522
movzx eax, byte [edi + 1]
cmp eax, 0x3d
jne 0x43c2fe
mov dword [esi], 0x4c
push 2
pop eax
jmp 0x43c522
cmp eax, 0x3e
jne 0x43c30b
mov dword [esi], 0x49
jmp 0x43c2f6
cmp eax, 0x3c
jne 0x43c318
mov dword [esi], 0x52
jmp 0x43c2f6
mov dword [esi], 0x4d
jmp 0x43c10d
movzx eax, byte [edi + 1]
xor edx, edx
push 4
pop ebx
inc edx
mov dword [esi], 0x85
test byte [eax + 0x5b1b80], bl
je 0x43c05a
inc edx
movzx ecx, byte [edx + edi]
test byte [ecx + 0x5b1b80], bl
jne 0x43c33f
jmp 0x43c05a
mov eax, edx
sub eax, 0x40
je 0x43c4a8
sub eax, 0x18
je 0x43c41e
sub eax, 3
je 0x43c3f6
sub eax, 5
je 0x43c3b0
sub eax, 0x18
je 0x43c41e
sub eax, 4
je 0x43c394
dec eax
dec eax
jne 0x43c188
mov dword [esi], 0x5d
jmp 0x43c10d
cmp byte [edi + 1], 0x7c
je 0x43c3a5
mov dword [esi], 0x51
jmp 0x43c10d
mov dword [esi], 0x59
jmp 0x43c2f6
movzx ebx, byte [edi + 1]
xor ecx, ecx
inc ecx
jmp 0x43c3cc
cmp ebx, edx
jne 0x43c3c7
movzx eax, byte [edi + ecx + 1]
cmp eax, edx
jne 0x43c3d0
inc ecx
inc ecx
movzx ebx, byte [ecx + edi]
test ebx, ebx
jne 0x43c3b9
cmp ebx, 0x27
jne 0x43c3e3
mov dword [esi], 0x5e
lea eax, [ecx + 1]
jmp 0x43c522
test ebx, ebx
je 0x43c3ef
mov dword [esi], 0x1a
jmp 0x43c3db
mov eax, ecx
jmp 0x43c51c
xor eax, eax
inc eax
jmp 0x43c404
movzx edx, byte [eax + edi]
test edx, edx
je 0x43c409
inc eax
cmp edx, 0x5d
jne 0x43c3fb
push 0x1a
mov ecx, 0x93
pop edi
cmp edx, 0x5d
cmove ecx, edi
mov dword [esi], ecx
jmp 0x43c522
cmp byte [edi + 1], 0x27
jne 0x43c188
movzx edx, byte [edi + 2]
push 2
mov dword [esi], 0x83
pop ecx
jmp 0x43c453
cmp edx, 0x27
je 0x43c457
movzx eax, dl
test byte [eax + 0x5b1b80], 8
jne 0x43c44e
mov dword [esi], 0x93
inc ecx
movzx edx, byte [ecx + edi]
test edx, edx
jne 0x43c437
mov eax, ecx
and eax, 0x80000001
jns 0x43c465
dec eax
or eax, 0xfffffffe
inc eax
jne 0x43c46b
test edx, edx
jne 0x43c475
mov dword [esi], 0x93
test edx, edx
je 0x43c476
inc ecx
mov eax, ecx
jmp 0x43c522
xor ebx, ebx
inc ebx
movzx eax, byte [ebx + edi]
test al, al
js 0x43c496
cmp eax, 0x1f
jle 0x43c499
cmp byte [eax + 0x5b0ff8], 0
je 0x43c499
inc ebx
jmp 0x43c480
mov edx, ebx
mov ecx, edi
call fcn.0043bf38
mov dword [esi], eax
mov eax, ebx
ret
jmp 0x43c522
xor eax, eax
inc eax
movzx ecx, byte [edi + 1]
xor edx, edx
mov dword [esi], 0x85
test ecx, ecx
je 0x43c51c
test cl, cl
js 0x43c4e4
cmp ecx, 0x1f
jle 0x43c4cd
cmp byte [ecx + 0x5b0ff8], 0
jne 0x43c4e4
cmp ecx, 0x28
jne 0x43c4d6
test edx, edx
jg 0x43c4f0
cmp ecx, 0x3a
jne 0x43c518
cmp byte [edi + eax + 1], cl
jne 0x43c518
inc eax
jmp 0x43c4e5
inc edx
inc eax
movzx ecx, byte [eax + edi]
test ecx, ecx
jne 0x43c4bb
jmp 0x43c518
inc eax
mov dword [ebp - 4], eax
movzx ecx, byte [eax + edi]
test ecx, ecx
je 0x43c50a
test byte [ecx + 0x5b1b80], 1
jne 0x43c50a
cmp ecx, 0x29
jne 0x43c4f0
cmp ecx, 0x29
jne 0x43c512
inc eax
jmp 0x43c518
mov dword [esi], 0x93
test edx, edx
jne 0x43c522
mov dword [esi], 0x93
pop edi
pop esi
pop ebx
leave
ret