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

Disassembly:
mov eax, 0x2010
call fcn.00426210
mov eax, dword [esp + 0x201c]
push ebx
mov ebx, dword [esp + 0x201c]
push ebp
xor ebp, ebp
or ecx, 0xffffffff
push esi
push edi
mov word [esp + 0x18], cx
cmp dword [eax + 8], ebp
jbe 0x40ceee
xor edi, edi
lea ecx, [ecx]
mov ecx, dword [eax + 4]
mov esi, dword [ecx + edi*4]
test esi, esi
je 0x40cee8
movzx eax, word [esi + 8]
cmp ax, 0x3f
jle 0x40cfaf
push esi
call fcn.00412949
mov eax, dword [esp + 0x2030]
add esp, 4
inc edi
cmp edi, dword [eax + 8]
jb 0x40cec0
mov dword [eax + 8], ebp
cmp word [ebx], bp
je 0x40d069
lea ebx, [ebx]
movzx eax, word [ebx + ebp*2]
cmp ax, 0x20
je 0x40d007
cmp ax, 9
je 0x40d007
movzx eax, word [ebx + ebp*2]
test ax, ax
je 0x40d054
movzx esi, ax
xor edi, edi
mov dword [esp + 0x1c], ebp
mov word [esp + 0x1a], bp
cmp si, 0x30
jae 0x40d00d
cmp si, 0x2e
je 0x40d017
cmp si, 0x41
jae 0x40d137
cmp si, 0x61
jae 0x40d403
cmp si, 0x5f
je 0x40d141
movzx eax, si
cmp eax, 0x24
je 0x40d0a0
cmp eax, 0x3d
je 0x40d178
cmp eax, 0x28
je 0x40d1c9
cmp eax, 0x29
je 0x40d1a8
cmp eax, 0x22
je case.0x40cfa8.39
sub eax, 0x1a
cmp eax, 0x44
ja case.0x40cfa8.27
movzx edx, byte [eax + 0x40d4fc]
jmp dword [edx*4 + 0x40d4c0]
cmp ax, 0x30
jl 0x40ced8
mov eax, dword [esi]
test eax, eax
je 0x40ced8
mov ecx, dword [eax + 0xc]
dec dword [ecx]
mov edx, dword [eax + 0xc]
mov dword [esp + 0x1c], eax
cmp dword [edx], ebp
je 0x42ac6c
mov ecx, dword [esp + 0x1c]
push ecx
call fcn.00412949
add esp, 4
jmp 0x40ced8
mov edi, 0x40
lea esi, [esp + 0x10]
call fcn.0040d550
mov edi, dword [esp + 0x202c]
push esi
call fcn.0040cd80
inc ebp
jmp 0x40d049
inc ebp
jmp 0x40cf00
cmp si, 0x39
ja 0x40cf3d
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x24]
mov eax, ebx
call fcn.0040d5c0
cmp al, 1
jne 0x42ac8d
mov edi, dword [esp + 0x202c]
lea ecx, [esp + 0x10]
push ecx
call fcn.0040cd80
mov ebp, dword [esp + 0x1c]
cmp word [ebx + ebp*2], 0
jne 0x40cf00
mov ax, word [esp + 0x18]
cmp ax, 0x30
jl 0x40d069
cmp ax, 0x3f
jle 0x40d305
mov edi, dword [esp + 0x202c]
lea ecx, [esp + 0x10]
mov eax, 0x7f
push ecx
mov word [esp + 0x1c], ax
mov dword [esp + 0x14], 0
mov word [esp + 0x1e], bp
call fcn.0040cd80
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2010
ret 0xc
movzx eax, word [ebx + ebp*2 + 2]
inc ebp
cmp ax, 0x5a
ja 0x40d0b2
cmp ax, 0x41
jae 0x40d0be
cmp ax, 0x61
jb 0x40d0c6
cmp ax, 0x7a
ja 0x40d0c6
mov word [esp + edi*2 + 0x20], ax
inc edi
jmp 0x40d0a0
cmp ax, 0x30
jae 0x40d2f6
cmp ax, 0x5f
je 0x40d0be
lea ecx, [esp + 0x20]
xor eax, eax
push ecx
mov word [esp + edi*2 + 0x24], ax
call dword [sym.imp.USER32.dll_CharUpperW]
test edi, edi
je 0x42ae28
mov ax, word [esp + 0x18]
cmp ax, 0x30
jge 0x40d330
mov edx, 0x33
mov word [esp + 0x18], dx
mov dword [esp + 0x10], 0
lea edi, [esp + 0x20]
lea ebx, [esp + 0x10]
call fcn.0040cd40
mov edi, dword [esp + 0x202c]
push ebx
call fcn.0040cd80
mov ebx, dword [esp + 0x2028]
jmp 0x40d049
cmp si, 0x5a
ja 0x40cf51
push ebx
lea ecx, [esp + 0x24]
lea edx, [esp + 0x14]
lea eax, [esp + 0x20]
call fcn.0040d770
cmp dword [esp + 0x10], 0xffffffff
je 0x42ae50
mov edi, dword [esp + 0x202c]
lea ecx, [esp + 0x10]
push ecx
call fcn.0040cd80
mov ebp, dword [esp + 0x1c]
jmp 0x40d049
inc ebp
cmp word [ebx + ebp*2], 0x3d
lea esi, [esp + 0x10]
je 0x42ae01
mov edi, 0x41
call fcn.0040d550
mov edi, dword [esp + 0x202c]
lea edx, [esp + 0x10]
push edx
call fcn.0040cd80
jmp 0x40d049
mov edi, 0x48
lea esi, [esp + 0x10]
call fcn.0040d550
mov edi, dword [esp + 0x202c]
push esi
call fcn.0040cd80
inc ebp
jmp 0x40d049
mov edi, 0x47
lea esi, [esp + 0x10]
call fcn.0040d550
mov edi, dword [esp + 0x202c]
push esi
call fcn.0040cd80
inc ebp
jmp 0x40d049
mov ecx, dword [esp + 0x2024]
lea eax, [esp + 0x20]
push eax
push ecx
lea edx, [esp + 0x24]
mov edi, ebx
call fcn.0040cc70
lea esi, [esp + 0x10]
test eax, eax
jne 0x42aede
lea edi, [eax + 0x36]
call fcn.0040d550
lea edi, [esp + 0x20]
mov ebx, esi
call fcn.0040cd40
mov edi, dword [esp + 0x202c]
push esi
call fcn.0040cd80
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x2028]
jmp 0x40d049
mov edi, 0x4d
lea esi, [esp + 0x10]
call fcn.0040d550
inc ebp
cmp word [ebx + ebp*2], 0x3d
je 0x40d412
mov edi, dword [esp + 0x202c]
push esi
call fcn.0040cd80
jmp 0x40d049
mov edi, 0x49
lea esi, [esp + 0x10]
call fcn.0040d550
inc ebp
cmp word [ebx + ebp*2], 0x3d
je 0x40d433
mov edi, dword [esp + 0x202c]
push esi
call fcn.0040cd80
jmp 0x40d049
mov edi, 0x4c
lea esi, [esp + 0x10]
call fcn.0040d550
inc ebp
cmp word [ebx + ebp*2], 0x3d
je 0x42ad8e
mov edi, dword [esp + 0x202c]
lea ecx, [esp + 0x10]
push ecx
call fcn.0040cd80
jmp 0x40d049
mov edi, 0x4b
lea esi, [esp + 0x10]
call fcn.0040d550
inc ebp
cmp word [ebx + ebp*2], 0x3d
je 0x42ad59
mov edi, dword [esp + 0x202c]
lea edx, [esp + 0x10]
push edx
call fcn.0040cd80
jmp 0x40d049
cmp ax, 0x39
jbe 0x40d0be
jmp 0x40d0d0
mov esi, dword [esp + 0x10]
test esi, esi
je 0x40d069
mov eax, dword [esi + 0xc]
dec dword [eax]
mov eax, dword [esi + 0xc]
cmp dword [eax], 0
je 0x42af0d
push esi
call fcn.00412949
add esp, 4
jmp 0x40d069
cmp ax, 0x3f
jg 0x40d0ff
jmp 0x42ae11
mov edi, 0x4e
lea esi, [esp + 0x10]
call fcn.0040d550
mov edi, dword [esp + 0x202c]
push esi
call fcn.0040cd80
inc ebp
jmp 0x40d049
mov edi, 0x4f
lea esi, [esp + 0x10]
call fcn.0040d550
mov edi, dword [esp + 0x202c]
push esi
call fcn.0040cd80
inc ebp
jmp 0x40d049
movzx eax, word [ebx + ebp*2 + 2]
inc ebp
cmp ax, 0x5a
ja 0x40d393
cmp ax, 0x41
jae 0x40d39f
cmp ax, 0x61
jb 0x40d3a7
cmp ax, 0x7a
ja 0x40d3a7
mov word [esp + edi*2 + 0x20], ax
inc edi
jmp case.0x40cfa8.64
cmp ax, 0x30
jae 0x42ad0f
cmp ax, 0x5f
je 0x40d39f
lea ecx, [esp + 0x20]
xor eax, eax
push ecx
mov word [esp + edi*2 + 0x24], ax
call dword [sym.imp.USER32.dll_CharUpperW]
test edi, edi
je 0x42aeb6
mov edi, 0x32
lea esi, [esp + 0x10]
call fcn.0040d550
lea edi, [esp + 0x20]
mov ebx, esi
call fcn.0040cd40
mov edi, dword [esp + 0x202c]
push esi
call fcn.0040cd80
mov ebx, dword [esp + 0x2028]
jmp 0x40d049
cmp si, 0x7a
jbe 0x40d141
jmp 0x40cf5b
mov edi, 0x56
lea esi, [esp + 0x10]
inc ebp
call fcn.0040d550
mov edi, dword [esp + 0x202c]
push esi
call fcn.0040cd80
jmp 0x40d049
mov edi, 0x52
lea esi, [esp + 0x10]
inc ebp
call fcn.0040d550
mov edi, dword [esp + 0x202c]
push esi
call fcn.0040cd80
jmp 0x40d049
movzx eax, word [ebx + ebp*2 + 2]
inc ebp
sub eax, 0x3d
lea esi, [esp + 0x10]
je 0x42adb2
sub eax, 1
je 0x42ada2
mov edi, 0x43
call fcn.0040d550
mov edi, dword [esp + 0x202c]
lea eax, [esp + 0x10]
push eax
call fcn.0040cd80
jmp 0x40d049
inc ebp
cmp word [ebx + ebp*2], 0x3d
lea esi, [esp + 0x10]
je 0x42adc2
mov edi, 0x42
call fcn.0040d550
mov edi, dword [esp + 0x202c]
lea ecx, [esp + 0x10]
push ecx
call fcn.0040cd80
jmp 0x40d049
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
push ecx
call fcn.00412949
mov edx, dword [esp + 0x20]
mov eax, dword [edx + 0xc]
push eax
call fcn.00412949
add esp, 8
jmp 0x40cfd7
mov ebp, dword [esp + 0x1c]
cmp si, 0x2e
jne 0x40cf47
movzx eax, word [ebx + ebp*2 + 2]
inc ebp
cmp ax, 0x41
jb 0x42acb5
cmp ax, 0x5a
jbe 0x42ad07
cmp ax, 0x61
jb 0x42acc9
cmp ax, 0x7a
jbe 0x42ad07
cmp ax, 0x30
jb 0x42acdd
cmp ax, 0x39
jbe 0x42ad07
cmp ax, 0x5f
je 0x42ad07
xor edx, edx
mov word [esp + edi*2 + 0x20], dx
test edi, edi
je 0x42ae28
lea edi, [edx + 0x35]
lea esi, [esp + 0x10]
call fcn.0040d550
jmp 0x40d111
mov word [esp + edi*2 + 0x20], ax
inc edi
jmp 0x42ac9b
cmp ax, 0x39
jbe 0x40d39f
jmp 0x40d3b1
mov edi, 0x4a
lea esi, [esp + 0x10]
call fcn.0040d550
inc ebp
cmp word [ebx + ebp*2], 0x3d
jne 0x42ad43
mov edi, 0x53
inc ebp
call fcn.0040d550
mov edi, dword [esp + 0x202c]
lea ecx, [esp + 0x10]
push ecx
call fcn.0040cd80
jmp 0x40d049
mov edi, 0x54
lea esi, [esp + 0x10]
inc ebp
call fcn.0040d550
jmp 0x40d2e0
mov edi, 0x51
lea esi, [esp + 0x10]
call fcn.0040d550
mov edi, dword [esp + 0x202c]
push esi
call fcn.0040cd80
inc ebp
jmp 0x40d049
mov edi, 0x55
lea esi, [esp + 0x10]
inc ebp
call fcn.0040d550
jmp 0x40d2b0
mov edi, 0x44
call fcn.0040d550
inc ebp
jmp 0x40d47a
mov edi, 0x46
call fcn.0040d550
inc ebp
jmp 0x40d47a
mov edi, 0x45
call fcn.0040d550
inc ebp
jmp 0x40d4aa
test ebp, ebp
jne case.0x40cfa8.27
cmp word [ebx + 2], bp
jne case.0x40cfa8.27
mov edx, dword [esp + 0x2024]
cmp edx, dword [0x4a043c]
jl case.0x40cfa8.27
mov ebp, 1
jmp 0x40d049
mov edi, 0x50
call fcn.0040d550
inc ebp
jmp 0x40d192
mov eax, dword [esp + 0x10]
test eax, eax
je 0x40d0ff
push eax
call fcn.0044bc31
jmp 0x40d0ff
mov ecx, dword [esp + 0x2024]
dec ebp
push ebp
push 0x9e
push ecx
call fcn.004399b4
lea edx, [esp + 0x10]
push edx
call fcn.0044bc5e
mov eax, 1
jmp 0x40d093
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x2024]
push eax
push 0x89
push ecx
call fcn.004399b4
lea edx, [esp + 0x10]
push edx
call fcn.0044bc5e
mov eax, 1
jmp 0x40d093
mov edx, dword [esp + 0x2024]
push ebp
push 0x6a
push edx
call fcn.004399b4
mov edi, 0x7f
lea esi, [esp + 0x10]
call fcn.0040d550
mov edi, dword [esp + 0x202c]
push esi
call fcn.0040cd80
push esi
call fcn.0044bc5e
mov eax, 1
jmp 0x40d093
mov eax, dword [esp + 0x2024]
dec ebp
push ebp
push 0x9e
push eax
call fcn.004399b4
lea ecx, [esp + 0x10]
push ecx
call fcn.0044bc5e
mov eax, 1
jmp 0x40d093
mov edi, 0x7f
call fcn.0040d550
mov edi, dword [esp + 0x202c]
lea edx, [esp + 0x10]
push edx
call fcn.0040cd80
lea eax, [esp + 0x10]
push eax
call fcn.0044bc5e
mov eax, 1
jmp 0x40d093
mov ecx, dword [esi]
push ecx
call fcn.00412949
mov edx, dword [esi + 0xc]
push edx
call fcn.00412949
add esp, 8
jmp 0x40d322