Function at 0x43fe20
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 0x4400dc
jmp 0x43fe42
xor ebx, ebx
mov ecx, dword [edi + 0x40]
mov edx, 0x10000000
cmp ecx, 0x7c
je 0x4400dc
cmp ecx, 0x29
jne 0x43fe75
cmp dword [edi + 0x10], ebx
jne 0x4400dc
test dword [edi + 0x44], edx
jne 0x43fe75
push 5
call fcn.0053d1a9
add esp, 4
jmp 0x4400c6
cmp ecx, 0x2e
jne 0x43ff1c
push 0x14
call fcn.0053e934
add esp, 4
cmp eax, ebx
je 0x43fea4
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 0x43fea6
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 0x43fec2
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 0x43ff10
cmp word [eax], 0x5c
jne 0x43ff0d
add eax, 2
cmp eax, ecx
je 0x43fef6
test byte [edi + 0x44], 8
jne 0x43fef6
movzx ecx, word [eax]
cmp cx, 0x28
je 0x43ff0b
cmp cx, 0x29
je 0x43ff0b
test byte [edi + 0x44], 0x10
jne 0x43ff0d
movzx ecx, word [eax]
cmp cx, 0x7b
je 0x43ff0b
cmp cx, 0x7d
jne 0x43ff0d
mov dword [edi], eax
add dword [edi], 2
mov esi, edi
call fcn.0043ed80
jmp 0x4400c6
cmp ecx, 0x5c
jne 0x43ffe9
mov esi, dword [edi]
cmp esi, dword [edi + 8]
je 0x43ff44
cmp word [esi], cx
jne 0x43ff41
mov edx, edi
call fcn.0043fdb0
test al, al
je 0x43ff41
add esi, 2
mov dword [edi], esi
add dword [edi], 2
mov esi, edi
call fcn.0043ed80
mov eax, dword [edi + 0x44]
and eax, 0x80
je 0x43ff92
cmp word [edi + 0x3e], 0x62
jne 0x43ff92
push 4
lea esi, [edi + 0x18]
call fcn.00440300
mov esi, dword [edi]
cmp esi, dword [edi + 8]
je 0x43ff86
cmp word [esi], 0x5c
jne 0x43ff83
mov edx, edi
call fcn.0043fdb0
test al, al
je 0x43ff83
add esi, 2
mov dword [edi], esi
add dword [edi], 2
mov esi, edi
call fcn.0043ed80
jmp 0x4400cd
cmp eax, ebx
je 0x43ffdd
cmp word [edi + 0x3e], 0x42
jne 0x43ffdd
push 4
lea esi, [edi + 0x18]
call fcn.00440300
mov eax, dword [edi + 0x1c]
or dword [eax + 8], 1
mov esi, dword [edi]
add eax, 8
cmp esi, dword [edi + 8]
je 0x43ffd1
cmp word [esi], 0x5c
jne 0x43ffce
mov edx, edi
call fcn.0043fdb0
test al, al
je 0x43ffce
add esi, 2
mov dword [edi], esi
add dword [edi], 2
mov esi, edi
call fcn.0043ed80
jmp 0x4400cd
mov eax, edi
call fcn.00441310
jmp 0x4400c6
cmp ecx, 0x5b
jne 0x440053
mov esi, dword [edi]
cmp esi, dword [edi + 8]
je 0x44000e
cmp word [esi], 0x5c
jne 0x44000b
mov edx, edi
call fcn.0043fdb0
test al, al
je 0x44000b
add esi, 2
mov dword [edi], esi
add dword [edi], 2
mov esi, edi
call fcn.0043ed80
call fcn.00441270
cmp dword [edi + 0x40], 0x5d
je 0x44002a
push 4
call fcn.0053d1a9
add esp, 4
mov esi, dword [edi]
cmp esi, dword [edi + 8]
je 0x44004a
cmp word [esi], 0x5c
jne 0x440047
mov edx, edi
call fcn.0043fdb0
test al, al
je 0x440047
add esi, 2
mov dword [edi], esi
add dword [edi], 2
mov esi, edi
call fcn.0043ed80
jmp 0x4400c6
cmp ecx, 0x28
jne 0x4400e0
mov esi, dword [edi]
cmp esi, dword [edi + 8]
je 0x44007c
cmp word [esi], 0x5c
jne 0x440079
mov edx, edi
call fcn.0043fdb0
test al, al
je 0x440079
add esi, 2
mov dword [edi], esi
add dword [edi], 2
mov esi, edi
call fcn.0043ed80
push edi
call fcn.004413d0
cmp dword [edi + 0x40], 0x29
mov bl, al
je 0x44009b
push 5
call fcn.0053d1a9
add esp, 4
mov esi, dword [edi]
cmp esi, dword [edi + 8]
je 0x4400bb
cmp word [esi], 0x5c
jne 0x4400b8
mov edx, edi
call fcn.0043fdb0
test al, al
je 0x4400b8
add esi, 2
mov dword [edi], esi
add dword [edi], 2
mov esi, edi
call fcn.0043ed80
test bl, bl
je 0x4400cd
mov eax, edi
call fcn.00441510
cmp dword [edi + 0x40], 0xffff
mov al, 1
jne 0x43fe40
pop edi
pop esi
pop ebx
ret
cmp ecx, 0x5e
jne 0x440118
push 2
lea esi, [edi + 0x18]
call fcn.00440300
mov esi, dword [edi]
cmp esi, dword [edi + 8]
je 0x44010f
cmp word [esi], 0x5c
jne 0x44010c
mov edx, edi
call fcn.0043fdb0
test al, al
je 0x44010c
add esi, 2
mov dword [edi], esi
add dword [edi], 2
mov esi, edi
call fcn.0043ed80
jmp 0x4400cd
cmp ecx, 0x24
jne 0x440130
push 3
lea esi, [edi + 0x18]
call fcn.00440300
mov eax, edi
call fcn.0043fdf0
jmp 0x4400cd
cmp ecx, 0x2a
je 0x44018f
cmp ecx, 0x2b
je 0x44018f
cmp ecx, 0x3f
je 0x44018f
cmp ecx, 0x7b
je 0x44018f
cmp ecx, 0x7d
jne 0x44015d
test dword [edi + 0x44], edx
jne 0x44015d
push 6
call fcn.0053d1a9
add esp, 4
jmp 0x4400c6
cmp ecx, 0x5d
jne 0x440176
test dword [edi + 0x44], edx
jne 0x440176
push 4
call fcn.0053d1a9
add esp, 4
jmp 0x4400c6
movzx edx, word [edi + 0x3e]
push edx
lea eax, [edi + 0x18]
call fcn.00441660
mov eax, edi
call fcn.0043fdf0
jmp 0x4400c6
push 0xa
call fcn.0053d1a9
add esp, 4
jmp 0x4400c6