Function at 0x75a28d13
Capabilities:
Parse credit card information

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x14
push ebx
push esi
push edi
mov esi, ecx
xor edi, edi
cmp dword [esi + 0x24], edi
jne 0x75a292ee
cmp dword [esi], edi
je 0x75a292ee
mov eax, dword [esi + 0x1c]
movzx ebx, word [eax]
mov dword [ebp - 0x14], ebx
cmp bx, 0x20
je 0x75a28d48
cmp bx, 9
jne 0x75a28d50
add eax, 2
mov dword [esi + 0x1c], eax
jmp 0x75a28d33
cmp bx, di
jne 0x75a28d5e
mov dword [esi], edi
xor eax, eax
jmp 0x75a292f3
cmp bx, 0x28
jne 0x75a28d75
add dword [esi + 0x1c], 2
inc dword [esi + 0x18]
push 0x12
pop eax
mov dword [esi], eax
jmp 0x75a292f3
cmp bx, 0x29
jne 0x75a28da1
mov eax, dword [esi + 0x18]
add dword [esi + 0x1c], 2
lea ecx, [eax - 1]
mov dword [esi], 1
mov dword [esi + 0x18], ecx
cmp eax, edi
jne 0x75a292f1
mov dword [esi], 0x13
jmp 0x75a292f1
cmp bx, 0x22
jne 0x75a28e13
add dword [esi + 0x1c], 2
mov eax, dword [esi + 0x1c]
movzx ecx, word [eax]
mov ebx, eax
jmp 0x75a28dc4
cmp cx, di
je 0x75a28e07
inc eax
inc eax
mov ecx, eax
mov dword [esi + 0x1c], eax
movzx ecx, word [ecx]
cmp cx, 0x22
jne 0x75a28db5
mov edi, eax
sub edi, ebx
push 0
sar edi, 1
add eax, 2
push edi
lea ecx, [esi + 8]
mov dword [esi + 0x1c], eax
call fcn.75a1d519
test edi, edi
je 0x75a28de9
test eax, eax
je 0x75a28e07
lea ecx, [edi + edi]
push ecx
push ebx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov dword [esi + 0x10], 0x80000000
or dword [esi + 0x14], 0xffffffff
jmp 0x75a292e7
push 0x13
pop ebx
mov dword [esi], ebx
mov eax, ebx
jmp 0x75a292f3
cmp bx, 0x2d
je 0x75a29243
cmp bx, 0x30
jb 0x75a28e2d
cmp bx, 0x39
jbe 0x75a29243
push ebx
call fcn.75a1f3c5
pop ecx
test eax, eax
jne 0x75a29122
cmp bx, 0x25
je 0x75a29122
cmp bx, 0x24
je 0x75a28f37
cmp bx, 0x3f
je 0x75a28f37
cmp bx, 0x26
je 0x75a28f37
cmp bx, 0x21
je 0x75a28f37
mov eax, dword [esi + 0x1c]
movzx ecx, word [eax]
add eax, 2
mov dword [esi + 0x1c], eax
cmp cx, 0x7e
jne 0x75a28e92
mov dword [esi + 4], 1
movzx ecx, word [eax]
add eax, 2
mov dword [esi + 0x1c], eax
jmp 0x75a28e95
mov dword [esi + 4], edi
cmp cx, 0x3d
jne 0x75a28ea2
push 8
jmp 0x75a28d6d
mov eax, dword [esi + 0x1c]
movzx edx, word [eax]
cmp cx, 0x3c
jne 0x75a28ef0
cmp dx, 0x3d
jne 0x75a28ebc
mov dword [esi], 0xd
jmp 0x75a28eda
cmp dx, 0x3e
jne 0x75a28eca
mov dword [esi], 9
jmp 0x75a28eda
cmp dx, 0x3c
jne 0x75a28ee5
or dword [esi + 4], 2
mov dword [esi], 0xe
add eax, 2
mov dword [esi + 0x1c], eax
jmp 0x75a292f1
mov dword [esi], 0xb
jmp 0x75a292f1
cmp cx, 0x3e
jne 0x75a28d96
cmp dx, 0x3d
jne 0x75a28f08
mov dword [esi], 0xc
jmp 0x75a28eda
cmp dx, 0x3e
jne 0x75a28f1a
or dword [esi + 4], 4
mov dword [esi], 0x10
jmp 0x75a28eda
cmp dx, 0x3c
jne 0x75a28f2c
or dword [esi + 4], 6
mov dword [esi], 0xf
jmp 0x75a28eda
mov dword [esi], 0xa
jmp 0x75a292f1
or dword [esi + 0x14], 0xffffffff
add dword [esi + 0x1c], 2
mov edi, dword [esi + 0x1c]
mov dword [esi + 0x10], 0x80000000
movzx eax, word [edi]
mov dword [ebp - 0x10], edi
jmp 0x75a28f5b
inc edi
inc edi
mov eax, edi
mov dword [esi + 0x1c], edi
movzx eax, word [eax]
push eax
call fcn.75a1f3c5
pop ecx
test eax, eax
jne 0x75a28f51
sub edi, dword [ebp - 0x10]
mov eax, dword [esi + 0x20]
and dword [ebp - 8], 0
sar edi, 1
mov dword [ebp - 0xc], edi
mov edi, dword [eax]
lea ecx, [ebp - 8]
call fcn.759c6f3c
push eax
push 0x759f6ddc
push dword [esi + 0x20]
call dword [edi]
cmp bx, 0x3f
je 0x75a28fa1
cmp bx, 0x24
je 0x75a28fa1
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x10]
jmp 0x75a28faa
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x14]
mov dword [ebp - 4], eax
test eax, eax
je 0x75a290f5
mov ecx, dword [eax]
push 0
push eax
call dword [ecx + 0x38]
mov edi, eax
test edi, edi
je 0x75a290ad
lea ebx, [esi + 8]
mov eax, dword [ebx]
mov ecx, dword [eax]
push ebx
push 0
push dword [ebp - 0xc]
push eax
call dword [ecx + 0x68]
cmp dword [ebp - 0xc], 0
je 0x75a2900c
test eax, eax
jne 0x75a2900c
push 0x13
pop ebx
mov dword [esi], ebx
mov eax, dword [edi]
push edi
call dword [eax + 8]
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 8]
test eax, eax
je 0x75a28e0c
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x75a28e0c
mov ecx, dword [ebp - 0xc]
add ecx, ecx
push ecx
push dword [ebp - 0x10]
push eax
call sub.msvcrt.dll_memcpy
mov eax, dword [edi]
add esp, 0xc
push 1
push edi
call dword [eax + 0x18]
push dword [ebx]
mov eax, dword [edi]
push 1
push edi
call dword [eax + 0x30]
mov eax, dword [esi + 0x20]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x24]
mov dword [ebp - 0x10], eax
movzx eax, word [ebp - 0x14]
xor ecx, ecx
sub eax, 0x21
je 0x75a2906a
sub eax, 3
je 0x75a29063
dec eax
dec eax
je 0x75a2905c
sub eax, 0x19
jne 0x75a2906f
mov ecx, 0x759f5f40
jmp 0x75a2906f
mov ecx, 0x759f60b4
jmp 0x75a2906f
mov ecx, 0x759f5f58
jmp 0x75a2906f
mov ecx, 0x759f60e4
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
mov eax, dword [ebp - 0x10]
mov edx, dword [eax]
push ecx
push eax
add ebx, 0x28
call dword [edx + 0x3c]
push eax
push dword [ebp - 4]
call dword [ebx]
mov ebx, eax
mov eax, dword [edi]
push edi
call dword [eax + 0x14]
test eax, eax
je 0x75a290a8
mov eax, dword [edi]
push ebx
push edi
call dword [eax + 0x1c]
push eax
call fcn.75a7e2a8
cdq
pop ecx
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], edx
mov eax, dword [ebp - 0x10]
jmp 0x75a290e5
and dword [ebp - 0xc], 0
cmp bx, 0x3f
je 0x75a290c4
cmp bx, 0x24
je 0x75a290c4
push 0x759f60a4
jmp 0x75a290c9
push 0x759f5ee8
push 0xb47
call fcn.75a20602
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0xc]
call fcn.759cbe5f
mov eax, dword [ebp - 0xc]
test eax, eax
je 0x75a290f5
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
test edi, edi
je 0x75a290f5
mov eax, dword [edi]
push edi
call dword [eax + 8]
push 0
lea ecx, [esi + 8]
call fcn.759c8365
mov eax, dword [ebp - 4]
test eax, eax
je 0x75a2910c
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 8]
test eax, eax
je 0x75a292e7
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x75a292e7
mov eax, dword [esi + 0x1c]
mov dword [ebp - 0x10], eax
add dword [esi + 0x1c], 2
mov edi, dword [esi + 0x1c]
movzx eax, word [edi]
push eax
call fcn.75a1f3c5
pop ecx
test eax, eax
jne 0x75a29128
mov edx, dword [ebp - 0x10]
sub edi, edx
sar edi, 1
push 3
mov ebx, edi
pop eax
cmp ebx, eax
jg 0x75a291ae
jne 0x75a29158
movzx edi, word [edx + 4]
shl edi, 0x10
jmp 0x75a2915a
xor edi, edi
movzx ecx, word [edx + 2]
movzx edx, word [edx]
shl ecx, 8
or ecx, edx
or ecx, edi
and ecx, 0xdfdfdf
cmp ecx, 0x524f
je 0x75a29222
cmp ecx, 0x444e41
je 0x75a2921b
cmp ecx, 0x504d49
je 0x75a29214
cmp ecx, 0x524f58
je 0x75a2920d
cmp ecx, 0x544f4e
je 0x75a29206
cmp ecx, 0x565145
je 0x75a28d6e
lea edi, [esi + 8]
mov eax, dword [edi]
mov ecx, dword [eax]
push edi
push 0
push ebx
push eax
call dword [ecx + 0x68]
test ebx, ebx
je 0x75a291c9
test eax, eax
je 0x75a28e07
lea ecx, [ebx + ebx]
push ecx
push dword [ebp - 0x10]
push eax
call sub.msvcrt.dll_memcpy
mov ecx, dword [edi]
mov eax, dword [esi + 0x20]
mov edx, dword [eax]
add esp, 0xc
push ecx
push eax
call dword [edx + 0x58]
push eax
mov ecx, edi
call fcn.759c755e
mov eax, dword [edi]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x10]
mov ecx, 0x80000000
cmp eax, ecx
jne 0x75a29229
mov dword [esi + 0x10], ecx
jmp 0x75a28dfe
push 7
jmp 0x75a28d6d
push 4
jmp 0x75a28d6d
push 2
jmp 0x75a28d6d
push 6
jmp 0x75a28d6d
push 5
jmp 0x75a28d6d
mov edi, dword [edi]
mov eax, dword [edi]
push edi
call dword [eax + 0x20]
push eax
call sub.msvcrt.dll__wtoi64
pop ecx
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], edx
jmp 0x75a292e7
movzx eax, bx
mov dword [ebp - 0x14], eax
add eax, 0xffffffd0
cdq
xor ecx, ecx
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], edx
cmp bx, 0x2d
jne 0x75a29293
mov dword [esi + 0x10], edi
mov dword [esi + 0x14], edi
inc ecx
jmp 0x75a29293
cmp di, 0x39
ja 0x75a292a3
push 0
push 0xa
push dword [esi + 0x14]
push dword [esi + 0x10]
call fcn.759c931f
mov ecx, eax
movzx eax, di
mov ebx, edx
cdq
add ecx, eax
adc ebx, edx
sub ecx, 0x30
sbb ebx, 0
mov dword [esi + 0x10], ecx
mov dword [esi + 0x14], ebx
xor ecx, ecx
add dword [esi + 0x1c], 2
mov eax, dword [esi + 0x1c]
movzx edi, word [eax]
cmp di, 0x30
jae 0x75a29264
test ecx, ecx
je 0x75a292b2
or dword [esi + 0x14], 0xffffffff
mov dword [esi + 0x10], 0x80000000
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x10]
test eax, eax
jg 0x75a292ca
jl 0x75a28e07
test ecx, ecx
jb 0x75a28e07
cmp dword [ebp - 0x14], 0x2d
jne 0x75a292dd
neg ecx
adc eax, 0
neg eax
mov dword [esi + 0x10], ecx
mov dword [esi + 0x14], eax
push 0
lea ecx, [esi + 8]
call fcn.759c8365
push 0x11
jmp 0x75a28d6d
mov dword [esi + 0x24], edi
mov eax, dword [esi]
pop edi
pop esi
pop ebx
leave
ret