Function at 0x439b5c
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [edi + 0x54]
push ebx
mov ebx, dword [ebp + 0xc]
push esi
xor esi, esi
cmp word [eax], si
jne 0x439b87
mov eax, 0x102
mov dword [edi + 0x58], eax
mov dword [ebp + 0xc], eax
push 0x47ce38
lea eax, [ebp + 0xc]
push eax
call fcn.004580fa
mov ecx, edi
call fcn.0043a01c
call fcn.00439fbd
movzx ecx, ax
cmp cx, 0x3c
jne 0x439e1a
cmp dword [ebp + 8], esi
jne 0x439e12
mov eax, dword [edi + 0x54]
movzx ecx, word [eax]
cmp cx, 0x21
jne 0x439d74
mov dword [edi + 0x64], eax
mov eax, dword [edi + 0x4c]
mov dword [edi + 0x68], eax
mov eax, dword [edi + 0x44]
mov dword [edi + 0x6c], eax
mov eax, dword [edi + 0x48]
mov ecx, edi
mov dword [edi + 0x70], eax
call fcn.00439fbd
cmp ax, 0x21
jne 0x439c64
call fcn.00439fbd
push 0x2d
pop esi
cmp ax, si
jne 0x439c64
call fcn.00439fbd
cmp ax, si
jne 0x439c64
mov ecx, edi
call fcn.00439fbd
movzx eax, ax
cmp ax, si
jne 0x439c4c
mov eax, dword [edi + 0x54]
mov dword [edi + 0x64], eax
mov eax, dword [edi + 0x4c]
mov dword [edi + 0x68], eax
mov eax, dword [edi + 0x44]
mov dword [edi + 0x6c], eax
mov eax, dword [edi + 0x48]
mov dword [edi + 0x70], eax
call fcn.00439fbd
cmp ax, si
jne 0x439c32
call fcn.00439fbd
cmp ax, 0x3e
je 0x439c5b
mov eax, dword [edi + 0x64]
mov dword [edi + 0x54], eax
mov eax, dword [edi + 0x68]
mov dword [edi + 0x4c], eax
mov eax, dword [edi + 0x6c]
mov dword [edi + 0x44], eax
mov eax, dword [edi + 0x70]
mov dword [edi + 0x48], eax
jmp 0x439bf6
test ax, ax
jne 0x439bf6
mov eax, 0x10d
jmp 0x439b73
push 8
pop eax
pop esi
pop ebx
pop ebp
ret 0xc
mov eax, dword [edi + 0x64]
mov dword [edi + 0x54], eax
mov eax, dword [edi + 0x68]
mov dword [edi + 0x4c], eax
mov eax, dword [edi + 0x6c]
mov dword [edi + 0x44], eax
mov eax, dword [edi + 0x70]
mov ecx, edi
mov dword [edi + 0x48], eax
call fcn.00439fbd
cmp ax, 0x21
jne 0x439d6a
call fcn.00439fbd
cmp ax, 0x5b
jne 0x439d6a
call fcn.00439fbd
cmp ax, 0x43
jne 0x439d6a
call fcn.00439fbd
cmp ax, 0x44
jne 0x439d6a
call fcn.00439fbd
cmp ax, 0x41
jne 0x439d6a
call fcn.00439fbd
cmp ax, 0x54
jne 0x439d6a
call fcn.00439fbd
cmp ax, 0x41
jne 0x439d6a
call fcn.00439fbd
cmp ax, 0x5b
jne 0x439d6a
mov esi, ebx
call fcn.004014f3
mov ecx, edi
call fcn.00439fbd
movzx esi, ax
cmp si, 0x5d
jne 0x439d50
mov eax, dword [edi + 0x54]
mov dword [edi + 0x64], eax
mov eax, dword [edi + 0x4c]
mov dword [edi + 0x68], eax
mov eax, dword [edi + 0x44]
mov dword [edi + 0x6c], eax
mov eax, dword [edi + 0x48]
mov dword [edi + 0x70], eax
call fcn.00439fbd
cmp ax, si
jne 0x439d36
call fcn.00439fbd
cmp ax, 0x3e
je 0x439d63
mov eax, dword [edi + 0x64]
mov dword [edi + 0x54], eax
mov eax, dword [edi + 0x68]
mov dword [edi + 0x4c], eax
mov eax, dword [edi + 0x6c]
mov dword [edi + 0x44], eax
mov eax, dword [edi + 0x70]
mov dword [edi + 0x48], eax
jmp 0x439d59
test si, si
je 0x439c51
push esi
mov eax, ebx
call fcn.00401ff3
jmp 0x439cf9
push 9
jmp 0x439c5d
mov eax, 0x10f
jmp 0x439b73
cmp cx, 0x3f
jne 0x439e12
mov ecx, edi
call fcn.00439fbd
mov esi, ebx
call fcn.004014f3
mov esi, dword [ebp + 0x10]
call fcn.004014f3
mov ecx, edi
call fcn.00439fbd
movzx ecx, ax
cmp cx, 0x20
je 0x439dad
mov eax, ecx
call fcn.004342b7
jmp 0x439db0
xor eax, eax
inc eax
test eax, eax
jne 0x439dea
cmp cx, 0x3f
jne 0x439dc3
mov eax, dword [edi + 0x54]
cmp word [eax], 0x3e
je 0x439dd2
test cx, cx
je 0x439de0
push ecx
mov eax, ebx
call fcn.00401ff3
jmp 0x439d94
mov ecx, edi
call fcn.00439fbd
push 0xa
jmp 0x439c5d
mov eax, 0x110
jmp 0x439b73
mov ecx, edi
call fcn.00439fbd
movzx eax, ax
cmp ax, 0x3f
jne 0x439e03
mov ecx, dword [edi + 0x54]
cmp word [ecx], 0x3e
je 0x439dd2
test ax, ax
je 0x439de0
push eax
mov eax, esi
call fcn.00401ff3
jmp 0x439dea
xor eax, eax
inc eax
jmp 0x439c5e
cmp cx, 0x3e
jne 0x439e27
push 2
jmp 0x439c5d
cmp cx, si
jne 0x439e33
push 0xb
jmp 0x439c5d
cmp dword [ebp + 8], esi
je 0x439f72
cmp cx, 0x2f
jne 0x439e49
push 4
jmp 0x439c5d
cmp cx, 0x22
je 0x439ee4
cmp cx, 0x27
je 0x439ee4
cmp cx, 0x3d
jne 0x439e6a
push 3
jmp 0x439c5d
cmp cx, 0x20
je 0x439e79
mov eax, ecx
call fcn.004342b7
jmp 0x439e7c
xor eax, eax
inc eax
cmp eax, esi
jne 0x439eda
push ebx
mov eax, ecx
call fcn.0043436d
jmp 0x439ec8
cmp ax, 0x3c
je 0x439ed3
cmp ax, 0x3d
je 0x439ed3
cmp ax, 0x3e
je 0x439ed3
cmp ax, 0x2f
je 0x439ed3
cmp ax, 0x20
je 0x439eaf
call fcn.004342b7
jmp 0x439eb2
xor eax, eax
inc eax
cmp eax, esi
jne 0x439ed3
mov ecx, edi
call fcn.00439fbd
movzx eax, ax
push eax
mov eax, ebx
call fcn.00401ff3
mov eax, dword [edi + 0x54]
movzx eax, word [eax]
cmp ax, si
jne 0x439e8a
push 5
jmp 0x439c5d
mov eax, 0x201
jmp 0x439b73
mov esi, dword [ebp + 0xc]
movzx ebx, cx
call fcn.004014f3
jmp 0x439f0e
cmp ax, 0x3c
je 0x439f19
mov ecx, edi
cmp ax, bx
je 0x439f23
call fcn.00439fbd
movzx eax, ax
push eax
mov eax, esi
call fcn.00401ff3
mov eax, dword [edi + 0x54]
movzx eax, word [eax]
test ax, ax
jne 0x439ef1
mov eax, 0x202
jmp 0x439b73
call fcn.00439fbd
mov eax, dword [edi + 0x54]
movzx ecx, word [eax]
cmp cx, 0x20
je 0x439f3d
mov eax, ecx
call fcn.004342b7
jmp 0x439f40
xor eax, eax
inc eax
test eax, eax
jne 0x439f60
cmp cx, 0x3e
je 0x439f60
cmp cx, 0x2f
je 0x439f60
cmp cx, 0x3f
je 0x439f60
mov eax, 0x10c
jmp 0x439b73
push 6
mov eax, dword [ebp + 0xc]
pop esi
call fcn.004393b1
mov eax, esi
jmp 0x439c5e
cmp cx, 0x20
je 0x439f81
mov eax, ecx
call fcn.004342b7
jmp 0x439f84
xor eax, eax
inc eax
cmp eax, esi
jne 0x439eda
push ebx
mov eax, ecx
call fcn.0043436d
jmp 0x439fae
cmp ax, 0x3c
je 0x439fb9
mov ecx, edi
call fcn.00439fbd
movzx eax, ax
push eax
mov eax, ebx
call fcn.00401ff3
mov eax, dword [edi + 0x54]
movzx eax, word [eax]
cmp ax, si
jne 0x439f96
push 7
jmp 0x439f62