Function at 0x439dea
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 0x439e15
mov eax, 0x102
mov dword [edi + 0x58], eax
mov dword [ebp + 0xc], eax
push 0x47ceb8
lea eax, [ebp + 0xc]
push eax
call fcn.004582ea
mov ecx, edi
call fcn.0043a2aa
call fcn.0043a24b
movzx ecx, ax
cmp cx, 0x3c
jne 0x43a0a8
cmp dword [ebp + 8], esi
jne 0x43a0a0
mov eax, dword [edi + 0x54]
movzx ecx, word [eax]
cmp cx, 0x21
jne 0x43a002
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.0043a24b
cmp ax, 0x21
jne 0x439ef2
call fcn.0043a24b
push 0x2d
pop esi
cmp ax, si
jne 0x439ef2
call fcn.0043a24b
cmp ax, si
jne 0x439ef2
mov ecx, edi
call fcn.0043a24b
movzx eax, ax
cmp ax, si
jne 0x439eda
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.0043a24b
cmp ax, si
jne 0x439ec0
call fcn.0043a24b
cmp ax, 0x3e
je 0x439ee9
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 0x439e84
test ax, ax
jne 0x439e84
mov eax, 0x10d
jmp 0x439e01
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.0043a24b
cmp ax, 0x21
jne 0x439ff8
call fcn.0043a24b
cmp ax, 0x5b
jne 0x439ff8
call fcn.0043a24b
cmp ax, 0x43
jne 0x439ff8
call fcn.0043a24b
cmp ax, 0x44
jne 0x439ff8
call fcn.0043a24b
cmp ax, 0x41
jne 0x439ff8
call fcn.0043a24b
cmp ax, 0x54
jne 0x439ff8
call fcn.0043a24b
cmp ax, 0x41
jne 0x439ff8
call fcn.0043a24b
cmp ax, 0x5b
jne 0x439ff8
mov esi, ebx
call fcn.004014f3
mov ecx, edi
call fcn.0043a24b
movzx esi, ax
cmp si, 0x5d
jne 0x439fde
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.0043a24b
cmp ax, si
jne 0x439fc4
call fcn.0043a24b
cmp ax, 0x3e
je 0x439ff1
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 0x439fe7
test si, si
je 0x439edf
push esi
mov eax, ebx
call fcn.00402008
jmp 0x439f87
push 9
jmp 0x439eeb
mov eax, 0x10f
jmp 0x439e01
cmp cx, 0x3f
jne 0x43a0a0
mov ecx, edi
call fcn.0043a24b
mov esi, ebx
call fcn.004014f3
mov esi, dword [ebp + 0x10]
call fcn.004014f3
mov ecx, edi
call fcn.0043a24b
movzx ecx, ax
cmp cx, 0x20
je 0x43a03b
mov eax, ecx
call fcn.004346e1
jmp 0x43a03e
xor eax, eax
inc eax
test eax, eax
jne 0x43a078
cmp cx, 0x3f
jne 0x43a051
mov eax, dword [edi + 0x54]
cmp word [eax], 0x3e
je 0x43a060
test cx, cx
je 0x43a06e
push ecx
mov eax, ebx
call fcn.00402008
jmp 0x43a022
mov ecx, edi
call fcn.0043a24b
push 0xa
jmp 0x439eeb
mov eax, 0x110
jmp 0x439e01
mov ecx, edi
call fcn.0043a24b
movzx eax, ax
cmp ax, 0x3f
jne 0x43a091
mov ecx, dword [edi + 0x54]
cmp word [ecx], 0x3e
je 0x43a060
test ax, ax
je 0x43a06e
push eax
mov eax, esi
call fcn.00402008
jmp 0x43a078
xor eax, eax
inc eax
jmp 0x439eec
cmp cx, 0x3e
jne 0x43a0b5
push 2
jmp 0x439eeb
cmp cx, si
jne 0x43a0c1
push 0xb
jmp 0x439eeb
cmp dword [ebp + 8], esi
je 0x43a200
cmp cx, 0x2f
jne 0x43a0d7
push 4
jmp 0x439eeb
cmp cx, 0x22
je 0x43a172
cmp cx, 0x27
je 0x43a172
cmp cx, 0x3d
jne 0x43a0f8
push 3
jmp 0x439eeb
cmp cx, 0x20
je 0x43a107
mov eax, ecx
call fcn.004346e1
jmp 0x43a10a
xor eax, eax
inc eax
cmp eax, esi
jne 0x43a168
push ebx
mov eax, ecx
call fcn.00434797
jmp 0x43a156
cmp ax, 0x3c
je 0x43a161
cmp ax, 0x3d
je 0x43a161
cmp ax, 0x3e
je 0x43a161
cmp ax, 0x2f
je 0x43a161
cmp ax, 0x20
je 0x43a13d
call fcn.004346e1
jmp 0x43a140
xor eax, eax
inc eax
cmp eax, esi
jne 0x43a161
mov ecx, edi
call fcn.0043a24b
movzx eax, ax
push eax
mov eax, ebx
call fcn.00402008
mov eax, dword [edi + 0x54]
movzx eax, word [eax]
cmp ax, si
jne 0x43a118
push 5
jmp 0x439eeb
mov eax, 0x201
jmp 0x439e01
mov esi, dword [ebp + 0xc]
movzx ebx, cx
call fcn.004014f3
jmp 0x43a19c
cmp ax, 0x3c
je 0x43a1a7
mov ecx, edi
cmp ax, bx
je 0x43a1b1
call fcn.0043a24b
movzx eax, ax
push eax
mov eax, esi
call fcn.00402008
mov eax, dword [edi + 0x54]
movzx eax, word [eax]
test ax, ax
jne 0x43a17f
mov eax, 0x202
jmp 0x439e01
call fcn.0043a24b
mov eax, dword [edi + 0x54]
movzx ecx, word [eax]
cmp cx, 0x20
je 0x43a1cb
mov eax, ecx
call fcn.004346e1
jmp 0x43a1ce
xor eax, eax
inc eax
test eax, eax
jne 0x43a1ee
cmp cx, 0x3e
je 0x43a1ee
cmp cx, 0x2f
je 0x43a1ee
cmp cx, 0x3f
je 0x43a1ee
mov eax, 0x10c
jmp 0x439e01
push 6
mov eax, dword [ebp + 0xc]
pop esi
call fcn.0043963f
mov eax, esi
jmp 0x439eec
cmp cx, 0x20
je 0x43a20f
mov eax, ecx
call fcn.004346e1
jmp 0x43a212
xor eax, eax
inc eax
cmp eax, esi
jne 0x43a168
push ebx
mov eax, ecx
call fcn.00434797
jmp 0x43a23c
cmp ax, 0x3c
je 0x43a247
mov ecx, edi
call fcn.0043a24b
movzx eax, ax
push eax
mov eax, ebx
call fcn.00402008
mov eax, dword [edi + 0x54]
movzx eax, word [eax]
cmp ax, si
jne 0x43a224
push 7
jmp 0x43a1f0