Function at 0x100db7c0
Capabilities:
Parse credit card information

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x10
mov eax, dword [0x1019914c]
mov edx, dword fs:[0x2c]
mov ebp, ecx
mov eax, dword [edx + eax*4]
mov eax, dword [eax + 0xc]
cmp eax, 1
jne 0x100dbae2
mov eax, dword [0x1019914c]
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + eax*4]
mov ebx, dword [eax + 0x10]
inc dword [ebx]
je 0x100dbc8c
mov ecx, dword [ebx + 0x108]
lea edi, [ebx + 8]
mov dword [esp + 0xc], ebp
cmp ecx, 0x40
jb 0x100db860
mov eax, dword [ebx + 0x148]
mov edx, dword [ebx + 0x14c]
lea ecx, [ebx + 0x110]
cmp eax, 1
mov esi, edx
sbb esi, 0
jl 0x100db8c4
cmp dword [ebx + 0x150], 0
js 0x100db8c4
add eax, 0xffffff00
adc edx, 0xffffffff
mov dword [ebx + 0x148], eax
mov dword [ebx + 0x14c], edx
mov edx, edi
call fcn.100c9f30
jmp 0x100db8cb
movzx eax, byte [ebx + ecx*4 + 8]
lea edx, [ecx + 1]
cmp ecx, 0x3f
mov dword [ebx + 0x108], edx
mov byte [esp + 6], al
jne 0x100db8d9
mov eax, dword [ebx + 0x148]
mov edx, dword [ebx + 0x14c]
lea ecx, [ebx + 0x110]
cmp eax, 1
mov esi, edx
sbb esi, 0
jl 0x100db941
cmp dword [ebx + 0x150], 0
js 0x100db941
add eax, 0xffffff00
adc edx, 0xffffffff
mov dword [ebx + 0x148], eax
mov dword [ebx + 0x14c], edx
mov edx, edi
call fcn.100c9f30
jmp 0x100db948
mov edx, edi
call fcn.100dbcb0
movzx eax, byte [edi]
mov byte [esp + 6], al
mov eax, 1
jmp 0x100db94a
movzx eax, byte [ebx + ecx*4 + 0xc]
cmp ecx, 0x3e
mov byte [esp + 5], al
lea eax, [ecx + 2]
mov dword [ebx + 0x108], eax
jb 0x100dba03
mov eax, dword [ebx + 0x148]
mov edx, dword [ebx + 0x14c]
lea ecx, [ebx + 0x110]
cmp eax, 1
mov esi, edx
sbb esi, 0
jl 0x100dba67
cmp dword [ebx + 0x150], 0
js 0x100dba67
add eax, 0xffffff00
adc edx, 0xffffffff
mov dword [ebx + 0x148], eax
mov dword [ebx + 0x14c], edx
mov edx, edi
call fcn.100c9f30
jmp 0x100dba6e
mov edx, edi
call fcn.100dbcb0
xor eax, eax
movzx ecx, byte [edi + eax*4]
movzx edx, byte [edi + eax*4 + 4]
mov byte [esp + 5], cl
lea ecx, [eax + 2]
add eax, 3
mov dh, byte [ebx + ecx*4 + 8]
mov dword [ebx + 0x108], eax
movzx ecx, byte [ebx + eax*4 + 8]
mov byte [esp + 4], cl
lea ecx, [eax + 1]
add eax, 2
mov dword [ebx + 0x108], ecx
movzx ebp, byte [ebx + ecx*4 + 8]
mov dword [ebx + 0x108], eax
movzx esi, byte [ebx + eax*4 + 8]
inc eax
mov dword [ebx + 0x108], eax
movzx edi, byte [ebx + eax*4 + 8]
inc eax
mov dword [ebx + 0x108], eax
dec dword [ebx]
jne 0x100db9bf
dec dword [ebx + 4]
jne 0x100db9bf
push ebx
push 0
push dword [0x101990e0]
mov ebx, edx
mov bh, dh
call dword [sym.imp.kernel32.dll_HeapFree]
mov dh, bh
mov dl, bl
movzx ebx, byte [esp + 5]
shl edi, 0x18
shl esi, 0x10
movzx ecx, dh
movzx edx, dl
shl ebp, 8
movzx eax, byte [esp + 4]
or esi, edi
movzx edi, byte [esp + 6]
shl ecx, 0x18
shl edx, 0x10
or ebp, esi
mov esi, dword [esp + 0xc]
or edx, ecx
shl ebx, 8
or eax, ebp
or ebx, edx
or edi, ebx
mov dword [esi + 4], eax
mov dword [esi], edi
add esp, 0x10
pop esi
pop edi
pop ebx
pop ebp
ret
movzx edx, byte [ebx + ecx*4 + 0x10]
lea esi, [ecx + 3]
cmp ecx, 0x3d
mov dword [ebx + 0x108], esi
mov byte [esp + 2], dl
jne 0x100dba7e
mov eax, dword [ebx + 0x148]
mov edx, dword [ebx + 0x14c]
lea ecx, [ebx + 0x110]
cmp eax, 1
mov esi, edx
sbb esi, 0
jl 0x100dbaf4
cmp dword [ebx + 0x150], 0
js 0x100dbaf4
add eax, 0xffffff00
adc edx, 0xffffffff
mov dword [ebx + 0x148], eax
mov dword [ebx + 0x14c], edx
mov edx, edi
call fcn.100c9f30
jmp 0x100dbafb
mov edx, edi
call fcn.100dbcb0
movzx edx, byte [edi]
mov ecx, 1
lea eax, [ecx + 1]
jmp 0x100db95d
movzx edx, byte [ebx + ecx*4 + 0x14]
cmp eax, 0x3e
mov byte [esp + 3], dl
lea edx, [ecx + 4]
mov dword [ebx + 0x108], edx
jne 0x100dbb0a
mov eax, dword [ebx + 0x148]
mov edx, dword [ebx + 0x14c]
lea ecx, [ebx + 0x110]
cmp eax, 1
mov esi, edx
sbb esi, 0
jl 0x100dbb6b
cmp dword [ebx + 0x150], 0
js 0x100dbb6b
add eax, 0xffffff00
adc edx, 0xffffffff
mov dword [ebx + 0x148], eax
mov dword [ebx + 0x14c], edx
mov edx, edi
call fcn.100c9f30
jmp 0x100dbb72
test eax, eax
jne 0x100dbc8e
call fcn.10110a80
jmp 0x100db7e7
mov edx, edi
call fcn.100dbcb0
movzx edx, byte [esp + 2]
xor ecx, ecx
lea eax, [ecx + 1]
jmp 0x100db95d
movzx eax, byte [ebx + ecx*4 + 0x18]
lea esi, [ecx + 5]
cmp ecx, 0x3b
mov dword [ebx + 0x108], esi
mov byte [esp + 4], al
jb 0x100dbb80
mov eax, dword [ebx + 0x148]
mov edx, dword [ebx + 0x14c]
lea ecx, [ebx + 0x110]
cmp eax, 1
mov esi, edx
sbb esi, 0
jl 0x100dbbdd
cmp dword [ebx + 0x150], 0
js 0x100dbbdd
add eax, 0xffffff00
adc edx, 0xffffffff
mov dword [ebx + 0x148], eax
mov dword [ebx + 0x14c], edx
mov edx, edi
call fcn.100c9f30
jmp 0x100dbbe4
mov edx, edi
call fcn.100dbcb0
movzx eax, byte [edi]
mov ecx, 1
mov byte [esp + 4], al
jmp 0x100dbbe6
movzx ebp, byte [ebx + ecx*4 + 0x1c]
lea eax, [ecx + 6]
cmp edx, 0x3e
mov dword [ebx + 0x108], eax
jne 0x100dbbf7
mov eax, dword [ebx + 0x148]
mov edx, dword [ebx + 0x14c]
lea ecx, [ebx + 0x110]
cmp eax, 1
mov esi, edx
sbb esi, 0
jl 0x100dbc55
cmp dword [ebx + 0x150], 0
js 0x100dbc55
add eax, 0xffffff00
adc edx, 0xffffffff
mov dword [ebx + 0x148], eax
mov dword [ebx + 0x14c], edx
mov edx, edi
call fcn.100c9f30
jmp 0x100dbc5c
mov edx, edi
call fcn.100dbcb0
xor ecx, ecx
movzx edx, byte [esp + 2]
mov dh, byte [esp + 3]
lea eax, [ecx + 1]
jmp 0x100db97c
movzx esi, byte [ebx + ecx*4 + 0x20]
lea eax, [ecx + 7]
cmp ecx, 0x39
mov dword [ebx + 0x108], eax
jb 0x100dbc7e
lea eax, [ebx + 0x110]
mov ecx, dword [ebx + 0x148]
mov dword [esp + 8], eax
mov eax, dword [ebx + 0x14c]
cmp ecx, 1
mov edx, eax
sbb edx, 0
jl 0x100dbc71
cmp dword [ebx + 0x150], 0
js 0x100dbc71
add ecx, 0xffffff00
mov edx, edi
mov dword [ebx + 0x148], ecx
mov ecx, dword [esp + 8]
adc eax, 0xffffffff
mov dword [ebx + 0x14c], eax
call fcn.100c9f30
jmp 0x100dbc7c
mov edx, edi
call fcn.100dbcb0
movzx esi, byte [ebx + 8]
mov dword [ebx + 0x108], 1
mov eax, 1
jmp 0x100dbc7e
mov ecx, dword [esp + 8]
mov edx, edi
call fcn.100dbcb0
xor eax, eax
movzx edx, byte [esp + 2]
mov dh, byte [esp + 3]
jmp 0x100db993
ud2
lea eax, [esp + 7]
mov ecx, 0x1018d5b0
mov edx, 0x46
push 0x1018d648
push 0x1018d4ec
push eax
call fcn.1010d2e0
int3