Function at 0x100a1bf0
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x168
push edi
push ecx
lea edi, [ebp - 0x168]
mov ecx, 0x5a
mov eax, 0xcccccccc
rep stosd dword es:[edi], eax
pop ecx
mov dword [ebp - 4], ecx
movzx eax, byte [0x1018303d]
test eax, eax
je 0x100a2622
cmp dword [ebp + 0x10], 0
jne 0x100a1c30
cmp dword [ebp + 0xc], 0
je 0x100a2622
lea ecx, [ebp - 0x1c]
call fcn.10011e50
lea ecx, [ebp - 0x30]
call fcn.10011e50
mov ecx, dword [ebp + 0x10]
call fcn.100127a0
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x38]
add ecx, 0x18
mov dword [ebp - 0x3c], ecx
push ecx
movss xmm0, dword [0x10141480]
movss dword [esp], xmm0
mov ecx, dword [ebp + 0x18]
call fcn.10012520
mov edx, dword [ebp + 0x18]
push edx
mov eax, dword [ebp - 0x3c]
push eax
lea ecx, [ebp - 0xd4]
push ecx
call fcn.100a12c0
add esp, 0xc
push eax
lea ecx, [ebp - 0x30]
call fcn.100124d0
push ecx
movss xmm0, dword [0x10141480]
movss dword [esp], xmm0
lea ecx, [ebp - 0x30]
call fcn.10012520
lea edx, [ebp - 0x30]
push edx
lea ecx, [ebp - 0xe0]
call fcn.10012540
lea ecx, [ebp - 0xe0]
call fcn.100b7ea0
fstp dword [ebp - 0x10c]
movss xmm0, dword [ebp - 0x10c]
mulss xmm0, dword [0x101414fc]
push ecx
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x10141444]
movss dword [esp], xmm0
call fcn.100b91e0
add esp, 4
fstp dword [esp]
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0x4c]
push ecx
call fcn.100a0d50
add esp, 0xc
push ecx
movss xmm0, dword [0x10141480]
movss dword [esp], xmm0
lea ecx, [ebp - 0x4c]
call fcn.10012520
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 0x718]
imul ecx, eax, 0x1c
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + ecx + 0x5a0]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 2
jb 0x100a1d47
cmp dword [ebp - 8], 8
ja 0x100a1d47
mov dword [ebp - 0x110], 1
jmp 0x100a1d51
mov dword [ebp - 0x110], 0
mov cl, byte [ebp - 0x110]
mov byte [ebp - 0x51], cl
mov edx, dword [ebp + 0xc]
push edx
call fcn.10030c20
add esp, 4
mov dword [ebp - 0xc], eax
cmp dword [ebp - 8], 9
je 0x100a1db9
cmp dword [ebp + 8], 0
je 0x100a2412
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x1c]
movzx edx, word [ecx + 0xe]
cmp edx, 0x2b
je 0x100a1db9
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x1c]
movzx edx, word [ecx + 0xe]
cmp edx, 0x42
je 0x100a1db9
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x1c]
movzx edx, word [ecx + 0xe]
cmp edx, 0x43
je 0x100a1db9
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x1c]
movzx edx, word [ecx + 0xe]
cmp edx, 0x44
jne 0x100a2412
mov eax, dword [ebp + 0x10]
cmp dword [eax + 0x530], 0x37
je 0x100a1dd5
mov ecx, dword [0x10197804]
mov edx, dword [ecx]
add edx, 0x11
and edx, 1
je 0x100a1df1
mov eax, dword [ebp + 0x10]
cmp dword [eax + 0x530], 0x37
jne 0x100a1e3e
mov ecx, dword [0x10197804]
mov edx, dword [ecx]
add edx, 0x11
and edx, 3
jne 0x100a1e3e
push 0
push 0
push 0
push 0
push ecx
movss xmm0, dword [0x101413dc]
movss dword [esp], xmm0
push 0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
lea ecx, [ebp - 0xec]
call fcn.10012460
push eax
mov eax, dword [ebp + 0x14]
push eax
push 0x4c
call fcn.10022a00
add esp, 0x24
movzx ecx, byte [ebp - 0x51]
test ecx, ecx
jne 0x100a1e9f
cmp dword [ebp + 8], 0
je 0x100a200a
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x1c]
movzx ecx, word [eax + 0xe]
cmp ecx, 0x28
je 0x100a1e9f
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x1c]
movzx ecx, word [eax + 0xe]
cmp ecx, 0x3f
je 0x100a1e9f
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x1c]
movzx ecx, word [eax + 0xe]
cmp ecx, 0x25
je 0x100a1e9f
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x1c]
movzx ecx, word [eax + 0xe]
cmp ecx, 0x40
je 0x100a1e9f
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x1c]
movzx ecx, word [eax + 0xe]
cmp ecx, 0x41
jne 0x100a200a
push ecx
movss xmm0, dword [0x10141410]
movss dword [esp], xmm0
lea edx, [ebp - 0x30]
push edx
lea eax, [ebp - 0xf8]
push eax
call fcn.100a0d50
add esp, 0xc
push eax
mov ecx, dword [ebp + 0x14]
push ecx
lea edx, [ebp - 0x64]
push edx
call fcn.100a1470
add esp, 0xc
push ecx
movss xmm0, dword [0x101413a8]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101415fc]
movss dword [esp], xmm0
call fcn.10016ac0
add esp, 8
fstp dword [ebp - 0x114]
movss xmm0, dword [ebp - 0x114]
addss xmm0, dword [ebp - 0x4c]
movss dword [ebp - 0x4c], xmm0
push ecx
movss xmm0, dword [0x101413c4]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101415fc]
movss dword [esp], xmm0
call fcn.10016ac0
add esp, 8
fstp dword [ebp - 0x118]
movss xmm0, dword [ebp - 0x118]
addss xmm0, dword [ebp - 0x48]
movss dword [ebp - 0x48], xmm0
push 0
push 0
push 0
push 0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push 0
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0x64]
push ecx
push 6
call fcn.10022a00
add esp, 0x20
movss xmm0, dword [0x101413a8]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101415fc]
movss dword [esp], xmm0
call fcn.10016ac0
add esp, 8
fstp dword [ebp - 0x11c]
movss xmm0, dword [ebp - 0x11c]
addss xmm0, dword [ebp - 0x4c]
movss dword [ebp - 0x4c], xmm0
push ecx
movss xmm0, dword [0x101413c4]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101415fc]
movss dword [esp], xmm0
call fcn.10016ac0
add esp, 8
fstp dword [ebp - 0x120]
movss xmm0, dword [ebp - 0x120]
addss xmm0, dword [ebp - 0x48]
movss dword [ebp - 0x48], xmm0
push 0
push 0
push 0
push 0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push 0
lea edx, [ebp - 0x4c]
push edx
lea eax, [ebp - 0x64]
push eax
push 6
call fcn.10022a00
add esp, 0x24
lea ecx, [ebp - 0x4c]
push ecx
lea ecx, [ebp - 0x1c]
call fcn.100124d0
push ecx
movss xmm0, dword [0x10141480]
movss dword [esp], xmm0
lea ecx, [ebp - 0x1c]
call fcn.10012520
movss xmm0, dword [ebp - 0x14]
addss xmm0, dword [0x101413dc]
movss dword [ebp - 0x14], xmm0
push 0
push 0
push 0
push 0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push 0
lea edx, [ebp - 0x1c]
push edx
mov eax, dword [ebp + 0x14]
push eax
push 7
call fcn.10022a00
add esp, 0x24
mov dword [ebp - 0x6c], 0
jmp 0x100a2075
mov ecx, dword [ebp - 0x6c]
add ecx, 1
mov dword [ebp - 0x6c], ecx
cmp dword [ebp - 0x6c], 7
jge 0x100a20c7
push 0
push 0
push 0
push 0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push 0
lea edx, [ebp - 0x1c]
push edx
mov eax, dword [ebp + 0x14]
push eax
push 7
call fcn.10022a00
add esp, 0x24
push 0
push 0
push 0
push 0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push 0
lea ecx, [ebp - 0x1c]
push ecx
mov edx, dword [ebp + 0x14]
push edx
push 8
call fcn.10022a00
add esp, 0x24
jmp 0x100a206c
push 0
push 0
push 0
push 0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push 0
lea eax, [ebp - 0x1c]
push eax
mov ecx, dword [ebp + 0x14]
push ecx
push 6
call fcn.10022a00
add esp, 0x24
movss xmm0, dword [ebp - 0x44]
addss xmm0, dword [0x101413c4]
movss dword [ebp - 0x14], xmm0
push 0
push 0
push 0
push 0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push 0
lea edx, [ebp - 0x1c]
push edx
mov eax, dword [ebp + 0x14]
push eax
push 6
call fcn.10022a00
add esp, 0x24
xorps xmm0, xmm0
movss dword [ebp - 0x1c], xmm0
xorps xmm0, xmm0
movss dword [ebp - 0x18], xmm0
movss xmm0, dword [0x10141378]
movss dword [ebp - 0x14], xmm0
push 0
push 0
push 0
push 0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push 0
lea ecx, [ebp - 0x1c]
push ecx
mov edx, dword [ebp + 0x14]
push edx
push 0xa
call fcn.10022a00
add esp, 0x24
movzx eax, byte [0x1018304e]
test eax, eax
je 0x100a2405
push ecx
movss xmm0, dword [0x101413ec]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101413c4]
movss dword [esp], xmm0
call fcn.10016ac0
add esp, 8
fstp dword [ebp - 0x124]
push ecx
movss xmm0, dword [0x101413d4]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x1014160c]
movss dword [esp], xmm0
call fcn.10016ac0
add esp, 8
fstp dword [ebp - 0x128]
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x124]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x128]
movss dword [esp], xmm0
lea ecx, [ebp - 0x7c]
call fcn.10012460
call fcn.100167a0
fstp dword [ebp - 0x12c]
movss xmm0, dword [ebp - 0x12c]
movss dword [ebp - 0x130], xmm0
call fcn.100167a0
fstp dword [ebp - 0x134]
movss xmm0, dword [ebp - 0x134]
mulss xmm0, dword [0x1014153c]
divss xmm0, dword [0x101415a8]
movss xmm1, dword [ebp - 0x130]
subss xmm1, xmm0
movss dword [ebp - 0x138], xmm1
call fcn.100167a0
fstp dword [ebp - 0x13c]
movss xmm0, dword [ebp - 0x13c]
mulss xmm0, dword [0x1014153c]
divss xmm0, dword [0x101415a8]
movss dword [ebp - 0x140], xmm0
push ecx
movss xmm0, dword [ebp - 0x138]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x140]
movss dword [esp], xmm0
call fcn.10016ac0
add esp, 8
fstp dword [ebp - 0x144]
call fcn.100167c0
fstp dword [ebp - 0x148]
movss xmm0, dword [ebp - 0x148]
mulss xmm0, dword [0x1014153c]
divss xmm0, dword [0x101415b4]
movss dword [ebp - 0x14c], xmm0
call fcn.100167c0
fstp dword [ebp - 0x150]
movss xmm0, dword [ebp - 0x150]
movss xmm1, dword [ebp - 0x14c]
subss xmm0, xmm1
movss dword [ebp - 0x154], xmm0
call fcn.100167c0
fstp dword [ebp - 0x158]
movss xmm0, dword [ebp - 0x158]
mulss xmm0, dword [0x1014153c]
divss xmm0, dword [0x101415b4]
movss dword [ebp - 0x15c], xmm0
push ecx
movss xmm0, dword [ebp - 0x154]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x15c]
movss dword [esp], xmm0
call fcn.10016ac0
add esp, 8
fstp dword [ebp - 0x160]
push ecx
movss xmm0, dword [0x10141444]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x144]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x160]
movss dword [esp], xmm0
lea ecx, [ebp - 0x90]
call fcn.10012460
call fcn.100176c0
and eax, 1
mov dword [ebp - 0x164], eax
mov byte [ebp - 0xfc], 0
mov byte [ebp - 0xfb], 0
mov byte [ebp - 0xfa], 0
mov byte [ebp - 0xf9], 0
push ecx
movss xmm0, dword [0x101413d4]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101413c4]
movss dword [esp], xmm0
call fcn.10016ac0
add esp, 8
fstp dword [ebp - 0x168]
push 0
mov ecx, dword [ebp - 0x164]
push ecx
push 0
push 0
lea edx, [ebp - 0xfc]
push edx
push ecx
movss xmm0, dword [ebp - 0x168]
movss dword [esp], xmm0
push 0
lea eax, [ebp - 0x7c]
push eax
lea ecx, [ebp - 0x90]
push ecx
push 0x29
call fcn.10022aa0
add esp, 0x28
push str._DBG_:BloodEvent
call fcn.100eb6b0
add esp, 4
cmp dword [ebp - 8], 4
je 0x100a244a
cmp dword [ebp - 8], 8
je 0x100a244a
cmp dword [ebp + 8], 0
je 0x100a2591
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x1c]
movzx ecx, word [eax + 0xe]
cmp ecx, 0x28
je 0x100a244a
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x1c]
movzx ecx, word [eax + 0xe]
cmp ecx, 0x27
jne 0x100a2591
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
lea ecx, [ebp - 0xa4]
call fcn.10012460
mov dword [ebp - 0xac], 0
jmp 0x100a248b
mov edx, dword [ebp - 0xac]
add edx, 1
mov dword [ebp - 0xac], edx
cmp dword [ebp - 0xac], 3
jge 0x100a2511
push 0
push 0
push 0
push 0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push 0
lea eax, [ebp - 0xa4]
push eax
mov ecx, dword [ebp + 0x14]
push ecx
push 8
call fcn.10022a00
add esp, 0x24
push 0
push 0
push 0
push 0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push 0
lea edx, [ebp - 0xa4]
push edx
mov eax, dword [ebp + 0x14]
push eax
push 8
call fcn.10022a00
add esp, 0x24
push 0
push 0
push 0
push 0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push 0
lea ecx, [ebp - 0xa4]
push ecx
mov edx, dword [ebp + 0x14]
push edx
push 8
call fcn.10022a00
add esp, 0x24
jmp 0x100a247c
call fcn.100176c0
and eax, 3
jne 0x100a2543
push 0
push 0
push 0
push 0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push 0
lea eax, [ebp - 0xa4]
push eax
mov ecx, dword [ebp + 0x14]
push ecx
push 0x4c
call fcn.10022a00
add esp, 0x24
mov dword [ebp - 0xb0], 0
jmp 0x100a255e
mov edx, dword [ebp - 0xb0]
add edx, 1
mov dword [ebp - 0xb0], edx
cmp dword [ebp - 0xb0], 4
jge 0x100a2591
push 0
push 0
push 0
push 0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push 0
lea eax, [ebp - 0xa4]
push eax
mov ecx, dword [ebp + 0x14]
push ecx
push 6
call fcn.10022a00
add esp, 0x24
jmp 0x100a254f
mov dword [ebp - 0xb4], 0
jmp 0x100a25ac
mov edx, dword [ebp - 0xb4]
add edx, 1
mov dword [ebp - 0xb4], edx
cmp dword [ebp - 0xb4], 4
jge 0x100a2622
cmp dword [ebp + 0x10], 0
je 0x100a261d
mov ecx, dword [ebp + 0x10]
call fcn.100b50b0
push eax
push ecx
movss xmm0, dword [0x101413dc]
movss dword [esp], xmm0
lea eax, [ebp - 0x108]
push eax
call fcn.100a0da0
add esp, 0xc
push eax
mov ecx, dword [ebp + 0x14]
push ecx
lea edx, [ebp - 0xc4]
push edx
call fcn.100a12c0
add esp, 0xc
push 0
push 0
push 0
push 0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push 0
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0xc4]
push ecx
push 6
call fcn.10022a00
add esp, 0x24
jmp 0x100a259d
push edx
mov ecx, ebp
push eax
lea edx, [0x100a2648]
call fcn.10101c0e
pop eax
pop edx
pop edi
add esp, 0x168
cmp ebp, esp
call fcn.10101c62
mov esp, ebp
pop ebp
ret 0x18