Function at 0x10024360
Capabilities:
Parse credit card information

Disassembly:
push esi
mov esi, ecx
xor dl, dl
mov ecx, dword [esi + 0x4c]
cmp ecx, 0xffffffff
je 0x1002461a
push ebx
mov eax, ecx
push edi
cmp eax, 0x7c
je 0x10024618
cmp eax, 0x29
jne 0x100243a3
cmp dword [esi + 0x10], 0
jne 0x10024618
cmp eax, eax
jne 0x100243a3
test dword [esi + 0x50], 0x10000000
je 0x10024627
jmp 0x10024501
cmp eax, 0x2e
jne 0x100243b7
push 5
lea ecx, [esi + 0x24]
call fcn.100276f0
jmp 0x10024534
cmp eax, 0x5c
jne 0x10024413
mov ecx, esi
call fcn.10027760
test byte [esi + 0x50], 0x80
je 0x10024407
mov al, byte [esi + 0x48]
cmp al, 0x62
jne 0x100243e6
push 4
lea ecx, [esi + 0x24]
call fcn.100276f0
mov ecx, esi
call fcn.10027760
jmp 0x10024608
cmp al, 0x42
jne 0x10024407
push 4
lea ecx, [esi + 0x24]
call fcn.100276f0
mov eax, dword [esi + 0x28]
mov ecx, esi
xor dword [eax + 8], 1
call fcn.10027760
jmp 0x10024608
mov ecx, esi
call fcn.10024650
jmp 0x1002453b
cmp eax, 0x5b
jne 0x10024474
mov ecx, esi
call fcn.10027760
lea ecx, [esi + 0x24]
call fcn.10023930
mov eax, dword [esi + 0x4c]
cmp eax, 0x5e
jne 0x10024440
mov eax, dword [esi + 0x28]
mov ecx, esi
xor dword [eax + 8], 1
call fcn.10027760
mov eax, dword [esi + 0x4c]
cmp eax, 0x5d
jne 0x1002445e
test dword [esi + 0x50], 0x20000000
je 0x1002445e
push eax
lea ecx, [esi + 0x24]
call fcn.100238c0
mov ecx, esi
call fcn.10027760
mov ecx, esi
call fcn.10025470
cmp dword [esi + 0x4c], 0x5d
jne 0x10024630
jmp 0x10024534
cmp eax, 0x28
jne 0x100244a7
mov ecx, esi
call fcn.10027760
mov ecx, esi
call fcn.10027aa0
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x10024627
mov ecx, esi
call fcn.10027760
test bl, bl
je 0x10024608
jmp 0x1002453b
cmp eax, 0x5e
jne 0x100244c2
push 2
lea ecx, [esi + 0x24]
call fcn.100276f0
mov ecx, esi
call fcn.10027760
jmp 0x10024608
cmp eax, 0x24
jne 0x100244dd
push 3
lea ecx, [esi + 0x24]
call fcn.100276f0
mov ecx, esi
call fcn.10027760
jmp 0x10024608
cmp eax, 0x2a
je 0x1002461e
cmp eax, 0x2b
je 0x1002461e
cmp eax, 0x3f
je 0x1002461e
cmp eax, 0x7b
je 0x1002461e
cmp ecx, 0x7d
jne 0x10024515
test dword [esi + 0x50], 0x10000000
je 0x10024639
jmp 0x10024527
cmp ecx, 0x5d
jne 0x10024527
test dword [esi + 0x50], 0x10000000
je 0x10024630
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.100237b0
mov ecx, esi
call fcn.10027760
mov eax, dword [esi + 0x4c]
xor ebx, ebx
or edi, 0xffffffff
cmp eax, 0x2a
je 0x100245d4
cmp eax, 0x2b
jne 0x10024556
lea ebx, [edi + 2]
jmp 0x100245d4
cmp eax, 0x3f
jne 0x10024560
lea edi, [eax - 0x3e]
jmp 0x100245d4
cmp eax, 0x7b
jne 0x10024608
mov ecx, esi
call fcn.10027760
push SysReAllocString
push 0xa
mov ecx, esi
call fcn.10025df0
cmp eax, 0x7fffffff
je 0x10024642
mov eax, dword [esi + 0x4c]
mov ebx, dword [esi + 0x44]
cmp eax, 0x2c
je 0x10024598
mov edi, ebx
jmp 0x100245c6
mov ecx, esi
call fcn.10027760
mov eax, dword [esi + 0x4c]
cmp eax, 0x7d
je 0x100245cb
push SysReAllocString
push 0xa
mov ecx, esi
call fcn.10025df0
cmp eax, 0x7fffffff
je 0x10024642
mov edi, dword [esi + 0x44]
mov eax, dword [esi + 0x4c]
cmp eax, 0x7d
jne 0x10024642
cmp edi, 0xffffffff
je 0x100245d4
cmp edi, ebx
jl 0x10024642
mov eax, dword [esi + 0x28]
mov ecx, esi
or dword [eax + 8], 4
call fcn.10027760
test dword [esi + 0x50], 0x400
je 0x100245fc
cmp dword [esi + 0x4c], 0x3f
jne 0x100245fc
mov ecx, esi
call fcn.10027760
push 0
jmp 0x100245fe
push 1
push edi
push ebx
lea ecx, [esi + 0x24]
call fcn.10024050
mov ecx, dword [esi + 0x4c]
mov dl, 1
mov eax, ecx
cmp ecx, 0xffffffff
jne 0x10024375
pop edi
pop ebx
mov al, dl
pop esi
ret
push 0xa
mov ecx, esi
call fcn.10026db0
push 5
mov ecx, esi
call fcn.10026db0
push 4
mov ecx, esi
call fcn.10026db0
push 6
mov ecx, esi
call fcn.10026db0
push 7
mov ecx, esi
call fcn.10026db0
int3