Function at 0x439a9b
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 0x439ac6
mov eax, 0x102
mov dword [edi + 0x58], eax
mov dword [ebp + 0xc], eax
push 0x47cd60
lea eax, [ebp + 0xc]
push eax
call fcn.00457f1a
mov ecx, edi
call fcn.00439f5b
call fcn.00439efc
movzx ecx, ax
cmp cx, 0x3c
jne 0x439d59
cmp dword [ebp + 8], esi
jne 0x439d51
mov eax, dword [edi + 0x54]
movzx ecx, word [eax]
cmp cx, 0x21
jne 0x439cb3
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.00439efc
cmp ax, 0x21
jne 0x439ba3
call fcn.00439efc
push 0x2d
pop esi
cmp ax, si
jne 0x439ba3
call fcn.00439efc
cmp ax, si
jne 0x439ba3
mov ecx, edi
call fcn.00439efc
movzx eax, ax
cmp ax, si
jne 0x439b8b
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.00439efc
cmp ax, si
jne 0x439b71
call fcn.00439efc
cmp ax, 0x3e
je 0x439b9a
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 0x439b35
test ax, ax
jne 0x439b35
mov eax, 0x10d
jmp 0x439ab2
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.00439efc
cmp ax, 0x21
jne 0x439ca9
call fcn.00439efc
cmp ax, 0x5b
jne 0x439ca9
call fcn.00439efc
cmp ax, 0x43
jne 0x439ca9
call fcn.00439efc
cmp ax, 0x44
jne 0x439ca9
call fcn.00439efc
cmp ax, 0x41
jne 0x439ca9
call fcn.00439efc
cmp ax, 0x54
jne 0x439ca9
call fcn.00439efc
cmp ax, 0x41
jne 0x439ca9
call fcn.00439efc
cmp ax, 0x5b
jne 0x439ca9
mov esi, ebx
call fcn.004014f3
mov ecx, edi
call fcn.00439efc
movzx esi, ax
cmp si, 0x5d
jne 0x439c8f
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.00439efc
cmp ax, si
jne 0x439c75
call fcn.00439efc
cmp ax, 0x3e
je 0x439ca2
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 0x439c98
test si, si
je 0x439b90
push esi
mov eax, ebx
call fcn.0040208d
jmp 0x439c38
push 9
jmp 0x439b9c
mov eax, 0x10f
jmp 0x439ab2
cmp cx, 0x3f
jne 0x439d51
mov ecx, edi
call fcn.00439efc
mov esi, ebx
call fcn.004014f3
mov esi, dword [ebp + 0x10]
call fcn.004014f3
mov ecx, edi
call fcn.00439efc
movzx ecx, ax
cmp cx, 0x20
je 0x439cec
mov eax, ecx
call fcn.00432ec6
jmp 0x439cef
xor eax, eax
inc eax
test eax, eax
jne 0x439d29
cmp cx, 0x3f
jne 0x439d02
mov eax, dword [edi + 0x54]
cmp word [eax], 0x3e
je 0x439d11
test cx, cx
je 0x439d1f
push ecx
mov eax, ebx
call fcn.0040208d
jmp 0x439cd3
mov ecx, edi
call fcn.00439efc
push 0xa
jmp 0x439b9c
mov eax, 0x110
jmp 0x439ab2
mov ecx, edi
call fcn.00439efc
movzx eax, ax
cmp ax, 0x3f
jne 0x439d42
mov ecx, dword [edi + 0x54]
cmp word [ecx], 0x3e
je 0x439d11
test ax, ax
je 0x439d1f
push eax
mov eax, esi
call fcn.0040208d
jmp 0x439d29
xor eax, eax
inc eax
jmp 0x439b9d
cmp cx, 0x3e
jne 0x439d66
push 2
jmp 0x439b9c
cmp cx, si
jne 0x439d72
push 0xb
jmp 0x439b9c
cmp dword [ebp + 8], esi
je 0x439eb1
cmp cx, 0x2f
jne 0x439d88
push 4
jmp 0x439b9c
cmp cx, 0x22
je 0x439e23
cmp cx, 0x27
je 0x439e23
cmp cx, 0x3d
jne 0x439da9
push 3
jmp 0x439b9c
cmp cx, 0x20
je 0x439db8
mov eax, ecx
call fcn.00432ec6
jmp 0x439dbb
xor eax, eax
inc eax
cmp eax, esi
jne 0x439e19
push ebx
mov eax, ecx
call fcn.00434160
jmp 0x439e07
cmp ax, 0x3c
je 0x439e12
cmp ax, 0x3d
je 0x439e12
cmp ax, 0x3e
je 0x439e12
cmp ax, 0x2f
je 0x439e12
cmp ax, 0x20
je 0x439dee
call fcn.00432ec6
jmp 0x439df1
xor eax, eax
inc eax
cmp eax, esi
jne 0x439e12
mov ecx, edi
call fcn.00439efc
movzx eax, ax
push eax
mov eax, ebx
call fcn.0040208d
mov eax, dword [edi + 0x54]
movzx eax, word [eax]
cmp ax, si
jne 0x439dc9
push 5
jmp 0x439b9c
mov eax, 0x201
jmp 0x439ab2
mov esi, dword [ebp + 0xc]
movzx ebx, cx
call fcn.004014f3
jmp 0x439e4d
cmp ax, 0x3c
je 0x439e58
mov ecx, edi
cmp ax, bx
je 0x439e62
call fcn.00439efc
movzx eax, ax
push eax
mov eax, esi
call fcn.0040208d
mov eax, dword [edi + 0x54]
movzx eax, word [eax]
test ax, ax
jne 0x439e30
mov eax, 0x202
jmp 0x439ab2
call fcn.00439efc
mov eax, dword [edi + 0x54]
movzx ecx, word [eax]
cmp cx, 0x20
je 0x439e7c
mov eax, ecx
call fcn.00432ec6
jmp 0x439e7f
xor eax, eax
inc eax
test eax, eax
jne 0x439e9f
cmp cx, 0x3e
je 0x439e9f
cmp cx, 0x2f
je 0x439e9f
cmp cx, 0x3f
je 0x439e9f
mov eax, 0x10c
jmp 0x439ab2
push 6
mov eax, dword [ebp + 0xc]
pop esi
call fcn.004392f0
mov eax, esi
jmp 0x439b9d
cmp cx, 0x20
je 0x439ec0
mov eax, ecx
call fcn.00432ec6
jmp 0x439ec3
xor eax, eax
inc eax
cmp eax, esi
jne 0x439e19
push ebx
mov eax, ecx
call fcn.00434160
jmp 0x439eed
cmp ax, 0x3c
je 0x439ef8
mov ecx, edi
call fcn.00439efc
movzx eax, ax
push eax
mov eax, ebx
call fcn.0040208d
mov eax, dword [edi + 0x54]
movzx eax, word [eax]
cmp ax, si
jne 0x439ed5
push 7
jmp 0x439ea1