Function at 0x1010af0
Capabilities:
Parse credit card information

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0xc8
mov eax, dword [0x754578c0]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov edx, dword [ebp + 0x20]
push ebx
mov ebx, ecx
mov dword [ebp - 0xc8], eax
mov ax, word [ebp + 0x18]
xor ecx, ecx
push esi
push edi
mov word [ebx + 0x24], ax
xor edi, edi
mov ax, word [ebp + 0x1c]
inc ecx
mov word [ebx + 0x26], ax
xor eax, eax
mov word [ebx + 0x28], ax
mov eax, dword [ebx + 0x30]
mov dword [ebx + 0x20], edx
lock xadd dword [eax], ecx
inc ecx
mov eax, dword [ebp + 0x14]
movzx esi, word [ebx + 0x26]
push ecx
movzx eax, ax
push eax
mov eax, dword [ebp + 0x10]
movzx eax, ax
push eax
push dword [ebx + 0x34]
imul esi, edx
lea eax, [ebp - 0xc4]
push 0x75339408
push 0x60
push eax
mov dword [ebx + 0x3c], ecx
add esi, 0x10
call dword [0x7545a050]
add esp, 0x1c
lea eax, [ebp - 0xc4]
push eax
push esi
xor esi, esi
push esi
push 4
push esi
push 0xffffffffffffffff
call dword [0x7545a230]
mov dword [ebx + 0x38], eax
test eax, eax
je 0x10e71aa
call dword [0x7545a1ac]
cmp eax, 0xb7
je 0x10a1b24
cmp dword [ebx + 0x38], esi
je 0x1010bdc
mov eax, dword [ebp + 0xc]
and al, 0x7f
cmp al, 0x7c
jb 0x1053b3e
push 0x10000011
call 0xf2aac0
test al, al
jne 0x1010bdc
push 0x80000005
push 0x2110f
push dword [ebx + 0x38]
call 0xfefa80
mov edi, eax
test edi, edi
js 0x1010c35
push esi
push esi
push esi
push 6
push dword [ebx + 0x38]
call dword [0x7545a22c]
mov esi, eax
mov dword [ebx + 4], esi
test esi, esi
je 0x10e71c8
lea eax, [esi + 0x10]
mov ecx, ebx
mov dword [ebx + 8], eax
call 0x39e144e0
in al, 0x38
call 0x939fc43
cmp dword [eax], ebx
cmp dword [ecx + edi], ebx
and byte [ecx], bh
and al, 0x39
sub byte [ecx], bh
xor byte [ecx], bh
dec eax
cmp dword [eax + 0x39], ebx
pop esp
cmp dword [eax + 0x39], esp
cmp dword fs:[ecx + edi - 0x7c], ebp
cmp dword [ecx + edi + 0x399c3998], edx
mov al, byte [0xa839a439]
cmp dword [eax - 0x27c637c7], esi
cmp eax, ebx
cmp eax, esp
cmp esp, esp
cmp eax, ebp
cmp esp, ebp
cmp eax, esi
cmp esp, esi
cmp eax, edi
cmp esp, edi
cmp dword [eax], eax
cmp al, byte [edx + edi]
or byte [edx], bh
or al, 0x3a
adc byte [edx], bh
adc al, 0x3a
sbb byte [edx], bh
sbb al, 0x3a
and byte [edx], bh
and al, 0x3a
sub byte [edx], bh
sub al, 0x3a
xor byte [edx], bh
xor al, 0x3a
cmp byte [edx], bh
cmp al, 0x3a
inc eax
cmp al, byte [edx + edi + 0x48]
cmp cl, byte [edx + edi + 0x50]
cmp dl, byte [edx + edi + 0x58]
cmp bl, byte [edx + edi + 0x60]
cmp ah, byte [edx + edi + 0x68]
cmp ch, byte [edx + edi + 0x70]
cmp dh, byte [edx + edi + 0x78]
cmp bh, byte [edx + edi - 0x80]
cmp al, byte [edx + edi + 0x3a8c3a88]
nop
cmp dl, byte [edx + edi + 0x3a9c3a98]
mov al, byte [0xa83aa43a]
cmp ch, byte [edx + edi + 0x3acc3ab4]
sar byte [edx], 1
aam 0x3a
fdivr dword [edx]
fdivr qword [edx]
loopne 0x1010ce8
in al, 0x3a
call 0xf13bf8ef
cmp dh, ah
cmp bh, al
cmp bh, ah
cmp al, byte [eax]
cmp eax, dword [ebx + edi]
or byte [ebx], bh
or al, 0x3b
adc byte [ebx], bh
adc al, 0x3b
sbb byte [ebx], bh
sbb al, 0x3b
and byte [ebx], bh
and al, 0x3b
sub byte [ebx], bh
sub al, 0x3b
xor byte [ebx], bh
xor al, 0x3b
cmp byte [ebx], bh
cmp al, 0x3b
inc eax
cmp eax, dword [ebx + edi + 0x48]
cmp ecx, dword [ebx + edi + 0x50]
cmp edx, dword [ebx + edi + 0x58]
pop eax
cmp ebx, dword [ebx + edi + 0x60]
cmp esp, dword [ebx + edi + 0x68]
cmp ebp, dword [ebx + edi + 0x70]
cmp esi, dword [ebx + edi + 0x78]
cmp edi, dword [ebx + edi - 0x80]
cmp eax, dword [ebx + edi + 0x3b8c3b88]
nop
cmp edx, dword [ebx + edi + 0x3ba03b98]
mov eax, 0xd43bbc3b
cmp ebx, eax
cmp esi, eax
cmp esi, esp
cmp ecx, dword [esp + edi]
adc byte [eax + ebp], bh
cmp al, 0x2c
cmp al, 0x44
cmp al, 0x48
cmp al, 0x60
cmp al, 0x64
cmp al, 0x7c
cmp al, 0x80
cmp al, 0x98
cmp al, 0x9c
cmp al, 0xb4
cmp al, 0xb8
cmp al, 0xd0
cmp al, 0xd4
cmp al, 0xec
cmp al, 0xf0
cmp al, 8
cmp eax, 0x3d243d0c
sub byte [0x3d443d40], bh
pop esp
cmp eax, 0x3d783d60
jl 0x1010d8d
xchg esp, eax
cmp eax, 0x3db03d98
mov ah, 0x3d
int3
aas
cmp al, 0x3f
push esp
aas
pop eax
aas
jo 0x1010dd5
cmp byte [edi], 0x84
aas
mov byte [edi], bh
invalid
xor byte [eax + esi], dl
sbb byte [eax], dh
sbb al, 0x30
and byte [eax], dh
and al, 0x30
sub byte [eax], dh
sub al, 0x30
xor byte [eax], dh
xor al, 0x30
cmp byte [eax], dh
cmp al, 0x30
inc eax
xor byte [eax + esi + 0x48], al
xor byte [eax + esi + 0x50], cl
xor byte [eax + esi + 0x58], dl
xor byte [eax + esi + 0x60], bl
xor byte [eax + esi + 0x68], ah
xor byte [eax + esi + 0x70], ch
xor byte [eax + esi + 0x78], dh
xor byte [eax - 0x5fcf67d0], al
xor byte [eax + esi + 0x30ac30a8], ah
mov al, 0x30
mov ah, 0x30
jae 0x1053bb0
cmp al, 1
add byte [eax], al
cld
invalid
xor dh, byte [esi]
xor eax, 0x22232634
push es
add dword [esi + edx], edx
xor esi, dword [edx]
xor eax, 0x22232634
push es
add dword [esi + edx], edx
xor esi, dword [edx]
xor eax, 0x22232634
push es
and al, byte [esi]
pop es
pop esi
popfd
ljmp 0x9b8b