Function at 0x463c7e
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x80
push ebx
push esi
lea eax, [ebp + 8]
push edi
push eax
mov dword [ebp - 0x28], ecx
call fcn.00427312
pop ecx
mov edi, 0x480934
xor ebx, ebx
push edi
lea ecx, [ebp - 0x18]
mov dword [ebp - 0x1c], ebx
call fcn.004365ba
push edi
lea ecx, [ebp - 0x44]
call fcn.004365ba
push edi
lea ecx, [ebp - 0x40]
call fcn.004365ba
fldz
fstp qword [ebp - 0x80]
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x68], ebx
mov dword [ebp - 0x64], ebx
jmp 0x463d3e
push 6
push dword [ebp + 8]
push str._base
call fcn.00428263
add esp, 0xc
test al, al
je 0x463d01
add dword [ebp + 8], 0xc
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp + 8]
push eax
mov dword [ebp - 0x24], 0xa
call fcn.0042f0d0
pop ecx
pop ecx
jmp 0x463d3e
push 5
push dword [ebp + 8]
push 0x488de0
call fcn.00428263
add esp, 0xc
test al, al
je 0x463d47
add dword [ebp + 8], 0xa
mov eax, dword [ebp + 8]
mov dword [ebp - 0x54], eax
lea eax, [ebp - 0x68]
push eax
lea eax, [ebp - 0x54]
push eax
call fcn.0042eff2
lea eax, [ebp - 0x80]
push eax
lea eax, [ebp + 8]
push eax
call fcn.0042eec2
add esp, 0x10
mov eax, dword [ebp + 8]
cmp word [eax], 0x2d
je 0x463ccf
mov eax, dword [ebp + 8]
mov ax, word [eax]
push 0x23
pop ecx
cmp ax, cx
jne 0x463d5a
mov dword [ebp - 0x48], ecx
jmp 0x463d60
cmp ax, 0x24
jne 0x463d64
add dword [ebp + 8], 2
lea eax, [ebp + 8]
push eax
call fcn.00427312
mov esi, dword [ebp + 8]
cmp word [esi], bx
pop ecx
jne 0x463d7d
xor edi, edi
jmp 0x464051
push esi
call fcn.0040b35a
pop ecx
push esi
lea ecx, [ebp - 0x14]
call fcn.004365ba
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
add eax, 0xa
push eax
lea ecx, [ebp - 0x14]
call fcn.0042c850
mov eax, dword [ebp - 0x14]
mov ebx, dword [sym.imp.SHLWAPI.dll_StrChrW]
push 0x3b
push eax
mov dword [ebp + 8], eax
call ebx
mov esi, eax
test esi, esi
je 0x463dbb
and word [esi], 0
push 0x3d
push dword [ebp - 0x14]
call ebx
test eax, eax
je 0x463dd8
push 0x3d
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp + 8]
push eax
call fcn.0042ec20
add esp, 0xc
test esi, esi
je 0x463de1
mov word [esi], 0x3b
mov eax, dword [ebp + 8]
cmp word [eax], 0x3d
jne 0x463dee
add dword [ebp + 8], 2
lea eax, [ebp + 8]
push eax
call fcn.00427312
pop ecx
lea ecx, [ebp - 0xc]
call fcn.0042c809
lea ecx, [ebp - 0x2c]
call fcn.0042c809
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x10], ebx
mov eax, dword [ebp - 0x48]
mov byte [ebp - 1], 0
mov dword [ebp - 0x20], eax
mov esi, ebx
xor edx, edx
jmp 0x463e35
cmp ax, 0x3b
je 0x463e3f
cmp ax, 0xa
je 0x463e3f
cmp ax, 0xd
je 0x463e3f
inc ebx
inc ebx
mov dword [ebp - 0x10], ebx
mov ax, word [ebx]
cmp ax, dx
jne 0x463e1e
jmp 0x463e54
mov word [ebx], dx
inc ebx
lea eax, [ebp - 0x10]
inc ebx
push eax
mov dword [ebp - 0x10], ebx
call fcn.00427312
mov ebx, dword [ebp - 0x10]
pop ecx
mov ecx, dword [ebp - 0x28]
cmp byte [ecx + 0x8a], 0
jne 0x463e74
test byte [ecx + 0xb], 0xf
jne 0x463e74
push edx
push edx
lea eax, [ebp - 0x1c]
push eax
push esi
call fcn.0043d7de
jmp 0x463e80
push edx
push edx
lea eax, [ebp - 0x1c]
push eax
push esi
call fcn.0043c527
mov eax, dword [ebp - 0x1c]
mov dword [ebp + 8], eax
lea eax, [ebp + 8]
push eax
call fcn.00427312
mov esi, dword [ebp + 8]
xor edx, edx
cmp word [esi], dx
pop ecx
mov dword [ebp - 0x30], edx
mov ecx, esi
je 0x463ebd
xor eax, eax
mov ax, word [ecx]
cmp ax, 0x41
jb 0x463eb6
cmp ax, 0x5a
ja 0x463eb6
add eax, 0x20
mov word [ecx], ax
inc ecx
inc ecx
cmp word [ecx], dx
jne 0x463e9f
mov ax, word [esi]
push 0x23
mov dword [ebp - 0x3c], edi
pop edi
cmp ax, di
jne 0x463ed0
mov dword [ebp - 0x20], edi
jmp 0x463ed9
cmp ax, 0x24
jne 0x463edb
mov dword [ebp - 0x20], edx
inc esi
inc esi
mov ax, word [esi]
call fcn.0042a43e
test al, al
je 0x463f20
lea ecx, [esi + 2]
xor edx, edx
mov dx, word [ecx]
mov dword [ebp + 8], ecx
mov eax, edx
call fcn.0042a43e
test al, al
jne 0x463f09
cmp dx, 0x30
jb 0x463f0d
cmp dx, 0x39
ja 0x463f0d
inc ecx
inc ecx
jmp 0x463eea
lea eax, [ebp + 8]
push eax
mov edi, ecx
call fcn.00427312
pop ecx
mov ecx, dword [ebp + 8]
xor edx, edx
jmp 0x463f23
mov edi, dword [ebp - 0x30]
cmp word [ecx], 0x3d
jne 0x463f34
mov dword [ebp - 0x3c], esi
mov word [edi], dx
lea esi, [ecx + 2]
jmp 0x463f3f
cmp word [ebx], dx
jne 0x463f3f
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x2c]
xor ebx, ebx
mov word [eax], bx
mov eax, dword [ebp - 0xc]
push 0x23
push esi
mov word [eax], bx
call dword [sym.imp.SHLWAPI.dll_StrChrW]
mov edi, eax
cmp edi, ebx
mov dword [ebp + 8], edi
je 0x463f67
mov word [edi], bx
inc edi
inc edi
mov dword [ebp + 8], edi
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
dec eax
lea ecx, [esi + eax*2]
mov dx, word [ecx]
cmp dx, 0x2b
je 0x463fca
cmp dx, 0x2d
je 0x463fca
cmp dx, 0x2a
je 0x463fca
cmp dx, 0x2f
je 0x463fca
cmp dx, 0x25
je 0x463fca
cmp dx, 0x5e
je 0x463fca
cmp dx, 0x40
je 0x463fca
cmp dx, 0x26
je 0x463fca
cmp dx, 0x7c
je 0x463fca
cmp dx, 0x3d
je 0x463fbd
cmp dx, 0x3e
je 0x463fbd
cmp dx, 0x3c
jne 0x463fcd
mov word [ecx + 2], 0x30
mov word [esi + eax*2 + 4], bx
jmp 0x463fcd
mov word [ecx], bx
push 0x64
lea ecx, [ebp - 8]
call fcn.0042c827
mov word [esi - 2], 0x20
push esi
mov word [esi - 2], bx
call fcn.0042d439
test eax, eax
pop ecx
jge 0x463ffe
cmp word [ebp - 0x20], bx
mov dword [ebp - 0x30], 0x80070057
jne 0x464021
jmp 0x46408f
cmp word [ebp - 0x20], bx
lea eax, [ebp - 1]
push eax
push esi
je 0x464078
call fcn.0044051f
cmp byte [ebp - 1], 0
mov edi, eax
movsx eax, byte [ebp - 1]
pop ecx
pop ecx
mov ebx, edx
mov dword [ebp - 0x30], eax
je 0x464027
mov edi, dword [ebp - 0x68]
mov ebx, dword [ebp - 0x64]
cmp dword [ebp + 0xc], 0
je 0x46414b
lea ecx, [ebp - 8]
call fcn.00427365
lea ecx, [ebp - 0x2c]
call fcn.00427365
lea ecx, [ebp - 0xc]
call fcn.00427365
lea ecx, [ebp - 0x14]
call fcn.00427365
lea ecx, [ebp - 0x40]
call fcn.00427365
lea ecx, [ebp - 0x44]
call fcn.00427365
lea ecx, [ebp - 0x18]
call fcn.00427365
lea ecx, [ebp - 0x1c]
call fcn.00427365
mov eax, edi
jmp 0x46445e
call fcn.004404e4
fstp qword [ebp - 0x5c]
cmp byte [ebp - 1], 0
movsx eax, byte [ebp - 1]
pop ecx
pop ecx
mov dword [ebp - 0x30], eax
je 0x464095
fld qword [ebp - 0x80]
fstp qword [ebp - 0x5c]
cmp dword [ebp + 0xc], ebx
jne 0x464357
cmp dword [ebp - 0x24], 1
jle 0x46427d
fld qword [ebp - 0x5c]
mov byte [ebp + 0xb], 0
fcomp qword [0x484758]
fnstsw ax
test ah, 5
jp 0x4640c8
fld qword [ebp - 0x5c]
mov byte [ebp + 0xb], 1
fchs
fstp qword [ebp - 0x5c]
push 0x66
fldz
xor ebx, ebx
push ebx
push ebx
sub esp, 0x10
fstp qword [esp + 8]
lea eax, [ebp - 0x4c]
fld qword [ebp - 0x5c]
fstp qword [esp]
push eax
call fcn.004565c8
mov esi, dword [ebp - 0x4c]
xor ecx, ecx
mov cx, word [esi]
xor edi, edi
push ecx
call fcn.0040efef
add esp, 0x24
jmp 0x464133
movzx eax, cx
push 0
sub eax, 0x30
cdq
push 0xa
push ebx
mov ecx, edx
push edi
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x58], ecx
call fcn.0046d9d0
mov ecx, dword [ebp - 0x20]
add ecx, eax
mov eax, dword [ebp - 0x58]
adc eax, edx
inc esi
mov edi, ecx
inc esi
xor ecx, ecx
mov cx, word [esi]
mov ebx, eax
push ecx
call fcn.0040efef
add esp, 4
test al, al
jne 0x4640fb
cmp byte [ebp + 0xb], al
je 0x464143
neg edi
adc ebx, 0
neg ebx
lea ecx, [ebp - 0x4c]
call fcn.00427365
mov esi, dword [ebp - 0x24]
cmp esi, 1
jg 0x464165
push ebx
push edi
push dword [ebp - 8]
call fcn.00436260
add esp, 0xc
jmp 0x46430e
cmp esi, 2
mov eax, 0x480934
mov dword [ebp + 8], eax
jne 0x46417b
mov dword [ebp + 8], 0x488dd8
jmp 0x464195
cmp esi, 8
jne 0x464189
mov dword [ebp + 8], 0x488dd0
jmp 0x464195
cmp esi, 0x10
jne 0x464195
mov dword [ebp + 8], 0x488dc8
test ebx, ebx
mov dword [ebp - 0x20], eax
jg 0x4641d2
jl 0x4641a2
test edi, edi
jae 0x4641b0
neg edi
adc ebx, 0
mov dword [ebp - 0x20], 0x488128
neg ebx
test ebx, ebx
jg 0x4641d2
jl 0x4641ba
test edi, edi
ja 0x4641c7
push 0x482178
lea ecx, [ebp - 8]
call fcn.00436622
test ebx, ebx
jl 0x464248
jg 0x4641d2
cmp edi, 1
jb 0x464248
mov eax, esi
mov esi, dword [ebp - 8]
cdq
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], edx
lea eax, [ebp - 8]
push eax
lea ecx, [ebp - 0x34]
call fcn.0043660b
push dword [ebp - 0x6c]
push dword [ebp - 0x70]
push ebx
push edi
call fcn.0046ddf0
push ecx
push 0x488dc0
push esi
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], edx
call dword [sym.imp.USER32.dll_wsprintfW]
mov edi, dword [sym.imp.KERNEL32.dll_lstrlenW]
add esp, 0xc
push esi
call edi
push dword [ebp - 0x34]
lea ebx, [esi + eax*2]
call edi
inc eax
push eax
push dword [ebp - 0x34]
push ebx
call fcn.00403c6b
add esp, 0xc
lea ecx, [ebp - 0x34]
call fcn.00427365
mov ebx, dword [ebp - 0x74]
test ebx, ebx
mov edi, dword [ebp - 0x78]
jg 0x4641de
jl 0x464248
cmp edi, 1
jae 0x4641de
lea eax, [ebp - 8]
push eax
lea ecx, [ebp - 0x50]
call fcn.0043660b
push dword [ebp - 0x20]
lea ecx, [ebp - 8]
call fcn.00436622
push dword [ebp + 8]
lea ecx, [ebp - 8]
call fcn.0042c877
push dword [ebp - 0x50]
lea ecx, [ebp - 8]
call fcn.0042c877
lea ecx, [ebp - 0x50]
jmp 0x464309
or dword [ebp - 0x20], 0xffffffff
cmp edi, ebx
mov byte [ebp - 0x38], 0
mov byte [ebp - 0x54], 0
je 0x4642d9
cmp word [edi], 0x23
jne 0x46429d
mov al, byte [edi]
inc edi
inc edi
mov byte [ebp - 0x38], al
mov dword [ebp + 8], edi
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp + 8]
push eax
call fcn.0042f0d0
mov edx, dword [ebp + 8]
pop ecx
pop ecx
mov cx, word [edx]
cmp cx, 0x65
je 0x4642c4
cmp cx, 0x66
je 0x4642c4
cmp cx, 0x67
jne 0x4642c9
mov cl, byte [edx]
mov byte [ebp - 0x54], cl
cmp eax, ebx
jle 0x4642d9
cmp dword [ebp - 0x20], ebx
jge 0x4642d9
mov byte [ebp - 0x38], 0
mov dword [ebp - 0x20], ebx
push dword [ebp - 0x54]
fldz
lea eax, [ebp - 0x60]
push dword [ebp - 0x38]
push dword [ebp - 0x20]
sub esp, 0x10
fstp qword [esp + 8]
fld qword [ebp - 0x5c]
fstp qword [esp]
push eax
call fcn.004565c8
add esp, 0x20
push eax
lea ecx, [ebp - 8]
call fcn.00436650
lea ecx, [ebp - 0x60]
call fcn.00427365
push dword [ebp - 8]
call fcn.0040b35a
pop ecx
push 0xffffffffffffffff
push dword [ebp - 8]
lea ecx, [ebp - 0xc]
call fcn.0042c92f
mov eax, dword [ebp - 0x10]
xor esi, esi
cmp word [eax], si
je 0x4643a4
mov eax, dword [ebp - 0x3c]
cmp word [eax], si
je 0x464342
push dword [ebp - 0xc]
mov ecx, dword [ebp - 0x28]
push eax
call fcn.0042b2cd
lea ecx, [ebp - 8]
call fcn.00427365
mov ebx, dword [ebp - 0x10]
mov edi, 0x480934
jmp 0x463e0e
lea ecx, [ebp - 8]
call fcn.00427365
lea ecx, [ebp - 0x2c]
call fcn.00427365
lea ecx, [ebp - 0xc]
call fcn.00427365
lea ecx, [ebp - 0x14]
call fcn.00427365
lea ecx, [ebp - 0x40]
call fcn.00427365
lea ecx, [ebp - 0x44]
call fcn.00427365
lea ecx, [ebp - 0x18]
call fcn.00427365
lea ecx, [ebp - 0x1c]
call fcn.00427365
fld qword [ebp - 0x5c]
call fcn.0046d950
jmp 0x46445e
lea ecx, [ebp - 8]
call fcn.00427365
mov eax, dword [ebp - 0x18]
cmp word [eax], si
je 0x4643c2
push dword [ebp - 0xc]
mov ecx, dword [ebp - 0x28]
push eax
call fcn.0042b2cd
jmp 0x464423
cmp dword [ebp - 0x30], esi
mov dword [ebp + 8], esi
je 0x4643de
push 0xffffffffffffffff
push str.icon1_0_
lea ecx, [ebp + 8]
call fcn.0042c92f
mov ebx, dword [ebp + 8]
jmp 0x464411
push dword [ebp - 0xc]
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov esi, eax
inc esi
lea eax, [esi + 1]
push eax
lea ecx, [ebp - 0xc]
call fcn.0042c850
mov ebx, dword [ebp - 0xc]
lea eax, [esi + esi]
push eax
lea eax, [ebx + 2]
push ebx
push eax
call fcn.0046cf30
add esp, 0xc
mov word [ebx], 0x20
xor esi, esi
mov ecx, dword [ebp - 0x28]
push esi
push ebx
call fcn.00461335
lea ecx, [ebp + 8]
call fcn.00427365
lea ecx, [ebp - 0x2c]
call fcn.00427365
lea ecx, [ebp - 0xc]
call fcn.00427365
lea ecx, [ebp - 0x14]
call fcn.00427365
lea ecx, [ebp - 0x40]
call fcn.00427365
lea ecx, [ebp - 0x44]
call fcn.00427365
lea ecx, [ebp - 0x18]
call fcn.00427365
lea ecx, [ebp - 0x1c]
call fcn.00427365
mov eax, dword [ebp - 0x30]
pop edi
pop esi
pop ebx
leave
ret 8