Function at 0x413e10
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4c3ba0
mov eax, dword fs:[0]
push eax
sub esp, 0x18
push ebx
push esi
mov eax, dword [0x50d024]
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 0x413eed
cmp eax, 0x7c
je 0x413eed
cmp eax, 0x29
jne 0x413f00
cmp dword [esi + 0x10], 0
jne 0x413eed
test dword [esi + 0x50], 0x10000000
je 0x414340
cmp eax, 0x5d
jne 0x413e82
test dword [esi + 0x50], 0x10000000
je 0x414332
movzx eax, word [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.00414b10
mov ecx, dword [esi + 8]
mov eax, dword [esi]
cmp eax, ecx
je 0x413ed1
cmp word [eax], 0x5c
jne 0x413ece
add eax, 2
cmp eax, ecx
je 0x413ece
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x413eba
movzx edx, word [eax]
cmp edx, 0x28
je 0x413ecc
cmp edx, 0x29
je 0x413ecc
test cl, 0x10
jne 0x413ece
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x413ecc
cmp ecx, 0x7d
jne 0x413ece
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.00413720
mov ecx, esi
call fcn.004148d0
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x413e47
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 0x413f6e
push 0x14
call fcn.0049905d
mov ecx, eax
add esp, 4
mov dword [ebp - 0x10], ecx
mov dword [ebp - 4], 0
mov dword [ecx], 0x4e83d4
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 0x413f63
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 0x413e8f
cmp eax, 0x5c
jne 0x414102
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x413fb9
cmp word [eax], 0x5c
jne 0x413fb6
add eax, 2
cmp eax, ecx
je 0x413fb6
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x413fa2
movzx edx, word [eax]
cmp edx, 0x28
je 0x413fb4
cmp edx, 0x29
je 0x413fb4
test cl, 0x10
jne 0x413fb6
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x413fb4
cmp ecx, 0x7d
jne 0x413fb6
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.00413720
test byte [esi + 0x50], 0x80
je 0x4140f6
cmp word [esi + 0x48], 0x62
jne 0x414080
push 0x14
call fcn.0049905d
mov ecx, eax
add esp, 4
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 1
mov dword [ecx], 0x4e83d4
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 0x414033
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 0x4142f4
cmp word [eax], 0x5c
jne 0x4142f1
add eax, 2
cmp eax, ecx
je 0x4142f1
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x414078
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x4142ef
cmp ecx, 0x29
je 0x4142ef
test dl, 0x10
jmp 0x4142e0
cmp word [esi + 0x48], 0x42
jne 0x4140f6
push 0x14
call fcn.0049905d
mov ecx, eax
add esp, 4
mov dword [ebp - 0x18], ecx
mov dword [ebp - 4], 2
mov dword [ecx], 0x4e83d4
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 0x4140e5
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 0x414039
mov ecx, esi
call fcn.004145c0
jmp 0x413ed8
cmp eax, 0x5b
jne 0x414166
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x414149
cmp word [eax], 0x5c
jne 0x414146
add eax, 2
cmp eax, ecx
je 0x414146
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x414132
movzx edx, word [eax]
cmp edx, 0x28
je 0x414144
cmp edx, 0x29
je 0x414144
test cl, 0x10
jne 0x414146
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x414144
cmp ecx, 0x7d
jne 0x414146
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.00413720
mov ecx, esi
call fcn.004144e0
cmp dword [esi + 0x4c], 0x5d
jne 0x414332
jmp 0x413e8f
cmp eax, 0x28
jne 0x414221
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x4141b1
cmp word [eax], 0x5c
jne 0x4141ae
add eax, 2
cmp eax, ecx
je 0x4141ae
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x41419a
movzx edx, word [eax]
cmp edx, 0x28
je 0x4141ac
cmp edx, 0x29
je 0x4141ac
test cl, 0x10
jne 0x4141ae
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x4141ac
cmp ecx, 0x7d
jne 0x4141ae
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.00413720
mov ecx, esi
call fcn.00414750
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x414340
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x41420d
cmp word [eax], 0x5c
jne 0x41420a
add eax, 2
cmp eax, ecx
je 0x41420a
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x4141f6
movzx edx, word [eax]
cmp edx, 0x28
je 0x414208
cmp edx, 0x29
je 0x414208
test cl, 0x10
jne 0x41420a
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x414208
cmp ecx, 0x7d
jne 0x41420a
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.00413720
test bl, bl
je 0x413edf
jmp 0x413ed8
cmp eax, 0x5e
jne 0x414245
push 0x14
call fcn.0049905d
mov ecx, eax
add esp, 4
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 4], 3
mov dword [ecx + 4], 2
jmp 0x41426b
cmp eax, 0x24
jne 0x414300
push 0x14
call fcn.0049905d
mov ecx, eax
add esp, 4
mov dword [ebp - 0x20], ecx
mov dword [ebp - 4], 4
mov dword [ecx + 4], 3
mov dword [ecx], 0x4e83d4
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 0x4142ac
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 0x4142f4
cmp word [eax], 0x5c
jne 0x4142f1
add eax, 2
cmp eax, ecx
je 0x4142f1
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x4142dd
movzx edx, word [eax]
cmp edx, 0x28
je 0x4142ef
cmp edx, 0x29
je 0x4142ef
test cl, 0x10
jne 0x4142f1
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x4142ef
cmp ecx, 0x7d
jne 0x4142f1
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.00413720
jmp 0x413edf
cmp eax, 0x2a
je 0x41432b
cmp eax, 0x2b
je 0x41432b
cmp eax, 0x3f
je 0x41432b
cmp eax, 0x7b
je 0x41432b
cmp eax, 0x7d
jne 0x413e70
test dword [esi + 0x50], 0x10000000
je 0x414339
jmp 0x413e82
push 0xa
call fcn.00413710
push 4
call fcn.00413710
push 6
call fcn.00413710
push 5
call fcn.00413710
int3