Function at 0x57fd30
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x606a60
mov eax, dword fs:[0]
push eax
sub esp, 0x18
push ebx
push esi
mov eax, dword [0x69001c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov eax, dword [esi + 0x4c]
xor cl, cl
cmp eax, 0xffffffff
je 0x57fe0d
cmp eax, 0x7c
je 0x57fe0d
cmp eax, 0x29
jne 0x57fe20
cmp dword [esi + 0x10], 0
jne 0x57fe0d
test dword [esi + 0x50], 0x10000000
je 0x580260
cmp eax, 0x5d
jne 0x57fda2
test dword [esi + 0x50], 0x10000000
je 0x580252
movzx eax, word [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.00581c30
mov ecx, dword [esi + 8]
mov eax, dword [esi]
cmp eax, ecx
je 0x57fdf1
cmp word [eax], 0x5c
jne 0x57fdee
add eax, 2
cmp eax, ecx
je 0x57fdee
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x57fdda
movzx edx, word [eax]
cmp edx, 0x28
je 0x57fdec
cmp edx, 0x29
je 0x57fdec
test cl, 0x10
jne 0x57fdee
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x57fdec
cmp ecx, 0x7d
jne 0x57fdee
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.0057e750
mov ecx, esi
call fcn.005819f0
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x57fd67
mov al, cl
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp eax, 0x2e
jne 0x57fe8e
push 0x14
call fcn.005904a9
mov ecx, eax
add esp, 4
mov dword [ebp - 0x10], ecx
mov dword [ebp - 4], 0
mov dword [ecx], 0x636168
mov dword [ecx + 4], 5
mov dword [ecx + 8], 0
mov dword [ecx + 0xc], 0
mov dword [ecx + 0x10], 0
mov dword [ebp - 4], 0xffffffff
mov eax, dword [esi + 0x28]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x28]
mov edx, dword [eax + 0xc]
test edx, edx
je 0x57fe83
mov dword [ecx + 0xc], edx
mov eax, dword [esi + 0x28]
mov eax, dword [eax + 0xc]
mov dword [eax + 0x10], ecx
mov eax, dword [esi + 0x28]
mov dword [eax + 0xc], ecx
mov dword [esi + 0x28], ecx
jmp 0x57fdaf
cmp eax, 0x5c
jne 0x580022
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x57fed9
cmp word [eax], 0x5c
jne 0x57fed6
add eax, 2
cmp eax, ecx
je 0x57fed6
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x57fec2
movzx edx, word [eax]
cmp edx, 0x28
je 0x57fed4
cmp edx, 0x29
je 0x57fed4
test cl, 0x10
jne 0x57fed6
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x57fed4
cmp ecx, 0x7d
jne 0x57fed6
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.0057e750
test byte [esi + 0x50], 0x80
je 0x580016
cmp word [esi + 0x48], 0x62
jne 0x57ffa0
push 0x14
call fcn.005904a9
mov ecx, eax
add esp, 4
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 1
mov dword [ecx], 0x636168
mov dword [ecx + 4], 4
mov dword [ecx + 8], 0
mov dword [ecx + 0xc], 0
mov dword [ecx + 0x10], 0
mov dword [ebp - 4], 0xffffffff
mov eax, dword [esi + 0x28]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x28]
mov edx, dword [eax + 0xc]
test edx, edx
je 0x57ff53
mov dword [ecx + 0xc], edx
mov eax, dword [esi + 0x28]
mov eax, dword [eax + 0xc]
mov dword [eax + 0x10], ecx
mov eax, dword [esi + 0x28]
mov dword [eax + 0xc], ecx
mov dword [esi + 0x28], ecx
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x580214
cmp word [eax], 0x5c
jne 0x580211
add eax, 2
cmp eax, ecx
je 0x580211
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x57ff98
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x58020f
cmp ecx, 0x29
je 0x58020f
test dl, 0x10
jmp 0x580200
cmp word [esi + 0x48], 0x42
jne 0x580016
push 0x14
call fcn.005904a9
mov ecx, eax
add esp, 4
mov dword [ebp - 0x18], ecx
mov dword [ebp - 4], 2
mov dword [ecx], 0x636168
mov dword [ecx + 4], 4
mov dword [ecx + 8], 0
mov dword [ecx + 0xc], 0
mov dword [ecx + 0x10], 0
mov dword [ebp - 4], 0xffffffff
mov eax, dword [esi + 0x28]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x28]
mov edx, dword [eax + 0xc]
test edx, edx
je 0x580005
mov dword [ecx + 0xc], edx
mov eax, dword [esi + 0x28]
mov eax, dword [eax + 0xc]
mov dword [eax + 0x10], ecx
mov eax, dword [esi + 0x28]
mov dword [eax + 0xc], ecx
mov eax, ecx
mov dword [esi + 0x28], ecx
xor dword [eax + 8], 1
jmp 0x57ff59
mov ecx, esi
call fcn.005816e0
jmp 0x57fdf8
cmp eax, 0x5b
jne 0x580086
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x580069
cmp word [eax], 0x5c
jne 0x580066
add eax, 2
cmp eax, ecx
je 0x580066
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x580052
movzx edx, word [eax]
cmp edx, 0x28
je 0x580064
cmp edx, 0x29
je 0x580064
test cl, 0x10
jne 0x580066
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x580064
cmp ecx, 0x7d
jne 0x580066
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.0057e750
mov ecx, esi
call fcn.00581600
cmp dword [esi + 0x4c], 0x5d
jne 0x580252
jmp 0x57fdaf
cmp eax, 0x28
jne 0x580141
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x5800d1
cmp word [eax], 0x5c
jne 0x5800ce
add eax, 2
cmp eax, ecx
je 0x5800ce
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x5800ba
movzx edx, word [eax]
cmp edx, 0x28
je 0x5800cc
cmp edx, 0x29
je 0x5800cc
test cl, 0x10
jne 0x5800ce
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x5800cc
cmp ecx, 0x7d
jne 0x5800ce
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.0057e750
mov ecx, esi
call fcn.00581870
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x580260
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x58012d
cmp word [eax], 0x5c
jne 0x58012a
add eax, 2
cmp eax, ecx
je 0x58012a
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x580116
movzx edx, word [eax]
cmp edx, 0x28
je 0x580128
cmp edx, 0x29
je 0x580128
test cl, 0x10
jne 0x58012a
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x580128
cmp ecx, 0x7d
jne 0x58012a
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.0057e750
test bl, bl
je 0x57fdff
jmp 0x57fdf8
cmp eax, 0x5e
jne 0x580165
push 0x14
call fcn.005904a9
mov ecx, eax
add esp, 4
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 4], 3
mov dword [ecx + 4], 2
jmp 0x58018b
cmp eax, 0x24
jne 0x580220
push 0x14
call fcn.005904a9
mov ecx, eax
add esp, 4
mov dword [ebp - 0x20], ecx
mov dword [ebp - 4], 4
mov dword [ecx + 4], 3
mov dword [ecx], 0x636168
mov dword [ecx + 8], 0
mov dword [ecx + 0xc], 0
mov dword [ecx + 0x10], 0
mov dword [ebp - 4], 0xffffffff
mov eax, dword [esi + 0x28]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x28]
mov edx, dword [eax + 0xc]
test edx, edx
je 0x5801cc
mov dword [ecx + 0xc], edx
mov eax, dword [esi + 0x28]
mov eax, dword [eax + 0xc]
mov dword [eax + 0x10], ecx
mov eax, dword [esi + 0x28]
mov dword [eax + 0xc], ecx
mov dword [esi + 0x28], ecx
mov ecx, dword [esi + 8]
mov eax, dword [esi]
cmp eax, ecx
je 0x580214
cmp word [eax], 0x5c
jne 0x580211
add eax, 2
cmp eax, ecx
je 0x580211
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x5801fd
movzx edx, word [eax]
cmp edx, 0x28
je 0x58020f
cmp edx, 0x29
je 0x58020f
test cl, 0x10
jne 0x580211
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x58020f
cmp ecx, 0x7d
jne 0x580211
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.0057e750
jmp 0x57fdff
cmp eax, 0x2a
je 0x58024b
cmp eax, 0x2b
je 0x58024b
cmp eax, 0x3f
je 0x58024b
cmp eax, 0x7b
je 0x58024b
cmp eax, 0x7d
jne 0x57fd90
test dword [esi + 0x50], 0x10000000
je 0x580259
jmp 0x57fda2
push 0xa
call fcn.0057e740
push 4
call fcn.0057e740
push 6
call fcn.0057e740
push 5
call fcn.0057e740
int3