Function at 0x41de40
Capabilities:
Parse credit card information

Disassembly:
push ebx
push esi
mov esi, ecx
xor cl, cl
push edi
mov eax, dword [esi + 0x54]
cmp eax, 0xffffffff
je 0x41e2a7
lea edi, [esi + 8]
cmp eax, 0x7c
je 0x41e2a7
cmp eax, 0x29
jne 0x41de80
cmp dword [esi + 0x10], 0
jne 0x41e2a7
test dword [esi + 0x58], 0x10000000
je 0x41e2b4
jmp 0x41e240
cmp eax, 0x2e
jne 0x41ded3
push 5
lea ecx, [esi + 0x2c]
call fcn.0041e2d0
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x41e288
cmp byte [eax], 0x5c
jne 0x41e08f
lea ecx, [eax + 1]
cmp ecx, edx
je 0x41e08f
mov ebx, dword [esi + 0x58]
test bl, 8
jne 0x41decb
mov dl, byte [ecx]
cmp dl, 0x28
je 0x41e08d
cmp dl, 0x29
je 0x41e08d
test bl, 0x10
jmp 0x41e07f
cmp eax, 0x5c
jne 0x41dff1
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x41df1a
cmp byte [eax], 0x5c
jne 0x41df17
lea ecx, [eax + 1]
cmp ecx, edx
je 0x41df17
mov ebx, dword [esi + 0x58]
test bl, 8
jne 0x41df04
mov dl, byte [ecx]
cmp dl, 0x28
je 0x41df15
cmp dl, 0x29
je 0x41df15
test bl, 0x10
jne 0x41df17
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x41df15
cmp dl, 0x7d
jne 0x41df17
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0041b7d0
test byte [esi + 0x58], 0x80
je 0x41dfe5
mov al, byte [esi + 0x50]
cmp al, 0x62
jne 0x41df86
push 4
lea ecx, [esi + 0x2c]
call fcn.0041e2d0
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x41df7a
cmp byte [eax], 0x5c
jne 0x41df77
lea ecx, [eax + 1]
cmp ecx, edx
je 0x41df77
mov ebx, dword [esi + 0x58]
test bl, 8
jne 0x41df64
mov dl, byte [ecx]
cmp dl, 0x28
je 0x41df75
cmp dl, 0x29
je 0x41df75
test bl, 0x10
jne 0x41df77
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x41df75
cmp dl, 0x7d
jne 0x41df77
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0041b7d0
jmp 0x41e299
cmp al, 0x42
jne 0x41dfe5
push 4
lea ecx, [esi + 0x2c]
call fcn.0041e2d0
mov eax, dword [esi + 0x30]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x41dfd9
cmp byte [eax], 0x5c
jne 0x41dfd6
lea ecx, [eax + 1]
cmp ecx, edx
je 0x41dfd6
mov edx, dword [esi + 0x58]
test dl, 8
jne 0x41dfc3
mov al, byte [ecx]
cmp al, 0x28
je 0x41dfd4
cmp al, 0x29
je 0x41dfd4
mov eax, dword [esi]
test dl, 0x10
jne 0x41dfd6
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x41dfd4
cmp dl, 0x7d
jne 0x41dfd6
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0041b7d0
jmp 0x41e299
mov ecx, esi
call fcn.0041f980
jmp 0x41e28f
cmp eax, 0x5b
jne 0x41e097
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x41e038
cmp byte [eax], 0x5c
jne 0x41e035
lea ecx, [eax + 1]
cmp ecx, edx
je 0x41e035
mov edx, dword [esi + 0x58]
test dl, 8
jne 0x41e022
mov al, byte [ecx]
cmp al, 0x28
je 0x41e033
cmp al, 0x29
je 0x41e033
mov eax, dword [esi]
test dl, 0x10
jne 0x41e035
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x41e033
cmp dl, 0x7d
jne 0x41e035
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0041b7d0
mov ecx, esi
call fcn.0041f850
cmp dword [esi + 0x54], 0x5d
jne 0x41e2c2
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x41e288
cmp byte [eax], 0x5c
jne 0x41e08f
lea ecx, [eax + 1]
cmp ecx, edx
je 0x41e08f
mov edx, dword [esi + 0x58]
test dl, 8
jne 0x41e07c
mov al, byte [ecx]
cmp al, 0x28
je 0x41e08d
cmp al, 0x29
je 0x41e08d
mov eax, dword [esi]
test dl, 0x10
jne 0x41e08f
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x41e08d
cmp dl, 0x7d
jne 0x41e08f
mov eax, ecx
inc eax
mov dword [esi], eax
jmp 0x41e288
cmp eax, 0x28
jne 0x41e14a
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x41e0de
cmp byte [eax], 0x5c
jne 0x41e0db
lea ecx, [eax + 1]
cmp ecx, edx
je 0x41e0db
mov edx, dword [esi + 0x58]
test dl, 8
jne 0x41e0c8
mov al, byte [ecx]
cmp al, 0x28
je 0x41e0d9
cmp al, 0x29
je 0x41e0d9
mov eax, dword [esi]
test dl, 0x10
jne 0x41e0db
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x41e0d9
cmp dl, 0x7d
jne 0x41e0db
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0041b7d0
mov ecx, esi
call fcn.0041fb20
cmp dword [esi + 0x54], 0x29
mov bl, al
jne 0x41e2b4
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x41e136
cmp byte [eax], 0x5c
jne 0x41e133
lea ecx, [eax + 1]
cmp ecx, edx
je 0x41e133
mov edx, dword [esi + 0x58]
test dl, 8
jne 0x41e120
mov al, byte [ecx]
cmp al, 0x28
je 0x41e131
cmp al, 0x29
je 0x41e131
mov eax, dword [esi]
test dl, 0x10
jne 0x41e133
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x41e131
cmp dl, 0x7d
jne 0x41e133
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0041b7d0
test bl, bl
je 0x41e299
jmp 0x41e28f
cmp eax, 0x5e
jne 0x41e1a0
push 2
lea ecx, [esi + 0x2c]
call fcn.0041e2d0
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x41e194
cmp byte [eax], 0x5c
jne 0x41e192
inc eax
cmp eax, ecx
je 0x41e192
mov ecx, dword [esi + 0x58]
test cl, 8
jne 0x41e17f
mov dl, byte [eax]
cmp dl, 0x28
je 0x41e190
cmp dl, 0x29
je 0x41e190
test cl, 0x10
jne 0x41e192
mov cl, byte [eax]
cmp cl, 0x7b
je 0x41e190
cmp cl, 0x7d
jne 0x41e192
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.0041b7d0
jmp 0x41e299
cmp eax, 0x24
jne 0x41e1f6
push 3
lea ecx, [esi + 0x2c]
call fcn.0041e2d0
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x41e1ea
cmp byte [eax], 0x5c
jne 0x41e1e8
inc eax
cmp eax, ecx
je 0x41e1e8
mov ecx, dword [esi + 0x58]
test cl, 8
jne 0x41e1d5
mov dl, byte [eax]
cmp dl, 0x28
je 0x41e1e6
cmp dl, 0x29
je 0x41e1e6
test cl, 0x10
jne 0x41e1e8
mov cl, byte [eax]
cmp cl, 0x7b
je 0x41e1e6
cmp cl, 0x7d
jne 0x41e1e8
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.0041b7d0
jmp 0x41e299
cmp eax, 0x2a
je 0x41e2ad
cmp eax, 0x2b
je 0x41e2ad
cmp eax, 0x3f
je 0x41e2ad
cmp eax, 0x7b
je 0x41e2ad
cmp eax, 0x7d
jne 0x41e22e
test dword [esi + 0x58], 0x10000000
je 0x41e2bb
jmp 0x41e240
cmp eax, 0x5d
jne 0x41e240
test dword [esi + 0x58], 0x10000000
je 0x41e2c2
movzx eax, byte [esi + 0x50]
lea ecx, [esi + 0x2c]
push eax
call fcn.0041feb0
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x41e288
cmp byte [eax], 0x5c
jne 0x41e286
inc eax
cmp eax, ecx
je 0x41e286
mov ecx, dword [esi + 0x58]
test cl, 8
jne 0x41e273
mov dl, byte [eax]
cmp dl, 0x28
je 0x41e284
cmp dl, 0x29
je 0x41e284
test cl, 0x10
jne 0x41e286
mov cl, byte [eax]
cmp cl, 0x7b
je 0x41e284
cmp cl, 0x7d
jne 0x41e286
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.0041b7d0
mov ecx, esi
call fcn.0041fc80
lea edi, [esi + 8]
mov eax, dword [esi + 0x54]
mov cl, 1
cmp eax, 0xffffffff
jne 0x41de56
pop edi
pop esi
mov al, cl
pop ebx
ret
push 0xa
call fcn.0041b7c0
push 5
call fcn.0041b7c0
push 6
call fcn.0041b7c0
push 4
call fcn.0041b7c0
int3