Function at 0x43d6c0
Capabilities:
Parse credit card information

Disassembly:
push ebx
push esi
push edi
mov edi, eax
xor ebx, ebx
xor al, al
cmp dword [edi + 0x40], 0xffffffff
je 0x43d997
jmp 0x43d6d7
xor ebx, ebx
mov ecx, dword [edi + 0x40]
mov edx, 0x10000000
cmp ecx, 0x7c
je 0x43d997
cmp ecx, 0x29
jne 0x43d70a
cmp dword [edi + 0x10], ebx
jne 0x43d997
test dword [edi + 0x44], edx
jne 0x43d70a
push 5
call fcn.0049908d
add esp, 4
jmp 0x43d984
cmp ecx, 0x2e
jne 0x43d7a7
push 0x14
call fcn.004a9f06
add esp, 4
cmp eax, ebx
je 0x43d739
mov dword [eax], vtable.std::tr1::_Node_base.0
mov dword [eax + 4], 5
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
jmp 0x43d73b
xor eax, eax
mov ecx, dword [edi + 0x1c]
mov dword [eax + 0x10], ecx
mov edx, dword [edi + 0x1c]
mov ecx, dword [edx + 0xc]
cmp ecx, ebx
je 0x43d757
mov dword [eax + 0xc], ecx
mov ecx, dword [edi + 0x1c]
mov edx, dword [ecx + 0xc]
mov dword [edx + 0x10], eax
mov ecx, dword [edi + 0x1c]
mov dword [ecx + 0xc], eax
mov dword [edi + 0x1c], eax
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x43d79b
cmp byte [eax], 0x5c
jne 0x43d799
inc eax
cmp eax, ecx
je 0x43d785
test byte [edi + 0x44], 8
jne 0x43d785
mov cl, byte [eax]
cmp cl, 0x28
je 0x43d797
cmp cl, 0x29
je 0x43d797
test byte [edi + 0x44], 0x10
jne 0x43d799
mov cl, byte [eax]
cmp cl, 0x7b
je 0x43d797
cmp cl, 0x7d
jne 0x43d799
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.0043d1b0
jmp 0x43d984
cmp ecx, 0x5c
jne 0x43d882
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x43d7eb
cmp byte [eax], 0x5c
jne 0x43d7e9
inc eax
cmp eax, ecx
je 0x43d7d5
test byte [edi + 0x44], 8
jne 0x43d7d5
mov cl, byte [eax]
cmp cl, 0x28
je 0x43d7e7
cmp cl, 0x29
je 0x43d7e7
test byte [edi + 0x44], 0x10
jne 0x43d7e9
mov cl, byte [eax]
cmp cl, 0x7b
je 0x43d7e7
cmp cl, 0x7d
jne 0x43d7e9
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.0043d1b0
mov eax, dword [edi + 0x44]
and eax, 0x80
je 0x43d851
cmp byte [edi + 0x3e], 0x62
jne 0x43d851
lea esi, [edi + 0x18]
call fcn.0044ade0
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x43d845
cmp byte [eax], 0x5c
jne 0x43d843
inc eax
cmp eax, ecx
je 0x43d82f
test byte [edi + 0x44], 8
jne 0x43d82f
mov cl, byte [eax]
cmp cl, 0x28
je 0x43d841
cmp cl, 0x29
je 0x43d841
test byte [edi + 0x44], 0x10
jne 0x43d843
mov cl, byte [eax]
cmp cl, 0x7b
je 0x43d841
cmp cl, 0x7d
jne 0x43d843
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.0043d1b0
jmp 0x43d98b
cmp eax, ebx
je 0x43d876
cmp byte [edi + 0x3e], 0x42
jne 0x43d876
lea esi, [edi + 0x18]
call fcn.0044ade0
mov eax, dword [edi + 0x1c]
xor dword [eax + 8], 1
mov eax, edi
call fcn.0043d670
jmp 0x43d98b
mov eax, edi
call fcn.0043dbe0
jmp 0x43d984
cmp ecx, 0x5b
jne 0x43d924
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x43d8c6
cmp byte [eax], 0x5c
jne 0x43d8c4
inc eax
cmp eax, ecx
je 0x43d8b0
test byte [edi + 0x44], 8
jne 0x43d8b0
mov cl, byte [eax]
cmp cl, 0x28
je 0x43d8c2
cmp cl, 0x29
je 0x43d8c2
test byte [edi + 0x44], 0x10
jne 0x43d8c4
mov cl, byte [eax]
cmp cl, 0x7b
je 0x43d8c2
cmp cl, 0x7d
jne 0x43d8c4
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.0043d1b0
call fcn.0043db30
cmp dword [edi + 0x40], 0x5d
je 0x43d8e2
push 4
call fcn.0049908d
add esp, 4
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x43d91d
cmp byte [eax], 0x5c
jne 0x43d91b
inc eax
cmp eax, ecx
je 0x43d907
test byte [edi + 0x44], 8
jne 0x43d907
mov cl, byte [eax]
cmp cl, 0x28
je 0x43d919
cmp cl, 0x29
je 0x43d919
test byte [edi + 0x44], 0x10
jne 0x43d91b
mov cl, byte [eax]
cmp cl, 0x7b
je 0x43d919
cmp cl, 0x7d
jne 0x43d91b
mov dword [edi], eax
inc dword [edi]
call fcn.0043d1b0
jmp 0x43d984
cmp ecx, 0x28
jne 0x43d99b
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x43d964
cmp byte [eax], 0x5c
jne 0x43d962
inc eax
cmp eax, ecx
je 0x43d94e
test byte [edi + 0x44], 8
jne 0x43d94e
mov cl, byte [eax]
cmp cl, 0x28
je 0x43d960
cmp cl, 0x29
je 0x43d960
test byte [edi + 0x44], 0x10
jne 0x43d962
mov cl, byte [eax]
cmp cl, 0x7b
je 0x43d960
cmp cl, 0x7d
jne 0x43d962
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.0043d1b0
call fcn.0043dc90
mov bl, al
push 0x29
mov ecx, 5
mov eax, edi
call fcn.0043dad0
test bl, bl
je 0x43d98b
mov eax, edi
call fcn.0043dd40
cmp dword [edi + 0x40], 0xffffffff
mov al, 1
jne 0x43d6d5
pop edi
pop esi
pop ebx
ret
cmp ecx, 0x5e
jne 0x43d9b1
lea esi, [edi + 0x18]
call fcn.0044ad90
mov eax, edi
call fcn.0043d670
jmp 0x43d98b
cmp ecx, 0x24
jne 0x43d9c7
lea esi, [edi + 0x18]
call fcn.0043de70
mov eax, edi
call fcn.0043d670
jmp 0x43d98b
cmp ecx, 0x2a
je 0x43da23
cmp ecx, 0x2b
je 0x43da23
cmp ecx, 0x3f
je 0x43da23
cmp ecx, 0x7b
je 0x43da23
cmp ecx, 0x7d
jne 0x43d9f1
test dword [edi + 0x44], edx
jne 0x43d9f1
push 6
call fcn.0049908d
add esp, 4
jmp 0x43d984
cmp ecx, 0x5d
jne 0x43da0a
test dword [edi + 0x44], edx
jne 0x43da0a
push 4
call fcn.0049908d
add esp, 4
jmp 0x43d984
movzx edx, byte [edi + 0x3e]
lea eax, [edi + 0x18]
push edx
call fcn.0043dec0
mov eax, edi
call fcn.0043d670
jmp 0x43d984
push 0xa
call fcn.0049908d
add esp, 4
jmp 0x43d984