Function at 0x47f270
Capabilities:
Parse credit card information

Disassembly:
mov eax, dword [ebp + 0x14]
mov dword [ebp + 0x20], eax
mov byte [ebp + 0x6f], 0
mov edx, esi
xor eax, eax
jmp 0x47ee55
cmp ax, 0x3b
je 0x47ee5f
push eax
call fcn.00480e1d
add esp, 4
test al, al
jne 0x47ee5f
add esi, ebx
mov dword [ebp + 0x58], esi
mov ax, word [esi]
test ax, ax
jne 0x47ee3d
jmp 0x47ee72
and word [esi], 0
lea eax, [ebp + 0x58]
add esi, ebx
push eax
mov dword [ebp + 0x58], esi
call 0x4b60d2
pop ecx
cmp byte [edi + 0x92], 0
jne 0x47ee93
test byte [edi + 9], 0xf
jne 0x47ee93
push 0
push 0
push 0
lea eax, [ebp + 0x48]
push eax
push edx
mov ecx, edi
call 0x4c9d9b
mov esi, dword [ebp + 0x48]
push esi
call dword [0x4a6508]
lea eax, [eax + eax + 4]
push eax
lea ecx, [ebp + 0x50]
call 0x4bc052
cwde
rol dword [ebx], 1
add byte [ebx + 0x65835055], cl
pushal
add byte [ebx - 0x1636cc3e], cl
pop esp
add eax, dword [eax]
invalid
cmp cx, 0x41
jb 0x47eede
cmp cx, 0x5a
ja 0x47eede
add ecx, 0x20
jmp 0x47f197
cmp cx, 0xff21
jb 0x47eef7
cmp cx, 0xff3a
ja 0x47eef7
add ecx, 0x140
jmp 0x47f197
cmp cx, 0xff41
jb 0x47ef10
cmp cx, 0xff5a
ja 0x47ef10
add ecx, 0x120
jmp 0x47f197
cmp cx, 0xff10
jb 0x47ef1e
cmp cx, 0xff19
jbe 0x47ef05
cmp cx, 0xff0b
jne 0x47ef2f
invalid
mov word [eax], 0x2b
jmp 0x47f222
cmp cx, 0xff0d
mov word [eax], cx
jmp 0x47f222
add eax, ebx
add esi, ebx
mov cx, word [esi]
test cx, cx
jne 0x47eeca
and word [eax], cx
mov ebx, eax
lea eax, [ebp + 0x78]
push eax
mov dword [ebp + 0x78], edx
call 0x4b64a4
jb 0x47f245
add byte [ebx - 0x7499878b], cl
push es
pop ecx
push 0x23
pop ecx
cmp ax, cx
mov edi, 0x4a69d4
mov dword [ebp + 0x24], edi
jne 0x47f261
inc esi
mov dword [ebp + 0x20], ecx
inc esi
jmp 0x47f26d
cmp ax, 0x24
jne 0x47f26d
inc esi
inc esi
and dword [ebp + 0x20], 0
cmp word [esi], 0x26
mov ecx, esi
jne 0x47f27d
inc ecx
inc ecx
cmp word [ecx], 0x26
je 0x47f275
mov ax, word [ecx]
call 0x4ba8c6
test al, al
je 0x47f2c4
inc ecx
inc ecx
xor edx, edx
mov dx, word [ecx]
mov dword [ebp + 0x78], ecx
mov eax, edx
call 0x4ba8db
test al, al
jne 0x47f289
cmp dx, 0x30
jb 0x47f2aa
cmp dx, 0x39
jbe 0x47f289
lea eax, [ebp + 0x78]
push eax
mov edx, ecx
shr eax, 1
popal
jb 0x47f2b7
add byte [ebx - 0x7c9987bb], cl
invalid
invalid
pop ecx
jne 0x47f2c4
mov dword [ebp + 0x60], edx
mov ebx, eax
cmp word [ebx], 0x3d
jne 0x47f2d9
mov eax, dword [ebp + 0x60]
and word [eax], 0
mov dword [ebp + 0x24], esi
lea esi, [ebx + 2]
jmp 0x47f2e8
mov eax, dword [ebp + 0x58]
cmp word [eax], 0
jne 0x47f2e8
mov eax, dword [ebp + 0x44]
mov dword [ebp + 0x24], eax
mov eax, dword [ebp + 0x34]
xor ebx, ebx
mov word [eax], bx
mov eax, dword [ebp + 0x64]
push 0x23
push esi
mov word [eax], bx
call dword [0x4a65c0]
cmp eax, ebx
mov dword [ebp + 0x54], eax
je 0x47f30d
mov word [eax], bx
add dword [ebp + 0x54], 2
push esi
call dword [0x4a6508]
dec eax
lea edx, [esi + eax*2]
mov cx, word [edx]
cmp cx, 0x2b
je 0x47f370
cmp cx, 0x2d
je 0x47f370
cmp cx, 0x2a
je 0x47f370
cmp cx, 0x2f
je 0x47f370
cmp cx, 0x25
je 0x47f370
cmp cx, 0x5e
je 0x47f370
cmp cx, 0x40
je 0x47f370
cmp cx, 0x26
je 0x47f370
cmp cx, 0x7c
je 0x47f370
cmp cx, 0x3d
je 0x47f363
cmp cx, 0x3e
je 0x47f363
cmp cx, 0x3c
jne 0x47f373
mov word [edx + 2], 0x30
mov word [esi + eax*2 + 4], bx
jmp 0x47f373
mov word [edx], bx
push 0x64
lea ecx, [ebp + 0x68]
call 0x4bc515
mov word [esi - 2], 0x20
push esi
mov word [esi - 2], bx
call 0x4bd53b
test eax, eax
pop ecx
jge 0x47f3a5
or dword [ebp + 0x40], 0xffffffff
cmp word [ebp + 0x20], bx
mov dword [ebp + 0x3c], 0x80070057
jne 0x47f3cc
jmp 0x47f417
cmp word [ebp + 0x20], bx
lea eax, [ebp + 0x6f]
push eax
push esi
je 0x47f3fc
call 0x4cd0bf
cmp byte [ebp + 0x6f], 0
mov esi, eax
movsx eax, byte [ebp + 0x6f]
mov ebx, edx
cdq
pop ecx
pop ecx
mov dword [ebp + 0x3c], eax
mov dword [ebp + 0x40], edx
je 0x47f3d2
mov esi, dword [ebp + 4]
mov ebx, dword [ebp + 8]
cmp dword [ebp + 0x7c], 0
je 0x47f4de
lea ecx, [ebp + 0x68]
call 0x4b65fa
lea ecx, [ebp + 0x50]
call 0x4b6602
push 0x4c1b94
call dword [0x4a64f4]
jmp 0x47f7af
call 0x4cd0d0
fstp qword [ebp + 0x5c]
cmp byte [ebp + 0x6f], 0
movsx eax, byte [ebp + 0x6f]
cdq
pop ecx
pop ecx
mov dword [ebp + 0x3c], eax
mov dword [ebp + 0x40], edx
je 0x47f41d
fld qword [ebp - 0x18]
fstp qword [ebp + 0x5c]
mov eax, dword [ebp + 0x7c]
cmp eax, ebx
jne 0x47f6f2
cmp dword [ebp + 0x4c], 1
call 0x4b66ef
mov edi, 0x4a69d4
mov eax, dword [ebp + 0x4c]
cmp eax, 1
jg 0x47f4f8
push ebx
push esi
push dword [ebp + 0x68]
call 0x5061ce
add esp, 0xc
jmp 0x47f6a0
cmp eax, 2
mov dword [ebp + 0x78], edi
jne 0x47f509
mov dword [ebp + 0x78], 0x4b17dc
jmp 0x47f523
cmp eax, 8
jne 0x47f517
mov dword [ebp + 0x78], 0x4b17d4
jmp 0x47f523
cmp eax, 0x10
jne 0x47f523
mov dword [ebp + 0x78], 0x4b17cc
test ebx, ebx
mov dword [ebp + 0x60], edi
jg 0x47f53e
jl 0x47f530
test esi, esi
jae 0x47f53e
neg esi
adc ebx, 0
mov dword [ebp + 0x60], 0x4af2c8
neg ebx
test ebx, ebx
mov edi, esi
ja 0x47f560
jb 0x47f54a
test esi, esi
ja 0x47f557
push 0x4aa5a0
lea ecx, [ebp + 0x68]
call 0x4c4e52
test ebx, ebx
ja 0x47f560
cmp esi, 1
jb 0x47f5d7
mov eax, dword [ebp + 0x4c]
mov esi, dword [ebp + 0x68]
cdq
mov dword [ebp - 8], eax
lea eax, [ebp + 0x68]
push eax
lea ecx, [ebp + 0x18]
call 0x4c4ec7
push dword [ebp + 0x60]
lea ecx, [ebp + 0x68]
call 0x4c4ee9
push dword [ebp + 0x78]
lea ecx, [ebp + 0x68]
call 0x4bc7df
add bh, bh
jne 0x47f614
lea ecx, [ebp + 0x68]
call 0x4bc7ea
lea ecx, [ebp + 0x18]
jmp 0x47f69b
call 0x4b68b6
push dword [ebp + 0x68]
call fcn.0048dff0
pop ecx
push 0xffffffffffffffff
push dword [ebp + 0x68]
lea ecx, [ebp + 0x64]
call str.GetSystemTimeAsFileTime
mov eax, dword [ebp + 0x58]
xor esi, esi
cmp word [eax], si
je 0x47f708
mov eax, dword [ebp + 0x24]
cmp word [eax], si
je 0x47f6d4
push dword [ebp + 0x64]
mov ecx, dword [ebp + 0x38]
push eax
call 0x4bc128
add eax, dword [eax]
lea ecx, [ebp + 0x68]
call 0x4b68f2
lea ecx, [ebp + 0x50]
call 0x4b68fa
mov edi, dword [ebp + 0x38]
mov esi, dword [ebp + 0x58]
push 2
pop ebx
jmp 0x47ee2d
fld qword [ebp + 0x5c]
fstp qword [eax]
fld qword [ebp + 0x5c]
call 0x511e4f
mov esi, eax
mov ebx, edx
jmp 0x47f3dc
lea ecx, [ebp + 0x68]
call 0x4b6926
lea ecx, [ebp + 0x50]
call 0x4b692e
mov eax, dword [ebp + 0x44]
cmp word [eax], si
je 0x47f739
push dword [ebp + 0x64]
mov ecx, dword [ebp + 0x38]
push eax
call 0x4bc180
push 0x4c1b94
call dword [0x4a64f4]
jmp 0x47f7a9
push 0x4c1b94
call dword [0x4a64f4]
mov eax, dword [ebp + 0x3c]
or eax, dword [ebp + 0x40]
mov dword [ebp + 0x78], esi
je 0x47f763
push 0xffffffffffffffff
invalid