Function at 0x40c480
Capabilities:
Parse credit card information
Parse pe header

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
or eax, 0xffffffff
xor edx, edx
mov word [ebp - 0x10], ax
push ebx
mov word [ebp - 0xc], dx
xor ecx, ecx
mov eax, 0x65
xor ebx, ebx
mov dword [ebp - 0x20], eax
mov edx, 2
mul edx
seto cl
push esi
push edi
mov dword [ebp - 0x24], ebx
neg ecx
or ecx, eax
push ecx
call fcn.00413649
add esp, 4
xor ecx, ecx
push 4
mov dword [ebp - 0x28], eax
mov word [eax], cx
call fcn.00413649
add esp, 4
test eax, eax
je 0x42cbad
mov dword [eax], 1
mov dword [ebp - 0x1c], eax
mov edx, dword [ebp + 0x10]
cmp dword [edx + 8], ebx
jbe 0x40c51a
xor edi, edi
mov eax, edx
jmp 0x40c4f0
mov ecx, dword [eax + 4]
mov esi, dword [ecx + edi*4]
test esi, esi
je 0x40c514
movzx eax, word [esi + 8]
cmp ax, 0x3f
jle 0x40c5d5
push esi
call fcn.00411c3e
mov eax, dword [ebp + 0x10]
add esp, 4
inc edi
cmp edi, dword [eax + 8]
jb 0x40c4f0
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
mov dword [edx + 8], ebx
cmp word [eax], bx
je 0x40c73e
lea esp, [esp]
mov ecx, dword [ebp + 0xc]
movzx eax, word [ecx + ebx*2]
cmp eax, 0x20
je 0x40c62a
cmp eax, 9
je 0x40c62a
movzx eax, word [ecx + ebx*2]
test ax, ax
je 0x40c72a
mov esi, eax
mov dword [ebp - 8], ebx
mov word [ebp - 0xe], bx
cmp esi, 0x30
jae 0x40c630
cmp esi, 0x2e
je 0x40c639
cmp esi, 0x41
jae 0x40c7c0
cmp esi, 0x61
jae 0x40ca23
cmp esi, 0x5f
je 0x40c7c9
mov eax, esi
cmp eax, 0x24
je 0x40c784
cmp eax, 0x3d
je 0x40c801
cmp eax, 0x28
je 0x40c83f
cmp eax, 0x29
je 0x40c822
cmp eax, 0x22
je case.0x40c5ce.39
sub eax, 0x1a
cmp eax, 0x44
ja case.0x40c5ce.27
movzx ecx, byte [eax + 0x40cac4]
jmp dword [ecx*4 + 0x40ca80]
cmp ax, 0x30
jl 0x40c508
mov ecx, dword [esi]
test ecx, ecx
je 0x40c508
mov eax, dword [ecx + 0xc]
dec dword [eax]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 8], ecx
cmp dword [edx], ebx
je 0x42cbb5
mov ecx, dword [ebp - 8]
push ecx
call fcn.00411c3e
add esp, 4
jmp 0x40c508
mov edi, 0x40
lea esi, [ebp - 0x18]
call fcn.0040cc20
mov edi, dword [ebp + 0x10]
mov eax, esi
call fcn.0040cb10
inc ebx
jmp 0x40c71c
inc ebx
jmp 0x40c533
cmp esi, 0x39
ja 0x40c568
mov eax, dword [ebp + 0x10]
mov ebx, dword [eax + 8]
test ebx, ebx
je 0x42cbd7
mov ecx, dword [eax + 4]
mov edx, dword [ecx + ebx*4 - 4]
movzx edi, word [edx + 8]
push edi
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x18]
push ecx
mov ecx, dword [ebp + 0xc]
lea eax, [ebp - 8]
call fcn.0040c040
cmp al, 1
jne 0x42cc17
cmp di, 0x4a
je 0x42cbe1
mov edi, dword [ebp + 0x10]
lea eax, [ebp - 0x18]
call fcn.0040cb10
mov ebx, dword [ebp - 8]
jmp 0x40c71c
cmp ax, 0x30
jae 0x40c918
cmp ax, 0x5f
je 0x40c7b4
cmp dword [ebp - 0x24], 0
je 0x42ce97
lea eax, [ebp - 0x28]
call fcn.0040cc90
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x28]
push ecx
push edx
call dword [sym.imp.USER32.dll_CharUpperBuffW]
mov edi, 0x33
lea esi, [ebp - 0x18]
call fcn.0040cc20
mov eax, dword [ebp - 0x10]
add eax, 0xffffffd0
cmp ax, 0xf
ja 0x40c6e3
mov eax, dword [ebp - 0x18]
test eax, eax
jne 0x42cde5
push 0x10
call fcn.00413649
add esp, 4
test eax, eax
je 0x42cdf0
mov edx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x1c]
mov dword [eax], edx
mov edx, dword [ebp - 0x24]
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x20]
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
inc dword [ecx]
mov dword [ebp - 0x18], eax
mov edi, dword [ebp + 0x10]
lea eax, [ebp - 0x18]
call fcn.0040cb10
mov eax, dword [ebp + 0xc]
cmp word [eax + ebx*2], 0
jne 0x40c530
mov ax, word [ebp - 0x10]
cmp ax, 0x30
jl 0x40c73e
cmp ax, 0x3f
jle 0x40c948
mov edi, dword [ebp + 0x10]
mov ecx, 0x7f
lea eax, [ebp - 0x18]
mov word [ebp - 0x10], cx
mov dword [ebp - 0x18], 0
mov word [ebp - 0xe], bx
call fcn.0040cb10
mov esi, dword [ebp - 0x1c]
dec dword [esi]
jne 0x40c779
mov edx, dword [ebp - 0x28]
push edx
call fcn.0041351c
add esp, 4
push esi
call fcn.00411c3e
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
lea esi, [ebp - 0x28]
inc ebx
call fcn.0040bfd0
mov esi, dword [ebp + 0xc]
movzx eax, word [esi + ebx*2]
cmp ax, 0x5a
ja 0x40c7a0
cmp ax, 0x41
jae 0x40c7b4
cmp ax, 0x61
jb 0x40c68b
cmp ax, 0x7a
ja 0x40c68b
push eax
lea eax, [ebp - 0x28]
call fcn.0040c3d0
inc ebx
jmp 0x40c790
cmp esi, 0x5a
ja 0x40c57a
lea ecx, [ebp - 0x28]
push ecx
mov ecx, dword [ebp + 0xc]
lea edx, [ebp - 0x18]
push edx
lea eax, [ebp - 8]
push eax
push ecx
call fcn.0040c1e0
cmp dword [ebp - 0x18], 0xffffffff
je 0x42cc99
mov edi, dword [ebp + 0x10]
lea eax, [ebp - 0x18]
call fcn.0040cb10
mov ebx, dword [ebp - 8]
xor eax, eax
mov word [ebp - 0xc], ax
jmp 0x40c71c
mov eax, dword [ebp + 0xc]
inc ebx
cmp word [eax + ebx*2], 0x3d
lea esi, [ebp - 0x18]
je 0x42cdd5
mov edi, 0x41
call fcn.0040cc20
jmp 0x40c711
mov edi, 0x48
lea esi, [ebp - 0x18]
call fcn.0040cc20
mov edi, dword [ebp + 0x10]
mov eax, esi
call fcn.0040cb10
inc ebx
jmp 0x40c71c
mov edi, 0x47
lea esi, [ebp - 0x18]
call fcn.0040cc20
mov edi, dword [ebp + 0x10]
mov eax, esi
call fcn.0040cb10
inc ebx
jmp 0x40c71c
mov edx, dword [ebp + 8]
mov ebx, dword [ebp + 0xc]
lea ecx, [ebp - 0x28]
push ecx
push edx
lea edi, [ebp - 8]
call fcn.0040c410
lea esi, [ebp - 0x18]
test eax, eax
jne 0x42ce3c
lea edi, [eax + 0x36]
call fcn.0040cc20
lea esi, [ebp - 0x28]
lea edi, [ebp - 0x18]
call fcn.0040d380
mov eax, edi
mov edi, dword [ebp + 0x10]
call fcn.0040cb10
mov ebx, dword [ebp - 8]
jmp 0x40c71c
mov edi, 0x4d
lea esi, [ebp - 0x18]
call fcn.0040cc20
mov edx, dword [ebp + 0xc]
inc ebx
cmp word [edx + ebx*2], 0x3d
jne 0x40c711
mov edi, 0x56
inc ebx
call fcn.0040cc20
jmp 0x40c711
mov edi, 0x49
lea esi, [ebp - 0x18]
call fcn.0040cc20
mov ecx, dword [ebp + 0xc]
inc ebx
cmp word [ecx + ebx*2], 0x3d
jne 0x40c711
mov edi, 0x52
inc ebx
call fcn.0040cc20
jmp 0x40c711
mov edi, 0x4c
lea esi, [ebp - 0x18]
call fcn.0040cc20
mov ecx, dword [ebp + 0xc]
inc ebx
cmp word [ecx + ebx*2], 0x3d
jne 0x40c711
jmp 0x42cd2a
cmp ax, 0x39
jbe 0x40c7b4
jmp 0x40c695
mov edi, 0x4b
lea esi, [ebp - 0x18]
call fcn.0040cc20
mov eax, dword [ebp + 0xc]
inc ebx
cmp word [eax + ebx*2], 0x3d
jne 0x40c711
jmp 0x42ccfa
mov esi, dword [ebp - 0x18]
test esi, esi
je 0x40c73e
mov ecx, esi
call fcn.00402610
push esi
call fcn.00411c3e
add esp, 4
jmp 0x40c73e
mov edi, 0x4e
lea esi, [ebp - 0x18]
call fcn.0040cc20
mov edi, dword [ebp + 0x10]
mov eax, esi
call fcn.0040cb10
inc ebx
jmp 0x40c71c
mov edi, 0x4f
lea esi, [ebp - 0x18]
call fcn.0040cc20
mov edi, dword [ebp + 0x10]
mov eax, esi
call fcn.0040cb10
inc ebx
jmp 0x40c71c
lea esi, [ebp - 0x28]
inc ebx
call fcn.0040bfd0
mov esi, dword [ebp + 0xc]
movzx eax, word [esi + ebx*2]
cmp ax, 0x5a
ja 0x40c9be
cmp ax, 0x41
jae 0x40c9ca
cmp ax, 0x61
jb 0x40c9d6
cmp ax, 0x7a
ja 0x40c9d6
push eax
lea eax, [ebp - 0x28]
call fcn.0040c3d0
inc ebx
jmp 0x40c9ae
cmp ax, 0x30
jae 0x42ccbf
cmp ax, 0x5f
je 0x40c9ca
cmp dword [ebp - 0x24], 0
je 0x42ce27
lea eax, [ebp - 0x28]
call fcn.0040cc90
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
push edx
push eax
call dword [sym.imp.USER32.dll_CharUpperBuffW]
mov edi, 0x32
lea esi, [ebp - 0x18]
call fcn.0040cc20
lea esi, [ebp - 0x28]
lea edi, [ebp - 0x18]
call fcn.0040d380
jmp 0x40c711
cmp esi, 0x7a
jbe 0x40c7c9
jmp 0x40c583
mov eax, dword [ebp + 0xc]
movzx eax, word [eax + ebx*2 + 2]
inc ebx
sub eax, 0x3d
lea esi, [ebp - 0x18]
je 0x42cd4d
dec eax
je 0x42cd3d
mov edi, 0x43
call fcn.0040cc20
jmp 0x40c711
mov ecx, dword [ebp + 0xc]
inc ebx
cmp word [ecx + ebx*2], 0x3d
lea esi, [ebp - 0x18]
je 0x42cd5d
mov edi, 0x42
call fcn.0040cc20
jmp 0x40c711
mov dword [ebp - 0x1c], ebx
jmp 0x40c4df
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
push ecx
call fcn.0041351c
mov edx, dword [ebp - 8]
mov eax, dword [edx + 0xc]
add esp, 4
push eax
call fcn.00411c3e
add esp, 4
jmp 0x40c5fc
mov edi, 0x40
jmp 0x40c652
cmp word [ebp - 0x10], 5
jne 0x40c678
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
neg eax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 4]
adc edx, 0
neg edx
mov dword [ebp - 0x14], edx
mov edx, dword [ecx + ebx*4 - 4]
mov eax, 0x49
mov word [edx + 8], ax
jmp 0x40c678
mov ebx, dword [ebp - 8]
cmp esi, 0x2e
jne 0x40c571
lea esi, [ebp - 0x28]
inc ebx
call fcn.0040bfd0
mov esi, dword [ebp + 0xc]
movzx eax, word [esi + ebx*2]
cmp ax, 0x41
jb 0x42cc47
cmp ax, 0x5a
jbe 0x42cc8d
cmp ax, 0x61
jb 0x42cc5b
cmp ax, 0x7a
jbe 0x42cc8d
cmp ax, 0x30
jb 0x42cc6f
cmp ax, 0x39
jbe 0x42cc8d
cmp ax, 0x5f
je 0x42cc8d
cmp dword [ebp - 0x24], 0
je 0x42cdfc
mov edi, 0x35
jmp 0x40ca0b
push eax
lea eax, [ebp - 0x28]
call fcn.0040c3d0
inc ebx
jmp 0x42cc2f
mov edi, 0x33
lea esi, [ebp - 0x18]
call fcn.0040cc20
lea esi, [ebp - 0x28]
lea edi, [ebp - 0x18]
call fcn.0040d380
mov edx, 1
mov word [ebp - 0xc], dx
jmp 0x40c7e8
cmp ax, 0x39
jbe 0x40c9ca
jmp 0x40c9e0
mov edi, 0x4a
lea esi, [ebp - 0x18]
call fcn.0040cc20
mov edx, dword [ebp + 0xc]
inc ebx
cmp word [edx + ebx*2], 0x3d
jne 0x40c711
mov edi, 0x53
inc ebx
call fcn.0040cc20
jmp 0x40c711
mov edi, 0x54
lea esi, [ebp - 0x18]
inc ebx
call fcn.0040cc20
jmp 0x40c711
mov edi, 0x51
lea esi, [ebp - 0x18]
call fcn.0040cc20
mov edi, dword [ebp + 0x10]
mov eax, esi
call fcn.0040cb10
inc ebx
jmp 0x40c71c
mov edi, 0x55
lea esi, [ebp - 0x18]
inc ebx
call fcn.0040cc20
jmp 0x40c711
mov edi, 0x44
call fcn.0040cc20
inc ebx
jmp 0x40c711
mov edi, 0x46
call fcn.0040cc20
inc ebx
jmp 0x40c711
mov edi, 0x45
call fcn.0040cc20
inc ebx
jmp 0x40c711
mov edi, 0x57
lea esi, [ebp - 0x18]
call fcn.0040cc20
mov edi, dword [ebp + 0x10]
mov eax, esi
call fcn.0040cb10
inc ebx
jmp 0x40c71c
mov edi, 0x58
lea esi, [ebp - 0x18]
call fcn.0040cc20
mov edi, dword [ebp + 0x10]
mov eax, esi
call fcn.0040cb10
inc ebx
jmp 0x40c71c
test ebx, ebx
jne case.0x40c5ce.27
mov edx, dword [ebp + 0xc]
cmp word [edx + 2], bx
jne case.0x40c5ce.27
mov eax, dword [ebp + 8]
cmp eax, dword [0x4bd2f0]
jl case.0x40c5ce.27
mov ebx, 1
jmp 0x40c71c
mov edi, 0x50
call fcn.0040cc20
inc ebx
jmp 0x40c711
push eax
call fcn.00448ee1
jmp 0x40c6e3
mov dword [ebp - 0x18], 0
jmp 0x40c711
mov ecx, dword [ebp + 8]
dec ebx
push ebx
push 0x138b
push ecx
call fcn.00469e09
lea ecx, [ebp - 0x28]
call fcn.00402610
lea edx, [ebp - 0x18]
push edx
call fcn.0045135f
mov eax, 1
jmp 0x40c77b
mov eax, dword [ebp + 8]
dec ebx
push ebx
push 0x138b
push eax
call fcn.00469e09
jmp 0x42ce51
mov edi, 0x7f
call fcn.0040cc20
mov edi, dword [ebp + 0x10]
lea eax, [ebp - 0x18]
call fcn.0040cb10
lea ecx, [ebp - 0x28]
call fcn.00402610
lea ecx, [ebp - 0x18]
push ecx
call fcn.0045135f
mov eax, 1
jmp 0x40c77b
mov edx, dword [ebp + 8]
push ebx
push 0x1388
push edx
call fcn.00469e09
mov edi, 0x7f
lea esi, [ebp - 0x18]
call fcn.0040cc20
mov edi, dword [ebp + 0x10]
mov eax, esi
call fcn.0040cb10
jmp 0x42cea7
mov edx, dword [ebp + 8]
dec ebx
push ebx
push 0x138b
push edx
call fcn.00469e09
lea ecx, [ebp - 0x28]
call fcn.00402610
lea eax, [ebp - 0x18]
push eax
call fcn.0045135f
mov eax, 1
jmp 0x40c77b