Function at 0x43bcf0
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 0x43c157
lea edi, [esi + 8]
cmp eax, 0x7c
je 0x43c157
cmp eax, 0x29
jne 0x43bd30
cmp dword [esi + 0x10], 0
jne 0x43c157
test dword [esi + 0x50], 0x10000000
je 0x43c164
jmp 0x43c0f0
cmp eax, 0x2e
jne 0x43bd83
push 5
lea ecx, [esi + 0x24]
call fcn.0043c180
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x43c138
cmp byte [eax], 0x5c
jne 0x43bf3f
lea ecx, [eax + 1]
cmp ecx, edx
je 0x43bf3f
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x43bd7b
mov dl, byte [ecx]
cmp dl, 0x28
je 0x43bf3d
cmp dl, 0x29
je 0x43bf3d
test bl, 0x10
jmp 0x43bf2f
cmp eax, 0x5c
jne 0x43bea1
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x43bdca
cmp byte [eax], 0x5c
jne 0x43bdc7
lea ecx, [eax + 1]
cmp ecx, edx
je 0x43bdc7
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x43bdb4
mov dl, byte [ecx]
cmp dl, 0x28
je 0x43bdc5
cmp dl, 0x29
je 0x43bdc5
test bl, 0x10
jne 0x43bdc7
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x43bdc5
cmp dl, 0x7d
jne 0x43bdc7
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0043ad50
test byte [esi + 0x50], 0x80
je 0x43be95
mov al, byte [esi + 0x48]
cmp al, 0x62
jne 0x43be36
push 4
lea ecx, [esi + 0x24]
call fcn.0043c180
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x43be2a
cmp byte [eax], 0x5c
jne 0x43be27
lea ecx, [eax + 1]
cmp ecx, edx
je 0x43be27
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x43be14
mov dl, byte [ecx]
cmp dl, 0x28
je 0x43be25
cmp dl, 0x29
je 0x43be25
test bl, 0x10
jne 0x43be27
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x43be25
cmp dl, 0x7d
jne 0x43be27
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0043ad50
jmp 0x43c149
cmp al, 0x42
jne 0x43be95
push 4
lea ecx, [esi + 0x24]
call fcn.0043c180
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x43be89
cmp byte [eax], 0x5c
jne 0x43be86
lea ecx, [eax + 1]
cmp ecx, edx
je 0x43be86
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x43be73
mov al, byte [ecx]
cmp al, 0x28
je 0x43be84
cmp al, 0x29
je 0x43be84
mov eax, dword [esi]
test dl, 0x10
jne 0x43be86
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x43be84
cmp dl, 0x7d
jne 0x43be86
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0043ad50
jmp 0x43c149
mov ecx, esi
call fcn.0043d1c0
jmp 0x43c13f
cmp eax, 0x5b
jne 0x43bf47
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x43bee8
cmp byte [eax], 0x5c
jne 0x43bee5
lea ecx, [eax + 1]
cmp ecx, edx
je 0x43bee5
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x43bed2
mov al, byte [ecx]
cmp al, 0x28
je 0x43bee3
cmp al, 0x29
je 0x43bee3
mov eax, dword [esi]
test dl, 0x10
jne 0x43bee5
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x43bee3
cmp dl, 0x7d
jne 0x43bee5
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0043ad50
mov ecx, esi
call fcn.0043d090
cmp dword [esi + 0x4c], 0x5d
jne 0x43c172
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x43c138
cmp byte [eax], 0x5c
jne 0x43bf3f
lea ecx, [eax + 1]
cmp ecx, edx
je 0x43bf3f
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x43bf2c
mov al, byte [ecx]
cmp al, 0x28
je 0x43bf3d
cmp al, 0x29
je 0x43bf3d
mov eax, dword [esi]
test dl, 0x10
jne 0x43bf3f
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x43bf3d
cmp dl, 0x7d
jne 0x43bf3f
mov eax, ecx
inc eax
mov dword [esi], eax
jmp 0x43c138
cmp eax, 0x28
jne 0x43bffa
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x43bf8e
cmp byte [eax], 0x5c
jne 0x43bf8b
lea ecx, [eax + 1]
cmp ecx, edx
je 0x43bf8b
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x43bf78
mov al, byte [ecx]
cmp al, 0x28
je 0x43bf89
cmp al, 0x29
je 0x43bf89
mov eax, dword [esi]
test dl, 0x10
jne 0x43bf8b
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x43bf89
cmp dl, 0x7d
jne 0x43bf8b
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0043ad50
mov ecx, esi
call fcn.0043d310
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x43c164
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x43bfe6
cmp byte [eax], 0x5c
jne 0x43bfe3
lea ecx, [eax + 1]
cmp ecx, edx
je 0x43bfe3
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x43bfd0
mov al, byte [ecx]
cmp al, 0x28
je 0x43bfe1
cmp al, 0x29
je 0x43bfe1
mov eax, dword [esi]
test dl, 0x10
jne 0x43bfe3
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x43bfe1
cmp dl, 0x7d
jne 0x43bfe3
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0043ad50
test bl, bl
je 0x43c149
jmp 0x43c13f
cmp eax, 0x5e
jne 0x43c050
push 2
lea ecx, [esi + 0x24]
call fcn.0043c180
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x43c044
cmp byte [eax], 0x5c
jne 0x43c042
inc eax
cmp eax, ecx
je 0x43c042
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x43c02f
mov dl, byte [eax]
cmp dl, 0x28
je 0x43c040
cmp dl, 0x29
je 0x43c040
test cl, 0x10
jne 0x43c042
mov cl, byte [eax]
cmp cl, 0x7b
je 0x43c040
cmp cl, 0x7d
jne 0x43c042
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.0043ad50
jmp 0x43c149
cmp eax, 0x24
jne 0x43c0a6
push 3
lea ecx, [esi + 0x24]
call fcn.0043c180
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x43c09a
cmp byte [eax], 0x5c
jne 0x43c098
inc eax
cmp eax, ecx
je 0x43c098
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x43c085
mov dl, byte [eax]
cmp dl, 0x28
je 0x43c096
cmp dl, 0x29
je 0x43c096
test cl, 0x10
jne 0x43c098
mov cl, byte [eax]
cmp cl, 0x7b
je 0x43c096
cmp cl, 0x7d
jne 0x43c098
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.0043ad50
jmp 0x43c149
cmp eax, 0x2a
je 0x43c15d
cmp eax, 0x2b
je 0x43c15d
cmp eax, 0x3f
je 0x43c15d
cmp eax, 0x7b
je 0x43c15d
cmp eax, 0x7d
jne 0x43c0de
test dword [esi + 0x50], 0x10000000
je 0x43c16b
jmp 0x43c0f0
cmp eax, 0x5d
jne 0x43c0f0
test dword [esi + 0x50], 0x10000000
je 0x43c172
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.0043d6a0
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x43c138
cmp byte [eax], 0x5c
jne 0x43c136
inc eax
cmp eax, ecx
je 0x43c136
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x43c123
mov dl, byte [eax]
cmp dl, 0x28
je 0x43c134
cmp dl, 0x29
je 0x43c134
test cl, 0x10
jne 0x43c136
mov cl, byte [eax]
cmp cl, 0x7b
je 0x43c134
cmp cl, 0x7d
jne 0x43c136
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.0043ad50
mov ecx, esi
call fcn.0043d470
lea edi, [esi + 8]
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x43bd06
pop edi
pop esi
mov al, cl
pop ebx
ret
push 0xa
call fcn.0043ad40
push 5
call fcn.0043ad40
push 6
call fcn.0043ad40
push 4
call fcn.0043ad40
int3