Function at 0x5198b0
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x8c
mov eax, dword [0xa470b0]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, ecx
mov byte [esi + 0x50], 0
lea ebx, [ebx]
cmp dword [esi + 0x5c], 0
jne 0x5198dd
mov ecx, esi
call fcn.005194a0
cmp dword [esi + 0x5c], 0
mov eax, dword [esi + 0x6c]
mov edx, dword [esi + 0x44]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x70]
mov dword [esi + 0x48], edx
mov dword [esi + 4], edx
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], 0
mov dword [esi], 0x46
jne 0x51a0cf
mov ecx, dword [esi + 0x4c]
cmp ecx, 0x7e
ja case.0x51991c.1
movzx eax, byte [ecx + 0x51a204]
jmp dword [eax*4 + 0x51a18c]
mov ecx, esi
call fcn.005197b0
mov eax, dword [esi + 0x4c]
mov dword [esi], 0x28
cmp eax, 0x2f
jne 0x519944
mov ecx, esi
call fcn.005193e0
jmp 0x519ab4
cmp eax, 0x2a
jne 0x519acc
mov ecx, esi
call fcn.005192f0
jmp 0x519ab4
mov ecx, esi
call fcn.005197b0
mov eax, dword [esi + 0x4c]
mov dword [esi], 0xa
cmp eax, 0x2e
je 0x519af2
add eax, 0xffffffd0
cmp eax, 9
ja 0x51a177
push 1
mov ecx, esi
call fcn.0051aad0
jmp 0x519ab4
inc edx
cmp edx, dword [esi + 0x40]
jge 0x5199a4
mov eax, dword [esi + 0x74]
push edx
push dword [esi + 0x3c]
call eax
add esp, 8
cmp ax, 0x22
je 0x5199c7
mov ecx, dword [esi + 0x44]
inc ecx
cmp ecx, dword [esi + 0x40]
jge 0x519aab
mov eax, dword [esi + 0x74]
push ecx
push dword [esi + 0x3c]
call eax
add esp, 8
cmp ax, 0x27
jne 0x519aab
mov ecx, esi
call fcn.005197b0
push 1
mov ecx, esi
call fcn.0051a690
jmp 0x519ab4
push 0
mov ecx, esi
call fcn.0051a690
jmp 0x519ab4
inc edx
cmp edx, dword [esi + 0x40]
jge 0x519b0e
mov eax, dword [esi + 0x74]
push edx
push dword [esi + 0x3c]
call eax
add esp, 8
cmp ax, 0x21
jne 0x519b0e
mov ecx, esi
call fcn.005197b0
mov ecx, esi
call fcn.005197b0
mov ecx, esi
mov dword [esi], 0x47
call fcn.0051ad20
jmp 0x519ab4
cmp ecx, 0x41
jl 0x519a34
cmp ecx, 0x5a
jle 0x519aab
lea eax, [ecx - 0x61]
cmp eax, 0x19
jbe 0x519aab
cmp ecx, 0x5f
je 0x519aab
cmp ecx, 0x24
je 0x519aab
lea eax, [ecx - 0x30]
cmp eax, 9
ja 0x519a59
push 0
mov ecx, esi
call fcn.0051aad0
jmp 0x519ab4
lea eax, [ebp - 0xc]
push eax
push ecx
call fcn.004cad70
add esp, 8
cmp eax, 5
jae 0x51a186
push dword [esi + 0x4c]
mov byte [ebp + eax - 0xc], 0
lea eax, [ebp - 0xc]
push eax
push 0x997de8
lea eax, [ebp - 0x8c]
push 0x80
push eax
call fcn.00441550
add esp, 0x14
lea eax, [ebp - 0x8c]
mov ecx, esi
push eax
call fcn.00519540
mov ecx, esi
call fcn.005197b0
jmp 0x519ab4
push 1
mov ecx, esi
call fcn.0051a4f0
cmp dword [esi], 0x44
je 0x5198d0
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00654228
mov esp, ebp
pop ebp
ret
cmp dword [esi + 0x4c], 0x3d
jne 0x51a177
mov ecx, esi
call fcn.005197b0
mov dword [esi], 0x18
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00654228
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.005197b0
mov dword [esi], 0x1b
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00654228
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.005197b0
mov dword [esi], 0x42
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00654228
mov esp, ebp
pop ebp
ret
mov dword [esi], 0
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00654228
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.005197b0
mov eax, dword [esi + 0x4c]
mov dword [esi], 0x25
cmp eax, 0x2b
jne 0x519b70
mov ecx, esi
call fcn.005197b0
mov dword [esi], 0xc
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00654228
mov esp, ebp
pop ebp
ret
cmp eax, 0x3d
jne 0x51a177
mov ecx, esi
call fcn.005197b0
mov dword [esi], 0x14
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00654228
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.005197b0
mov eax, dword [esi + 0x4c]
mov dword [esi], 0x26
cmp eax, 0x2d
jne 0x519bc6
mov ecx, esi
call fcn.005197b0
mov dword [esi], 0xd
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00654228
mov esp, ebp
pop ebp
ret
cmp eax, 0x3d
jne 0x51a177
mov ecx, esi
call fcn.005197b0
mov dword [esi], 0x15
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00654228
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.005197b0
cmp dword [esi + 0x4c], 0x3d
mov dword [esi], 0x27
jne 0x51a177
mov ecx, esi
call fcn.005197b0
mov dword [esi], 0x16
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00654228
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.005197b0
cmp dword [esi + 0x4c], 0x3d
mov dword [esi], 0x2a
jne 0x51a177
mov ecx, esi
call fcn.005197b0
mov dword [esi], 0x19
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00654228
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.005197b0
mov eax, dword [esi + 0x4c]
mov dword [esi], 0x21
cmp eax, 0x3d
jne 0x519c82
mov ecx, esi
call fcn.005197b0
mov dword [esi], 0x11
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00654228
mov esp, ebp
pop ebp
ret
cmp eax, 0x26
jne 0x51a177
mov ecx, esi
call fcn.005197b0
mov dword [esi], 0x1e
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00654228
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.005197b0
mov eax, dword [esi + 0x4c]
mov dword [esi], 0x1f
cmp eax, 0x3d
jne 0x519cd8
mov ecx, esi
call fcn.005197b0
mov dword [esi], 0xf
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00654228
mov esp, ebp
pop ebp
ret
cmp eax, 0x7c
jne 0x51a177
mov ecx, esi
call fcn.005197b0
mov dword [esi], 0x1d
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00654228
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.005197b0
cmp dword [esi + 0x4c], 0x3d
mov dword [esi], 0x20
jne 0x51a177
mov ecx, esi
call fcn.005197b0
mov dword [esi], 0x10
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00654228
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.005197b0
cmp dword [esi + 0x4c], 0x5d
mov dword [esi], 3
jne 0x51a177
mov ecx, esi
call fcn.005197b0
cmp dword [esi + 0x4c], 0x3d
mov dword [esi], 0x37
jne 0x51a177
mov ecx, esi
call fcn.005197b0
mov dword [esi], 0x38
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00654228
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.005197b0
mov dword [esi], 4
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00654228
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.005197b0
mov eax, dword [esi + 0x4c]
mov dword [esi], 0x32
cmp eax, 0x3d
jne 0x519dc7
mov ecx, esi
call fcn.005197b0
mov dword [esi], 0x34
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00654228
mov esp, ebp
pop ebp
ret
cmp eax, 0x3c
jne 0x51a177
mov ecx, esi
call fcn.005197b0
cmp dword [esi + 0x4c], 0x3d
mov dword [esi], 0x23
jne 0x51a177
mov ecx, esi
call fcn.005197b0
mov dword [esi], 0x12
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00654228
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.005197b0
mov eax, dword [esi + 0x4c]
mov dword [esi], 0x33
cmp eax, 0x3d
jne 0x519e34
mov ecx, esi
call fcn.005197b0
mov dword [esi], 0x35
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00654228
mov esp, ebp
pop ebp
ret
cmp eax, 0x3e
jne 0x51a177
mov ecx, esi
call fcn.005197b0
cmp dword [esi + 0x4c], 0x3d
mov dword [esi], 0x24
jne 0x51a177
mov ecx, esi
call fcn.005197b0
mov dword [esi], 0x13
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00654228
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.005197b0
cmp dword [esi + 0x4c], 0x3d
mov dword [esi], 0x2b
jne 0x51a177
mov ecx, esi
call fcn.005197b0
mov dword [esi], 0x2f
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00654228
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.005197b0
cmp dword [esi + 0x4c], 0x2f
mov dword [esi], 0x22
jne 0x51a177
mov ecx, esi
call fcn.005197b0
cmp dword [esi + 0x4c], 0x3d
mov dword [esi], 0x29
jne 0x51a177
mov ecx, esi
call fcn.005197b0
mov dword [esi], 0x17
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00654228
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.005197b0
mov eax, dword [esi + 0x4c]
mov dword [esi], 0xe
cmp eax, 0x3d
jne 0x519f1e
mov ecx, esi
call fcn.005197b0
mov dword [esi], 0x2e
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00654228
mov esp, ebp
pop ebp
ret
cmp eax, 0x3e
jne 0x51a177
mov ecx, esi
call fcn.005197b0
mov dword [esi], 7
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00654228
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.005197b0
mov eax, dword [esi + 0x4c]
mov dword [esi], 0x2c
cmp eax, 0x2e
jne 0x519f74
mov ecx, esi
call fcn.005197b0
mov dword [esi], 0xb
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00654228
mov esp, ebp
pop ebp
ret
cmp eax, 0x3f
jne 0x51a177
mov ecx, esi
call fcn.005197b0
cmp dword [esi + 0x4c], 0x3d
mov dword [esi], 0x2d
jne 0x51a177
mov ecx, esi
call fcn.005197b0
mov dword [esi], 0x1a
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00654228
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.005197b0
mov dword [esi], 8
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00654228
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.005197b0
mov dword [esi], 9
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00654228
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.005197b0
cmp dword [esi + 0x58], 0
mov dword [esi], 5
je 0x51a177
inc dword [esi + 0x64]
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00654228
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.005197b0
mov ecx, dword [esi + 0x58]
mov dword [esi], 6
test ecx, ecx
je 0x51a177
dec dword [esi + 0x64]
jne 0x51a177
mov dword [esi], 0x40
movsx eax, byte [ecx + 4]
mov dword [esi + 0x5c], eax
mov al, byte [ecx + 5]
mov byte [esi + 0x60], al
mov eax, dword [ecx + 8]
mov dword [esi + 0x64], eax
mov eax, dword [ecx]
mov dword [esi + 0x58], eax
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00654228
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.005197b0
mov dword [esi], 1
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00654228
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.005197b0
mov dword [esi], 2
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00654228
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.005197b0
mov dword [esi], 0x1c
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00654228
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.005197b0
mov dword [esi], 0x41
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00654228
mov esp, ebp
pop ebp
ret
cmp dword [esi + 0x4c], 0x24
mov ecx, esi
jne 0x51a16e
call fcn.005197b0
mov ecx, dword [esi + 0x4c]
cmp ecx, 0x41
jl 0x51a0ed
cmp ecx, 0x5a
jle 0x51a0ff
lea eax, [ecx - 0x61]
cmp eax, 0x19
jbe 0x51a0ff
cmp ecx, 0x5f
je 0x51a0ff
cmp ecx, 0x24
jne 0x51a122
cmp ecx, 0x24
je 0x51a122
push 0
mov ecx, esi
call fcn.0051a4f0
mov dword [esi], 0x3e
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00654228
mov esp, ebp
pop ebp
ret
cmp ecx, 0x7b
mov ecx, esi
jne 0x51a14a
call fcn.005197b0
mov ecx, esi
mov dword [esi], 0x3f
call fcn.00519760
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00654228
mov esp, ebp
pop ebp
ret
push 0x997db4
call fcn.00519540
mov dword [esi + 0x5c], 0
mov byte [esi + 0x60], 0
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00654228
mov esp, ebp
pop ebp
ret
push 0
push 0
call fcn.0051a6f0
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop esi
call fcn.00654228
mov esp, ebp
pop ebp
ret
call fcn.00654ecc
nop
sub bl, byte [ebx - 0x618fffaf]
push ecx
add ah, bl
cdq
push ecx
add dl, ch
cdq
push ecx
add byte [esi], bl
pushfd
push ecx
add byte [ecx - 0x64], dl
push ecx
add byte [edi - 0x60], bl
push ecx
add byte [ebx - 0x60], bh
push ecx
add bl, ch
wait
push ecx
add byte [edi], bh
wait
push ecx
add byte [edi - 0x6affae60], dl
wait
push ecx
add byte [ecx - 0x67], bl
push ecx
add byte [ebx], ah
cdq
push ecx
add byte [eax - 0x33ffae61], dh
lahf
push ecx
add byte [esi - 0x12ffae63], dl
sahf
push ecx
add byte [ebx], al
sahf
push ecx
add byte [ebx - 0x61], al
push ecx
add byte [ebx + 0x300051a0], dh
popfd
push ecx
add byte [edx - 0x63], bh
push ecx
add ch, bh
pushfd
push ecx
add byte [ecx + ebx*4 - 0x6017ffaf], cl
push ecx
add byte [edi + 0x1100519c], ah
mov al, byte [0x9ea30051]
push ecx
add byte [edx], ch
lcall 0x1d1d, 0x1d000051
sbb eax, 0x1d1d1d1d
sbb eax, 488447261
sbb eax, 488447261
sbb eax, 488447261
sbb eax, 488447261
sbb eax, 18685213
add al, byte [ebx]
sbb eax, 100795652
pop es
or byte [ecx], cl
or cl, byte [ebx]
or al, 13
sbb eax, 488447261
sbb eax, 488447261
push cs
movups xmm2, xmmword [ecx]
adc dl, byte [ebx]
adc al, 29
sbb eax, 488447261
sbb eax, 488447261
sbb eax, 488447261
sbb eax, 488447261
sbb eax, 488447261
adc eax, 488052253
sbb eax, 488447261
sbb eax, 488447261
sbb eax, 488447261
sbb eax, 488119581
sbb eax, 488447261
sbb eax, 454695197
sbb al, 204
int3