Function at 0x439ceb
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 0x439d16
mov eax, 0x102
mov dword [edi + 0x58], eax
mov dword [ebp + 0xc], eax
push 0x47ce78
lea eax, [ebp + 0xc]
push eax
call fcn.0045824a
mov ecx, edi
call fcn.0043a1ab
call fcn.0043a14c
movzx ecx, ax
cmp cx, 0x3c
jne 0x439fa9
cmp dword [ebp + 8], esi
jne 0x439fa1
mov eax, dword [edi + 0x54]
movzx ecx, word [eax]
cmp cx, 0x21
jne 0x439f03
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.0043a14c
cmp ax, 0x21
jne 0x439df3
call fcn.0043a14c
push 0x2d
pop esi
cmp ax, si
jne 0x439df3
call fcn.0043a14c
cmp ax, si
jne 0x439df3
mov ecx, edi
call fcn.0043a14c
movzx eax, ax
cmp ax, si
jne 0x439ddb
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.0043a14c
cmp ax, si
jne 0x439dc1
call fcn.0043a14c
cmp ax, 0x3e
je 0x439dea
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 0x439d85
test ax, ax
jne 0x439d85
mov eax, 0x10d
jmp 0x439d02
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.0043a14c
cmp ax, 0x21
jne 0x439ef9
call fcn.0043a14c
cmp ax, 0x5b
jne 0x439ef9
call fcn.0043a14c
cmp ax, 0x43
jne 0x439ef9
call fcn.0043a14c
cmp ax, 0x44
jne 0x439ef9
call fcn.0043a14c
cmp ax, 0x41
jne 0x439ef9
call fcn.0043a14c
cmp ax, 0x54
jne 0x439ef9
call fcn.0043a14c
cmp ax, 0x41
jne 0x439ef9
call fcn.0043a14c
cmp ax, 0x5b
jne 0x439ef9
mov esi, ebx
call fcn.004014f3
mov ecx, edi
call fcn.0043a14c
movzx esi, ax
cmp si, 0x5d
jne 0x439edf
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.0043a14c
cmp ax, si
jne 0x439ec5
call fcn.0043a14c
cmp ax, 0x3e
je 0x439ef2
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 0x439ee8
test si, si
je 0x439de0
push esi
mov eax, ebx
call fcn.00401fff
jmp 0x439e88
push 9
jmp 0x439dec
mov eax, 0x10f
jmp 0x439d02
cmp cx, 0x3f
jne 0x439fa1
mov ecx, edi
call fcn.0043a14c
mov esi, ebx
call fcn.004014f3
mov esi, dword [ebp + 0x10]
call fcn.004014f3
mov ecx, edi
call fcn.0043a14c
movzx ecx, ax
cmp cx, 0x20
je 0x439f3c
mov eax, ecx
call fcn.00434552
jmp 0x439f3f
xor eax, eax
inc eax
test eax, eax
jne 0x439f79
cmp cx, 0x3f
jne 0x439f52
mov eax, dword [edi + 0x54]
cmp word [eax], 0x3e
je 0x439f61
test cx, cx
je 0x439f6f
push ecx
mov eax, ebx
call fcn.00401fff
jmp 0x439f23
mov ecx, edi
call fcn.0043a14c
push 0xa
jmp 0x439dec
mov eax, 0x110
jmp 0x439d02
mov ecx, edi
call fcn.0043a14c
movzx eax, ax
cmp ax, 0x3f
jne 0x439f92
mov ecx, dword [edi + 0x54]
cmp word [ecx], 0x3e
je 0x439f61
test ax, ax
je 0x439f6f
push eax
mov eax, esi
call fcn.00401fff
jmp 0x439f79
xor eax, eax
inc eax
jmp 0x439ded
cmp cx, 0x3e
jne 0x439fb6
push 2
jmp 0x439dec
cmp cx, si
jne 0x439fc2
push 0xb
jmp 0x439dec
cmp dword [ebp + 8], esi
je 0x43a101
cmp cx, 0x2f
jne 0x439fd8
push 4
jmp 0x439dec
cmp cx, 0x22
je 0x43a073
cmp cx, 0x27
je 0x43a073
cmp cx, 0x3d
jne 0x439ff9
push 3
jmp 0x439dec
cmp cx, 0x20
je 0x43a008
mov eax, ecx
call fcn.00434552
jmp 0x43a00b
xor eax, eax
inc eax
cmp eax, esi
jne 0x43a069
push ebx
mov eax, ecx
call fcn.00434608
jmp 0x43a057
cmp ax, 0x3c
je 0x43a062
cmp ax, 0x3d
je 0x43a062
cmp ax, 0x3e
je 0x43a062
cmp ax, 0x2f
je 0x43a062
cmp ax, 0x20
je 0x43a03e
call fcn.00434552
jmp 0x43a041
xor eax, eax
inc eax
cmp eax, esi
jne 0x43a062
mov ecx, edi
call fcn.0043a14c
movzx eax, ax
push eax
mov eax, ebx
call fcn.00401fff
mov eax, dword [edi + 0x54]
movzx eax, word [eax]
cmp ax, si
jne 0x43a019
push 5
jmp 0x439dec
mov eax, 0x201
jmp 0x439d02
mov esi, dword [ebp + 0xc]
movzx ebx, cx
call fcn.004014f3
jmp 0x43a09d
cmp ax, 0x3c
je 0x43a0a8
mov ecx, edi
cmp ax, bx
je 0x43a0b2
call fcn.0043a14c
movzx eax, ax
push eax
mov eax, esi
call fcn.00401fff
mov eax, dword [edi + 0x54]
movzx eax, word [eax]
test ax, ax
jne 0x43a080
mov eax, 0x202
jmp 0x439d02
call fcn.0043a14c
mov eax, dword [edi + 0x54]
movzx ecx, word [eax]
cmp cx, 0x20
je 0x43a0cc
mov eax, ecx
call fcn.00434552
jmp 0x43a0cf
xor eax, eax
inc eax
test eax, eax
jne 0x43a0ef
cmp cx, 0x3e
je 0x43a0ef
cmp cx, 0x2f
je 0x43a0ef
cmp cx, 0x3f
je 0x43a0ef
mov eax, 0x10c
jmp 0x439d02
push 6
mov eax, dword [ebp + 0xc]
pop esi
call fcn.00439540
mov eax, esi
jmp 0x439ded
cmp cx, 0x20
je 0x43a110
mov eax, ecx
call fcn.00434552
jmp 0x43a113
xor eax, eax
inc eax
cmp eax, esi
jne 0x43a069
push ebx
mov eax, ecx
call fcn.00434608
jmp 0x43a13d
cmp ax, 0x3c
je 0x43a148
mov ecx, edi
call fcn.0043a14c
movzx eax, ax
push eax
mov eax, ebx
call fcn.00401fff
mov eax, dword [edi + 0x54]
movzx eax, word [eax]
cmp ax, si
jne 0x43a125
push 7
jmp 0x43a0f1