Function at 0x4310f8
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x4c
mov dword [ebp - 4], 0
mov dword [ebp - 8], 0
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x1c], 0
cmp dword [ebp + 0x10], 0
jne 0x431143
mov dword [ebp + 0xc], 1
cmp dword [ebp + 0x18], 0
jne 0x431154
mov dword [ebp + 0x14], 1
cmp dword [ebp + 0x24], 0
jl 0x43116c
cmp dword [ebp + 0x24], 2
jg 0x43116c
xor eax, eax
jmp 0x431171
mov eax, 1
test eax, eax
je 0x431180
mov dword [ebp + 0x24], 0
cmp dword [ebp + 0x14], 0
je 0x4311b9
push 1
push 1
push dword [ebp + 8]
call fcn.0041bc2c
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
push eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x4311b0
push ebx
call fcn.00440332
add esp, 4
pop eax
mov dword [ebp - 4], eax
jmp 0x4311fc
push VariantClear
push 0
mov ebx, dword [ebp + 8]
mov eax, dword [ebx]
test eax, eax
jne 0x4311ce
mov eax, 0x5350b8
push eax
push 1
mov ebx, 0x441830
call fcn.00440350
add esp, 0x10
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
push eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x4311f8
push ebx
call fcn.00440332
add esp, 4
pop eax
mov dword [ebp - 4], eax
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 4]
test eax, eax
jne 0x43120f
mov eax, 0x52e29c
push eax
push 1
mov ebx, 0x4409c0
call fcn.00440350
add esp, 0x10
mov dword [ebp - 8], eax
fild dword [ebp - 8]
fstp qword [ebp - 0x24]
fld qword [ebp - 0x24]
fmul qword [0x5362c4]
fstp qword [ebp - 0x2c]
fld qword [ebp - 0x2c]
call fcn.004042e8
push 0x80000301
push 0
push eax
push 1
mov ebx, 0x441bd0
call fcn.00440350
add esp, 0x10
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
push eax
mov ebx, dword [ebp - 0xc]
test ebx, ebx
je 0x431270
push ebx
call fcn.00440332
add esp, 4
pop eax
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x10], 0
push VariantClear
push 0
push 0x535b38
push 1
mov ebx, 0x441830
call fcn.00440350
add esp, 0x10
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
push eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x4312b0
push ebx
call fcn.00440332
add esp, 4
pop eax
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 8]
xor ecx, ecx
push eax
lea eax, [ebp - 0x18]
mov ebx, eax
pop eax
inc ecx
push ecx
push ebx
mov dword [ebx], ecx
push eax
cmp ecx, eax
jg 0x431b2d
cmp dword [ebp + 0xc], 0
je 0x431999
mov ebx, dword [ebp - 4]
mov ecx, dword [ebx]
inc ecx
shl ecx, 2
add ebx, ecx
push ebx
mov eax, dword [ebp - 0x18]
dec eax
pop ebx
add ebx, eax
mov dword [ebp - 0x20], ebx
mov ebx, dword [ebp - 0x20]
cmp byte [ebx], 0x30
jb 0x431323
mov ebx, dword [ebp - 4]
mov ecx, dword [ebx]
inc ecx
shl ecx, 2
add ebx, ecx
push ebx
mov eax, dword [ebp - 0x18]
dec eax
pop ebx
add ebx, eax
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x28]
cmp byte [ebx], 0x39
ja 0x431323
mov eax, 1
jmp 0x431328
mov eax, 0
test eax, eax
je 0x43133c
mov dword [ebp - 0x1c], 1
jmp 0x431999
mov ebx, dword [ebp - 4]
mov ecx, dword [ebx]
inc ecx
shl ecx, 2
add ebx, ecx
push ebx
mov eax, dword [ebp - 0x18]
dec eax
pop ebx
add ebx, eax
mov dword [ebp - 0x20], ebx
mov ebx, dword [ebp - 0x20]
cmp byte [ebx], 0x41
jb 0x431387
mov ebx, dword [ebp - 4]
mov ecx, dword [ebx]
inc ecx
shl ecx, 2
add ebx, ecx
push ebx
mov eax, dword [ebp - 0x18]
dec eax
pop ebx
add ebx, eax
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x28]
cmp byte [ebx], 0x5a
ja 0x431387
mov eax, 1
jmp 0x43138c
mov eax, 0
test eax, eax
je 0x4313a0
mov dword [ebp - 0x1c], 1
jmp 0x431999
mov ebx, dword [ebp - 4]
mov ecx, dword [ebx]
inc ecx
shl ecx, 2
add ebx, ecx
push ebx
mov eax, dword [ebp - 0x18]
dec eax
pop ebx
add ebx, eax
mov dword [ebp - 0x20], ebx
mov ebx, dword [ebp - 0x20]
cmp byte [ebx], 0x61
jb 0x4313eb
mov ebx, dword [ebp - 4]
mov ecx, dword [ebx]
inc ecx
shl ecx, 2
add ebx, ecx
push ebx
mov eax, dword [ebp - 0x18]
dec eax
pop ebx
add ebx, eax
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x28]
cmp byte [ebx], 0x7a
ja 0x4313eb
mov eax, 1
jmp 0x4313f0
mov eax, 0
test eax, eax
je 0x431404
mov dword [ebp - 0x1c], 1
jmp 0x431999
cmp dword [ebp + 0x1c], 0
je 0x43141a
mov dword [ebp - 0x1c], 0
jmp 0x431999
mov ebx, dword [ebp - 4]
mov ecx, dword [ebx]
inc ecx
shl ecx, 2
add ebx, ecx
push ebx
mov eax, dword [ebp - 0x18]
dec eax
pop ebx
add ebx, eax
mov dword [ebp - 0x20], ebx
mov ebx, dword [ebp - 0x20]
cmp byte [ebx], 0x2a
jne 0x431448
mov dword [ebp - 0x1c], 1
jmp 0x431999
mov ebx, dword [ebp - 4]
mov ecx, dword [ebx]
inc ecx
shl ecx, 2
add ebx, ecx
push ebx
mov eax, dword [ebp - 0x18]
dec eax
pop ebx
add ebx, eax
mov dword [ebp - 0x20], ebx
mov ebx, dword [ebp - 0x20]
cmp byte [ebx], 0x2d
jne 0x431476
mov dword [ebp - 0x1c], 1
jmp 0x431999
mov ebx, dword [ebp - 4]
mov ecx, dword [ebx]
inc ecx
shl ecx, 2
add ebx, ecx
push ebx
mov eax, dword [ebp - 0x18]
dec eax
pop ebx
add ebx, eax
mov dword [ebp - 0x20], ebx
mov ebx, dword [ebp - 0x20]
cmp byte [ebx], 0x2e
jne 0x4314a4
mov dword [ebp - 0x1c], 1
jmp 0x431999
mov ebx, dword [ebp - 4]
mov ecx, dword [ebx]
inc ecx
shl ecx, 2
add ebx, ecx
push ebx
mov eax, dword [ebp - 0x18]
dec eax
pop ebx
add ebx, eax
mov dword [ebp - 0x20], ebx
mov ebx, dword [ebp - 0x20]
cmp byte [ebx], 0x5f
jne 0x4314d2
mov dword [ebp - 0x1c], 1
jmp 0x431999
cmp dword [ebp + 0x24], 2
jge 0x431505
mov ebx, dword [ebp - 4]
mov ecx, dword [ebx]
inc ecx
shl ecx, 2
add ebx, ecx
push ebx
mov eax, dword [ebp - 0x18]
dec eax
pop ebx
add ebx, eax
mov dword [ebp - 0x24], ebx
mov ebx, dword [ebp - 0x24]
cmp byte [ebx], 0x21
jne 0x431505
mov eax, 1
jmp 0x43150a
mov eax, 0
test eax, eax
je 0x43151e
mov dword [ebp - 0x1c], 1
jmp 0x431999
cmp dword [ebp + 0x24], 2
jge 0x431551
mov ebx, dword [ebp - 4]
mov ecx, dword [ebx]
inc ecx
shl ecx, 2
add ebx, ecx
push ebx
mov eax, dword [ebp - 0x18]
dec eax
pop ebx
add ebx, eax
mov dword [ebp - 0x24], ebx
mov ebx, dword [ebp - 0x24]
cmp byte [ebx], 0x27
jne 0x431551
mov eax, 1
jmp 0x431556
mov eax, 0
test eax, eax
je 0x43156a
mov dword [ebp - 0x1c], 1
jmp 0x431999
cmp dword [ebp + 0x24], 2
jge 0x43159d
mov ebx, dword [ebp - 4]
mov ecx, dword [ebx]
inc ecx
shl ecx, 2
add ebx, ecx
push ebx
mov eax, dword [ebp - 0x18]
dec eax
pop ebx
add ebx, eax
mov dword [ebp - 0x24], ebx
mov ebx, dword [ebp - 0x24]
cmp byte [ebx], 0x28
jne 0x43159d
mov eax, 1
jmp 0x4315a2
mov eax, 0
test eax, eax
je 0x4315b6
mov dword [ebp - 0x1c], 1
jmp 0x431999
cmp dword [ebp + 0x24], 2
jge 0x4315e9
mov ebx, dword [ebp - 4]
mov ecx, dword [ebx]
inc ecx
shl ecx, 2
add ebx, ecx
push ebx
mov eax, dword [ebp - 0x18]
dec eax
pop ebx
add ebx, eax
mov dword [ebp - 0x24], ebx
mov ebx, dword [ebp - 0x24]
cmp byte [ebx], 0x29
jne 0x4315e9
mov eax, 1
jmp 0x4315ee
mov eax, 0
test eax, eax
je 0x431602
mov dword [ebp - 0x1c], 1
jmp 0x431999
cmp dword [ebp + 0x24], 2
jge 0x431635
mov ebx, dword [ebp - 4]
mov ecx, dword [ebx]
inc ecx
shl ecx, 2
add ebx, ecx
push ebx
mov eax, dword [ebp - 0x18]
dec eax
pop ebx
add ebx, eax
mov dword [ebp - 0x24], ebx
mov ebx, dword [ebp - 0x24]
cmp byte [ebx], 0x7e
jne 0x431635
mov eax, 1
jmp 0x43163a
mov eax, 0
test eax, eax
je 0x43164e
mov dword [ebp - 0x1c], 1
jmp 0x431999
cmp dword [ebp + 0x24], 0
jle 0x431681
mov ebx, dword [ebp - 4]
mov ecx, dword [ebx]
inc ecx
shl ecx, 2
add ebx, ecx
push ebx
mov eax, dword [ebp - 0x18]
dec eax
pop ebx
add ebx, eax
mov dword [ebp - 0x24], ebx
mov ebx, dword [ebp - 0x24]
cmp byte [ebx], 0x2b
jne 0x431681
mov eax, 1
jmp 0x431686
mov eax, 0
test eax, eax
je 0x43169a
mov dword [ebp - 0x1c], 1
jmp 0x431999
cmp dword [ebp + 0x24], 0
jle 0x4316cd
mov ebx, dword [ebp - 4]
mov ecx, dword [ebx]
inc ecx
shl ecx, 2
add ebx, ecx
push ebx
mov eax, dword [ebp - 0x18]
dec eax
pop ebx
add ebx, eax
mov dword [ebp - 0x24], ebx
mov ebx, dword [ebp - 0x24]
cmp byte [ebx], 0x2f
jne 0x4316cd
mov eax, 1
jmp 0x4316d2
mov eax, 0
test eax, eax
je 0x4316e6
mov dword [ebp - 0x1c], 1
jmp 0x431999
cmp dword [ebp + 0x24], 0
jle 0x431719
mov ebx, dword [ebp - 4]
mov ecx, dword [ebx]
inc ecx
shl ecx, 2
add ebx, ecx
push ebx
mov eax, dword [ebp - 0x18]
dec eax
pop ebx
add ebx, eax
mov dword [ebp - 0x24], ebx
mov ebx, dword [ebp - 0x24]
cmp byte [ebx], 0x40
jne 0x431719
mov eax, 1
jmp 0x43171e
mov eax, 0
test eax, eax
je 0x431732
mov dword [ebp - 0x1c], 1
jmp 0x431999
cmp dword [ebp + 0x24], 1
jne 0x431765
mov ebx, dword [ebp - 4]
mov ecx, dword [ebx]
inc ecx
shl ecx, 2
add ebx, ecx
push ebx
mov eax, dword [ebp - 0x18]
dec eax
pop ebx
add ebx, eax
mov dword [ebp - 0x24], ebx
mov ebx, dword [ebp - 0x24]
cmp byte [ebx], 0x23
jne 0x431765
mov eax, 1
jmp 0x43176a
mov eax, 0
test eax, eax
je 0x43177e
mov dword [ebp - 0x1c], 1
jmp 0x431999
cmp dword [ebp + 0x24], 1
jne 0x4317b1
mov ebx, dword [ebp - 4]
mov ecx, dword [ebx]
inc ecx
shl ecx, 2
add ebx, ecx
push ebx
mov eax, dword [ebp - 0x18]
dec eax
pop ebx
add ebx, eax
mov dword [ebp - 0x24], ebx
mov ebx, dword [ebp - 0x24]
cmp byte [ebx], 0x24
jne 0x4317b1
mov eax, 1
jmp 0x4317b6
mov eax, 0
test eax, eax
je 0x4317ca
mov dword [ebp - 0x1c], 1
jmp 0x431999
cmp dword [ebp + 0x24], 1
jne 0x4317fd
mov ebx, dword [ebp - 4]
mov ecx, dword [ebx]
inc ecx
shl ecx, 2
add ebx, ecx
push ebx
mov eax, dword [ebp - 0x18]
dec eax
pop ebx
add ebx, eax
mov dword [ebp - 0x24], ebx
mov ebx, dword [ebp - 0x24]
cmp byte [ebx], 0x26
jne 0x4317fd
mov eax, 1
jmp 0x431802
mov eax, 0
test eax, eax
je 0x431816
mov dword [ebp - 0x1c], 1
jmp 0x431999
cmp dword [ebp + 0x24], 1
jne 0x431849
mov ebx, dword [ebp - 4]
mov ecx, dword [ebx]
inc ecx
shl ecx, 2
add ebx, ecx
push ebx
mov eax, dword [ebp - 0x18]
dec eax
pop ebx
add ebx, eax
mov dword [ebp - 0x24], ebx
mov ebx, dword [ebp - 0x24]
cmp byte [ebx], 0x2c
jne 0x431849
mov eax, 1
jmp 0x43184e
mov eax, 0
test eax, eax
je 0x431862
mov dword [ebp - 0x1c], 1
jmp 0x431999
cmp dword [ebp + 0x24], 1
jne 0x431895
mov ebx, dword [ebp - 4]
mov ecx, dword [ebx]
inc ecx
shl ecx, 2
add ebx, ecx
push ebx
mov eax, dword [ebp - 0x18]
dec eax
pop ebx
add ebx, eax
mov dword [ebp - 0x24], ebx
mov ebx, dword [ebp - 0x24]
cmp byte [ebx], 0x3a
jne 0x431895
mov eax, 1
jmp 0x43189a
mov eax, 0
test eax, eax
je 0x4318ae
mov dword [ebp - 0x1c], 1
jmp 0x431999
cmp dword [ebp + 0x24], 1
jne 0x4318e1
mov ebx, dword [ebp - 4]
mov ecx, dword [ebx]
inc ecx
shl ecx, 2
add ebx, ecx
push ebx
mov eax, dword [ebp - 0x18]
dec eax
pop ebx
add ebx, eax
mov dword [ebp - 0x24], ebx
mov ebx, dword [ebp - 0x24]
cmp byte [ebx], 0x3b
jne 0x4318e1
mov eax, 1
jmp 0x4318e6
mov eax, 0
test eax, eax
je 0x4318fa
mov dword [ebp - 0x1c], 1
jmp 0x431999
cmp dword [ebp + 0x24], 1
jne 0x43192d
mov ebx, dword [ebp - 4]
mov ecx, dword [ebx]
inc ecx
shl ecx, 2
add ebx, ecx
push ebx
mov eax, dword [ebp - 0x18]
dec eax
pop ebx
add ebx, eax
mov dword [ebp - 0x24], ebx
mov ebx, dword [ebp - 0x24]
cmp byte [ebx], 0x3d
jne 0x43192d
mov eax, 1
jmp 0x431932
mov eax, 0
test eax, eax
je 0x431946
mov dword [ebp - 0x1c], 1
jmp 0x431999
cmp dword [ebp + 0x24], 1
jne 0x431979
mov ebx, dword [ebp - 4]
mov ecx, dword [ebx]
inc ecx
shl ecx, 2
add ebx, ecx
push ebx
mov eax, dword [ebp - 0x18]
dec eax
pop ebx
add ebx, eax
mov dword [ebp - 0x24], ebx
mov ebx, dword [ebp - 0x24]
cmp byte [ebx], 0x3f
jne 0x431979
mov eax, 1
jmp 0x43197e
mov eax, 0
test eax, eax
je 0x431992
mov dword [ebp - 0x1c], 1
jmp 0x431999
mov dword [ebp - 0x1c], 0
cmp dword [ebp - 0x1c], 0
je 0x4319e1
inc dword [ebp - 0x10]
mov ebx, dword [ebp - 0xc]
mov ecx, dword [ebx]
inc ecx
shl ecx, 2
add ebx, ecx
push ebx
mov eax, dword [ebp - 0x10]
dec eax
pop ebx
add ebx, eax
mov dword [ebp - 0x20], ebx
mov ebx, dword [ebp - 4]
mov ecx, dword [ebx]
inc ecx
shl ecx, 2
add ebx, ecx
push ebx
mov eax, dword [ebp - 0x18]
dec eax
pop ebx
add ebx, eax
mov dword [ebp - 0x24], ebx
mov ebx, dword [ebp - 0x24]
mov al, byte [ebx]
mov ebx, dword [ebp - 0x20]
mov byte [ebx], al
jmp 0x431b25
add dword [ebp - 0x10], 3
mov ebx, dword [ebp - 0xc]
mov ecx, dword [ebx]
inc ecx
shl ecx, 2
add ebx, ecx
push ebx
fild dword [ebp - 0x10]
fstp qword [ebp - 0x24]
fld qword [ebp - 0x24]
fsub qword [0x535230]
fstp qword [ebp - 0x2c]
fld qword [ebp - 0x2c]
call fcn.004042e8
dec eax
pop ebx
add ebx, eax
mov dword [ebp - 0x30], ebx
mov ebx, dword [ebp - 0x30]
mov byte [ebx], 0x25
mov ebx, dword [ebp - 0xc]
mov ecx, dword [ebx]
inc ecx
shl ecx, 2
add ebx, ecx
push ebx
fild dword [ebp - 0x10]
fstp qword [ebp - 0x24]
fld qword [ebp - 0x24]
fsub qword [0x5351f8]
fstp qword [ebp - 0x2c]
fld qword [ebp - 0x2c]
call fcn.004042e8
dec eax
pop ebx
add ebx, eax
mov dword [ebp - 0x30], ebx
mov ebx, dword [ebp - 0x14]
mov ecx, dword [ebx]
inc ecx
shl ecx, 2
add ebx, ecx
push ebx
mov ebx, dword [ebp - 4]
mov ecx, dword [ebx]
inc ecx
shl ecx, 2
add ebx, ecx
push ebx
mov eax, dword [ebp - 0x18]
dec eax
pop ebx
add ebx, eax
mov dword [ebp - 0x34], ebx
push 4
mov ebx, dword [ebp - 0x34]
mov al, byte [ebx]
and eax, 0xff
push eax
call fcn.00431bd3
mov dword [ebp - 0x40], eax
fild dword [ebp - 0x40]
fstp qword [ebp - 0x40]
fld qword [ebp - 0x40]
fadd qword [0x5351f8]
fstp qword [ebp - 0x48]
fld qword [ebp - 0x48]
call fcn.004042e8
dec eax
pop ebx
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
mov al, byte [ebx]
mov ebx, dword [ebp - 0x30]
mov byte [ebx], al
mov ebx, dword [ebp - 0xc]
mov ecx, dword [ebx]
inc ecx
shl ecx, 2
add ebx, ecx
push ebx
mov eax, dword [ebp - 0x10]
dec eax
pop ebx
add ebx, eax
mov dword [ebp - 0x20], ebx
mov ebx, dword [ebp - 0x14]
mov ecx, dword [ebx]
inc ecx
shl ecx, 2
add ebx, ecx
push ebx
mov ebx, dword [ebp - 4]
mov ecx, dword [ebx]
inc ecx
shl ecx, 2
add ebx, ecx
push ebx
mov eax, dword [ebp - 0x18]
dec eax
pop ebx
add ebx, eax
mov dword [ebp - 0x24], ebx
push 0xf
mov ebx, dword [ebp - 0x24]
mov al, byte [ebx]
and eax, 0xff
push eax
call fcn.00431bf4
mov dword [ebp - 0x30], eax
fild dword [ebp - 0x30]
fstp qword [ebp - 0x30]
fld qword [ebp - 0x30]
fadd qword [0x5351f8]
fstp qword [ebp - 0x38]
fld qword [ebp - 0x38]
call fcn.004042e8
dec eax
pop ebx
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
mov al, byte [ebx]
mov ebx, dword [ebp - 0x20]
mov byte [ebx], al
pop eax
pop ebx
pop ecx
jmp 0x4312c0
add esp, 0xc
push 0
push 0
push 0
push 0x80000301
push 0
push 0xa
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0xc]
test eax, eax
jne 0x431b55
mov eax, 0x52e29c
push eax
push 3
mov ebx, 0x441970
call fcn.00440350
add esp, 0x28
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x20], ecx
mov ecx, dword [ebp - 0x20]
cmp ecx, 0x80000004
je 0x431b93
push 0x1289
push 0x401d4d4
push 5
call fcn.0044033e
add esp, 0xc
mov eax, dword [ebp - 0x28]
jmp 0x431b9b
push eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x431bac
push ebx
call fcn.00440332
add esp, 4
mov ebx, dword [ebp - 0xc]
test ebx, ebx
je 0x431bbc
push ebx
call fcn.00440332
add esp, 4
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x431bcc
push ebx
call fcn.00440332
add esp, 4
pop eax
mov esp, ebp
pop ebp
ret 0x24