Function at 0x43c480
Capabilities:
Parse credit card information

Disassembly:
push ecx
push ebx
push ebp
push esi
push edi
mov edi, eax
xor ebp, ebp
xor al, al
cmp dword [edi + 0x40], 0xffff
je 0x43c760
jmp 0x43c4a0
mov ecx, dword [edi + 0x40]
mov edx, 0x10000000
cmp ecx, 0x7c
je 0x43c760
cmp ecx, 0x29
jne 0x43c4d3
cmp dword [edi + 0x10], ebp
jne 0x43c760
test dword [edi + 0x44], edx
jne 0x43c4d3
push 5
call fcn.004a4619
add esp, 4
jmp 0x43c74a
cmp ecx, 0x2e
jne 0x43c57a
push 0x14
call fcn.004a5616
add esp, 4
cmp eax, ebp
je 0x43c502
mov dword [eax], vtable.std::tr1::_Node_base.0
mov dword [eax + 4], 5
mov dword [eax + 8], ebp
mov dword [eax + 0xc], ebp
mov dword [eax + 0x10], ebp
jmp 0x43c504
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, ebp
je 0x43c520
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 0x43c56e
cmp word [eax], 0x5c
jne 0x43c56b
add eax, 2
cmp eax, ecx
je 0x43c554
test byte [edi + 0x44], 8
jne 0x43c554
movzx ecx, word [eax]
cmp cx, 0x28
je 0x43c569
cmp cx, 0x29
je 0x43c569
test byte [edi + 0x44], 0x10
jne 0x43c56b
movzx ecx, word [eax]
cmp cx, 0x7b
je 0x43c569
cmp cx, 0x7d
jne 0x43c56b
mov dword [edi], eax
add dword [edi], 2
mov esi, edi
call fcn.0043b580
jmp 0x43c74a
cmp ecx, 0x5c
jne 0x43c66d
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x43c5c8
cmp word [eax], 0x5c
jne 0x43c5c5
add eax, 2
cmp eax, ecx
je 0x43c5ae
test byte [edi + 0x44], 8
jne 0x43c5ae
movzx ecx, word [eax]
cmp cx, 0x28
je 0x43c5c3
cmp cx, 0x29
je 0x43c5c3
test byte [edi + 0x44], 0x10
jne 0x43c5c5
movzx ecx, word [eax]
cmp cx, 0x7b
je 0x43c5c3
cmp cx, 0x7d
jne 0x43c5c5
mov dword [edi], eax
add dword [edi], 2
mov esi, edi
call fcn.0043b580
mov eax, dword [edi + 0x44]
and eax, 0x80
je 0x43c616
cmp word [edi + 0x3e], 0x62
jne 0x43c616
push 4
lea esi, [edi + 0x18]
call fcn.0043c9d0
mov esi, dword [edi]
cmp esi, dword [edi + 8]
je 0x43c60a
cmp word [esi], 0x5c
jne 0x43c607
mov edx, edi
call fcn.0043c410
test al, al
je 0x43c607
add esi, 2
mov dword [edi], esi
add dword [edi], 2
mov esi, edi
call fcn.0043b580
jmp 0x43c751
cmp eax, ebp
je 0x43c661
cmp word [edi + 0x3e], 0x42
jne 0x43c661
push 4
lea esi, [edi + 0x18]
call fcn.0043c9d0
mov eax, dword [edi + 0x1c]
or dword [eax + 8], 1
mov esi, dword [edi]
add eax, 8
cmp esi, dword [edi + 8]
je 0x43c655
cmp word [esi], 0x5c
jne 0x43c652
mov edx, edi
call fcn.0043c410
test al, al
je 0x43c652
add esi, 2
mov dword [edi], esi
add dword [edi], 2
mov esi, edi
call fcn.0043b580
jmp 0x43c751
mov eax, edi
call fcn.0043d0e0
jmp 0x43c74a
cmp ecx, 0x5b
jne 0x43c6d7
mov esi, dword [edi]
cmp esi, dword [edi + 8]
je 0x43c692
cmp word [esi], 0x5c
jne 0x43c68f
mov edx, edi
call fcn.0043c410
test al, al
je 0x43c68f
add esi, 2
mov dword [edi], esi
add dword [edi], 2
mov esi, edi
call fcn.0043b580
call fcn.0043d040
cmp dword [edi + 0x40], 0x5d
je 0x43c6ae
push 4
call fcn.004a4619
add esp, 4
mov esi, dword [edi]
cmp esi, dword [edi + 8]
je 0x43c6ce
cmp word [esi], 0x5c
jne 0x43c6cb
mov edx, edi
call fcn.0043c410
test al, al
je 0x43c6cb
add esi, 2
mov dword [edi], esi
add dword [edi], 2
mov esi, edi
call fcn.0043b580
jmp 0x43c74a
cmp ecx, 0x28
jne 0x43c766
mov esi, dword [edi]
cmp esi, dword [edi + 8]
je 0x43c700
cmp word [esi], 0x5c
jne 0x43c6fd
mov edx, edi
call fcn.0043c410
test al, al
je 0x43c6fd
add esi, 2
mov dword [edi], esi
add dword [edi], 2
mov esi, edi
call fcn.0043b580
push edi
call fcn.0043d1b0
cmp dword [edi + 0x40], 0x29
mov bl, al
je 0x43c71f
push 5
call fcn.004a4619
add esp, 4
mov esi, dword [edi]
cmp esi, dword [edi + 8]
je 0x43c73f
cmp word [esi], 0x5c
jne 0x43c73c
mov edx, edi
call fcn.0043c410
test al, al
je 0x43c73c
add esi, 2
mov dword [edi], esi
add dword [edi], 2
mov esi, edi
call fcn.0043b580
test bl, bl
je 0x43c751
mov eax, edi
call fcn.0043d2f0
cmp dword [edi + 0x40], 0xffff
mov al, 1
jne 0x43c4a0
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret
cmp ecx, 0x5e
jne 0x43c79e
push 2
lea esi, [edi + 0x18]
call fcn.0043c9d0
mov esi, dword [edi]
cmp esi, dword [edi + 8]
je 0x43c795
cmp word [esi], 0x5c
jne 0x43c792
mov edx, edi
call fcn.0043c410
test al, al
je 0x43c792
add esi, 2
mov dword [edi], esi
add dword [edi], 2
mov esi, edi
call fcn.0043b580
jmp 0x43c751
cmp ecx, 0x24
jne 0x43c7b6
push 3
lea esi, [edi + 0x18]
call fcn.0043c9d0
mov eax, edi
call fcn.0043c450
jmp 0x43c751
cmp ecx, 0x2a
je 0x43c815
cmp ecx, 0x2b
je 0x43c815
cmp ecx, 0x3f
je 0x43c815
cmp ecx, 0x7b
je 0x43c815
cmp ecx, 0x7d
jne 0x43c7e3
test dword [edi + 0x44], edx
jne 0x43c7e3
push 6
call fcn.004a4619
add esp, 4
jmp 0x43c74a
cmp ecx, 0x5d
jne 0x43c7fc
test dword [edi + 0x44], edx
jne 0x43c7fc
push 4
call fcn.004a4619
add esp, 4
jmp 0x43c74a
movzx edx, word [edi + 0x3e]
push edx
lea eax, [edi + 0x18]
call fcn.0043d490
mov eax, edi
call fcn.0043c450
jmp 0x43c74a
push 0xa
call fcn.004a4619
add esp, 4
jmp 0x43c74a