Function at 0x100fb0d0
Capabilities:
Parse credit card information

Disassembly:
sub esp, 0x88
mov eax, dword [esp + 0x98]
push ebx
push ebp
push esi
mov esi, dword [esp + 0xa8]
mov ecx, dword [eax]
push edi
mov edi, dword [esp + 0x9c]
mov edx, dword [esi]
mov dword [esp + 0x30], ecx
push 0x1f
push edi
mov ecx, esi
call dword [edx + 0x38]
mov eax, dword [esp + 0xa0]
mov edx, dword [esp + 0xa4]
xor ebp, ebp
xor bl, bl
lea ecx, [edi + eax]
and edx, 0x1f
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], edi
mov byte [esp + 0x1c], 1
mov byte [esp + 0x1d], bl
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], ebp
mov dword [esp + 0x28], ebp
mov dword [esp + 0x2c], ebp
mov eax, dword [esi]
push 0x1f
push edi
mov ecx, esi
call dword [eax + 0x38]
mov ecx, dword [esp + 0x10]
push edi
mov edx, dword [ecx]
call dword [edx + 0x44]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
mov edi, 0x20
mov esi, eax
push edi
push eax
call fcn.101197b0
mov ecx, dword [esp + 0x10]
and eax, 0xff
mov dword [esp + 0x28], eax
cmp dword [ecx + 0xfb0], ebp
je 0x100fb1aa
mov edx, dword [ecx]
push eax
call dword [edx]
test al, al
je 0x100fb1aa
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x10]
inc esi
push edi
shl edx, 8
push esi
mov dword [esp + 0x30], edx
call fcn.101197b0
mov ecx, dword [esp + 0x28]
and eax, 0xff
or ecx, eax
mov dword [esp + 0x28], ecx
push esi
lea ecx, [esp + 0x14]
call fcn.100efda0
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
cmp edx, eax
jae 0x100fb67b
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
mov esi, dword [esp + 0x30]
jmp 0x100fb1db
mov edx, dword [esp + 0x18]
mov edi, 0x20
cmp eax, 6
jne 0x100fb26c
cmp ecx, 0x2e
jne 0x100fb22e
mov eax, dword [esp + 0x28]
cmp eax, 0x2a
je 0x100fb244
cmp eax, 0x2f
je 0x100fb244
cmp eax, 0x5c
je 0x100fb244
cmp eax, 0x5e
je 0x100fb244
cmp eax, 0x27
jne 0x100fb22e
lea ecx, [esp + 0x10]
call fcn.101176a0
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
push edx
mov edx, dword [esp + 0x1c]
mov eax, dword [ecx]
dec edx
push edx
call dword [eax + 0x48]
mov dword [esp + 0x20], ebp
mov bl, 1
jmp 0x100fb3d1
mov ecx, dword [esp + 0x10]
dec edx
push 6
push edx
mov eax, dword [ecx]
call dword [eax + 0x48]
mov dword [esp + 0x20], ebp
jmp 0x100fb3d1
lea ecx, [esp + 0x10]
call fcn.101176a0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
push eax
mov eax, dword [esp + 0x1c]
mov edx, dword [ecx]
dec eax
push eax
call dword [edx + 0x48]
mov dword [esp + 0x20], ebp
xor bl, bl
jmp 0x100fb3d1
cmp eax, 4
jne 0x100fb2e2
mov ecx, dword [esp + 0x28]
push ecx
call fcn.1014d5cc
add esp, 4
test eax, eax
jne 0x100fb3c5
cmp dword [esp + 0x28], 0x5f
je 0x100fb3c5
lea edx, [esp + 0x34]
push 0x64
push edx
lea ecx, [esp + 0x18]
call fcn.10121800
lea eax, [esp + 0x34]
mov ecx, esi
push eax
call fcn.1011cb50
test al, al
je 0x100fb2d0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
push eax
mov eax, dword [esp + 0x1c]
mov edx, dword [ecx]
dec eax
push eax
call dword [edx + 0x48]
mov dword [esp + 0x20], ebp
xor bl, bl
jmp 0x100fb3d1
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x20], 7
push 7
mov edx, dword [ecx]
jmp 0x100fb346
cmp eax, 3
jne 0x100fb357
mov ecx, dword [esp + 0x28]
push ecx
call fcn.1014d527
add esp, 4
test eax, eax
jne 0x100fb3c5
mov eax, dword [esp + 0x28]
cmp eax, 0x2e
je 0x100fb3c5
cmp eax, 0x65
je 0x100fb3c5
cmp eax, 0x45
je 0x100fb3c5
cmp eax, 0x2b
je 0x100fb325
cmp eax, 0x2d
jne 0x100fb33b
mov eax, dword [esp + 0x24]
cmp eax, 0x65
je 0x100fb3c5
cmp eax, 0x45
je 0x100fb3c5
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
push eax
mov edx, dword [ecx]
mov eax, dword [esp + 0x1c]
dec eax
push eax
call dword [edx + 0x48]
mov dword [esp + 0x20], ebp
mov bl, 1
jmp 0x100fb3d1
cmp eax, 5
jne 0x100fb363
cmp dword [esp + 0x28], 0x27
jmp 0x100fb36d
cmp eax, 8
jne 0x100fb39f
cmp dword [esp + 0x28], 0x22
jne 0x100fb5dd
cmp ecx, 0x5c
je 0x100fb5dd
lea ecx, [esp + 0x10]
call fcn.101176a0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
push eax
mov eax, dword [esp + 0x1c]
mov edx, dword [ecx]
dec eax
push eax
call dword [edx + 0x48]
mov dword [esp + 0x20], ebp
jmp 0x100fb3d1
cmp eax, 1
je 0x100fb3a9
cmp eax, 2
jne 0x100fb3c9
mov cl, byte [esp + 0x1d]
test cl, cl
je 0x100fb3c9
mov ecx, dword [esp + 0x10]
dec edx
push eax
push edx
mov ebx, dword [ecx]
call dword [ebx + 0x48]
mov dword [esp + 0x20], ebp
xor bl, bl
jmp 0x100fb3d1
mov eax, dword [esp + 0x20]
cmp eax, ebp
jne 0x100fb5dd
mov ecx, dword [esp + 0x28]
push ecx
call dword [esp + 0xb4]
add esp, 4
test al, al
je 0x100fb402
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
push eax
mov eax, dword [esp + 0x1c]
mov edx, dword [ecx]
dec eax
push eax
call dword [edx + 0x48]
mov eax, 1
jmp 0x100fb5d9
mov eax, dword [esp + 0x28]
cmp eax, 0x21
jne 0x100fb429
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
push eax
mov eax, dword [esp + 0x1c]
mov edx, dword [ecx]
dec eax
push eax
call dword [edx + 0x48]
mov eax, 2
jmp 0x100fb5d9
cmp eax, 0x27
jne 0x100fb45f
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
test bl, bl
mov edx, dword [ecx]
push eax
mov eax, dword [esp + 0x1c]
je 0x100fb450
dec eax
push eax
call dword [edx + 0x48]
mov eax, 6
jmp 0x100fb5d9
dec eax
push eax
call dword [edx + 0x48]
mov eax, 5
jmp 0x100fb5d9
cmp eax, 0x22
jne 0x100fb482
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
push eax
mov eax, dword [esp + 0x1c]
mov edx, dword [ecx]
dec eax
push eax
call dword [edx + 0x48]
mov eax, 8
jmp 0x100fb5d9
push eax
call fcn.1014d527
add esp, 4
test eax, eax
jne 0x100fb5c0
cmp dword [esp + 0x28], 0x2e
jne 0x100fb4af
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.1014d527
add esp, 4
test eax, eax
jne 0x100fb5c0
mov edx, dword [esp + 0x28]
push edx
call fcn.1014d4a9
add esp, 4
test eax, eax
je 0x100fb4de
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
push edx
mov edx, dword [esp + 0x1c]
mov eax, dword [ecx]
dec edx
push edx
call dword [eax + 0x48]
mov eax, 4
jmp 0x100fb5d9
mov bl, byte [esp + 0x28]
cmp bl, 0x80
jae 0x100fb4fb
movsx eax, bl
push eax
call fcn.1014d5cc
add esp, 4
test eax, eax
jne 0x100fb57b
cmp bl, 0x25
je 0x100fb591
cmp bl, 0x5e
je 0x100fb591
cmp bl, 0x26
je 0x100fb591
cmp bl, 0x2a
je 0x100fb591
cmp bl, 0x28
je 0x100fb591
cmp bl, 0x29
je 0x100fb591
cmp bl, 0x2d
je 0x100fb591
cmp bl, 0x2b
je 0x100fb591
cmp bl, 0x3d
je 0x100fb591
cmp bl, 0x7c
je 0x100fb591
cmp bl, 0x7b
je 0x100fb591
cmp bl, 0x7d
je 0x100fb591
cmp bl, 0x5b
je 0x100fb591
cmp bl, 0x5d
je 0x100fb591
cmp bl, 0x3a
je 0x100fb591
cmp bl, 0x3b
je 0x100fb591
cmp bl, 0x3c
je 0x100fb591
cmp bl, 0x3e
je 0x100fb591
cmp bl, 0x2c
je 0x100fb591
cmp bl, 0x2f
je 0x100fb591
cmp bl, 0x3f
je 0x100fb591
cmp bl, 0x21
je 0x100fb591
cmp bl, 0x2e
je 0x100fb591
cmp bl, 0x7e
je 0x100fb591
mov eax, dword [esp + 0x28]
cmp eax, 0x40
je 0x100fb595
cmp eax, 0x5c
je 0x100fb595
mov eax, dword [esp + 0x20]
xor bl, bl
jmp 0x100fb5dd
mov eax, dword [esp + 0x28]
cmp eax, 0x29
je 0x100fb5a3
cmp eax, 0x5d
je 0x100fb5a3
xor bl, bl
jmp 0x100fb5a5
mov bl, 1
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
push eax
mov eax, dword [esp + 0x1c]
mov edx, dword [ecx]
dec eax
push eax
call dword [edx + 0x48]
mov eax, 6
jmp 0x100fb5d9
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
push eax
mov eax, dword [esp + 0x1c]
mov edx, dword [ecx]
dec eax
push eax
call dword [edx + 0x48]
mov eax, 3
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
cmp edx, ecx
jae 0x100fb63c
mov dl, byte [esp + 0x1d]
mov eax, dword [esp + 0x28]
mov byte [esp + 0x1c], dl
mov edx, dword [esp + 0x18]
inc edx
cmp eax, 0x100
mov dword [esp + 0x24], eax
mov dword [esp + 0x18], edx
jl 0x100fb610
mov eax, edx
inc eax
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x18]
xor ecx, ecx
cmp eax, 0x100
setge cl
add ecx, edx
mov dword [esp + 0x28], eax
push ecx
lea ecx, [esp + 0x14]
call fcn.100efda0
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
jmp 0x100fb654
mov ecx, edi
mov byte [esp + 0x1c], 0
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], edi
mov byte [esp + 0x1d], 1
mov edx, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
cmp edx, edi
jb 0x100fb1d2
mov ecx, dword [esp + 0x10]
dec edx
push eax
push edx
mov esi, dword [ecx]
call dword [esi + 0x48]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x88
ret
mov eax, dword [esp + 0x20]
jmp 0x100fb664