Function at 0x43e6a0
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], 0xffff
je 0x43e95c
jmp 0x43e6c2
xor ebx, ebx
mov ecx, dword [edi + 0x40]
mov edx, 0x10000000
cmp ecx, 0x7c
je 0x43e95c
cmp ecx, 0x29
jne 0x43e6f5
cmp dword [edi + 0x10], ebx
jne 0x43e95c
test dword [edi + 0x44], edx
jne 0x43e6f5
push 5
call fcn.0053bb79
add esp, 4
jmp 0x43e946
cmp ecx, 0x2e
jne 0x43e79c
push 0x14
call fcn.0053d304
add esp, 4
cmp eax, ebx
je 0x43e724
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 0x43e726
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 0x43e742
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 0x43e790
cmp word [eax], 0x5c
jne 0x43e78d
add eax, 2
cmp eax, ecx
je 0x43e776
test byte [edi + 0x44], 8
jne 0x43e776
movzx ecx, word [eax]
cmp cx, 0x28
je 0x43e78b
cmp cx, 0x29
je 0x43e78b
test byte [edi + 0x44], 0x10
jne 0x43e78d
movzx ecx, word [eax]
cmp cx, 0x7b
je 0x43e78b
cmp cx, 0x7d
jne 0x43e78d
mov dword [edi], eax
add dword [edi], 2
mov esi, edi
call fcn.0043d650
jmp 0x43e946
cmp ecx, 0x5c
jne 0x43e869
mov esi, dword [edi]
cmp esi, dword [edi + 8]
je 0x43e7c4
cmp word [esi], cx
jne 0x43e7c1
mov edx, edi
call fcn.0043e630
test al, al
je 0x43e7c1
add esi, 2
mov dword [edi], esi
add dword [edi], 2
mov esi, edi
call fcn.0043d650
mov eax, dword [edi + 0x44]
and eax, 0x80
je 0x43e812
cmp word [edi + 0x3e], 0x62
jne 0x43e812
push 4
lea esi, [edi + 0x18]
call fcn.0043eb80
mov esi, dword [edi]
cmp esi, dword [edi + 8]
je 0x43e806
cmp word [esi], 0x5c
jne 0x43e803
mov edx, edi
call fcn.0043e630
test al, al
je 0x43e803
add esi, 2
mov dword [edi], esi
add dword [edi], 2
mov esi, edi
call fcn.0043d650
jmp 0x43e94d
cmp eax, ebx
je 0x43e85d
cmp word [edi + 0x3e], 0x42
jne 0x43e85d
push 4
lea esi, [edi + 0x18]
call fcn.0043eb80
mov eax, dword [edi + 0x1c]
or dword [eax + 8], 1
mov esi, dword [edi]
add eax, 8
cmp esi, dword [edi + 8]
je 0x43e851
cmp word [esi], 0x5c
jne 0x43e84e
mov edx, edi
call fcn.0043e630
test al, al
je 0x43e84e
add esi, 2
mov dword [edi], esi
add dword [edi], 2
mov esi, edi
call fcn.0043d650
jmp 0x43e94d
mov eax, edi
call fcn.0043fbc0
jmp 0x43e946
cmp ecx, 0x5b
jne 0x43e8d3
mov esi, dword [edi]
cmp esi, dword [edi + 8]
je 0x43e88e
cmp word [esi], 0x5c
jne 0x43e88b
mov edx, edi
call fcn.0043e630
test al, al
je 0x43e88b
add esi, 2
mov dword [edi], esi
add dword [edi], 2
mov esi, edi
call fcn.0043d650
call fcn.0043fb20
cmp dword [edi + 0x40], 0x5d
je 0x43e8aa
push 4
call fcn.0053bb79
add esp, 4
mov esi, dword [edi]
cmp esi, dword [edi + 8]
je 0x43e8ca
cmp word [esi], 0x5c
jne 0x43e8c7
mov edx, edi
call fcn.0043e630
test al, al
je 0x43e8c7
add esi, 2
mov dword [edi], esi
add dword [edi], 2
mov esi, edi
call fcn.0043d650
jmp 0x43e946
cmp ecx, 0x28
jne 0x43e960
mov esi, dword [edi]
cmp esi, dword [edi + 8]
je 0x43e8fc
cmp word [esi], 0x5c
jne 0x43e8f9
mov edx, edi
call fcn.0043e630
test al, al
je 0x43e8f9
add esi, 2
mov dword [edi], esi
add dword [edi], 2
mov esi, edi
call fcn.0043d650
push edi
call fcn.0043fc80
cmp dword [edi + 0x40], 0x29
mov bl, al
je 0x43e91b
push 5
call fcn.0053bb79
add esp, 4
mov esi, dword [edi]
cmp esi, dword [edi + 8]
je 0x43e93b
cmp word [esi], 0x5c
jne 0x43e938
mov edx, edi
call fcn.0043e630
test al, al
je 0x43e938
add esi, 2
mov dword [edi], esi
add dword [edi], 2
mov esi, edi
call fcn.0043d650
test bl, bl
je 0x43e94d
mov eax, edi
call fcn.0043fdc0
cmp dword [edi + 0x40], 0xffff
mov al, 1
jne 0x43e6c0
pop edi
pop esi
pop ebx
ret
cmp ecx, 0x5e
jne 0x43e998
push 2
lea esi, [edi + 0x18]
call fcn.0043eb80
mov esi, dword [edi]
cmp esi, dword [edi + 8]
je 0x43e98f
cmp word [esi], 0x5c
jne 0x43e98c
mov edx, edi
call fcn.0043e630
test al, al
je 0x43e98c
add esi, 2
mov dword [edi], esi
add dword [edi], 2
mov esi, edi
call fcn.0043d650
jmp 0x43e94d
cmp ecx, 0x24
jne 0x43e9b0
push 3
lea esi, [edi + 0x18]
call fcn.0043eb80
mov eax, edi
call fcn.0043e670
jmp 0x43e94d
cmp ecx, 0x2a
je 0x43ea0f
cmp ecx, 0x2b
je 0x43ea0f
cmp ecx, 0x3f
je 0x43ea0f
cmp ecx, 0x7b
je 0x43ea0f
cmp ecx, 0x7d
jne 0x43e9dd
test dword [edi + 0x44], edx
jne 0x43e9dd
push 6
call fcn.0053bb79
add esp, 4
jmp 0x43e946
cmp ecx, 0x5d
jne 0x43e9f6
test dword [edi + 0x44], edx
jne 0x43e9f6
push 4
call fcn.0053bb79
add esp, 4
jmp 0x43e946
movzx edx, word [edi + 0x3e]
push edx
lea eax, [edi + 0x18]
call fcn.0043ff10
mov eax, edi
call fcn.0043e670
jmp 0x43e946
push 0xa
call fcn.0053bb79
add esp, 4
jmp 0x43e946