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

Disassembly:
mov eax, 0x2010
call fcn.0041fe20
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 0x405c6e
xor edi, edi
lea ecx, [ecx]
mov ecx, dword [eax + 4]
mov esi, dword [ecx + edi*4]
test esi, esi
je 0x405c68
movzx eax, word [esi + 8]
cmp ax, 0x3f
jle 0x405d2f
push esi
call fcn.004127bd
mov eax, dword [esp + 0x2030]
add esp, 4
inc edi
cmp edi, dword [eax + 8]
jb 0x405c40
mov dword [eax + 8], ebp
cmp word [ebx], bp
je 0x405de9
lea ebx, [ebx]
movzx eax, word [ebx + ebp*2]
cmp ax, 0x20
je 0x405d87
cmp ax, 9
je 0x405d87
movzx eax, word [ebx + ebp*2]
test ax, ax
je 0x405dd4
movzx esi, ax
xor edi, edi
mov dword [esp + 0x1c], ebp
mov word [esp + 0x1a], bp
cmp si, 0x30
jae 0x405d8d
cmp si, 0x2e
je 0x405d97
cmp si, 0x41
jae 0x405eb7
cmp si, 0x61
jae 0x406179
cmp si, 0x5f
je 0x405ec1
movzx eax, si
cmp eax, 0x24
je 0x405e20
cmp eax, 0x3d
je 0x405ef8
cmp eax, 0x28
je 0x405f49
cmp eax, 0x29
je 0x405f28
cmp eax, 0x22
je case.0x405d28.39
sub eax, 0x1a
cmp eax, 0x44
ja case.0x405d28.27
movzx edx, byte [eax + 0x406274]
jmp dword [edx*4 + 0x406238]
cmp ax, 0x30
jl 0x405c58
mov eax, dword [esi]
test eax, eax
je 0x405c58
mov ecx, dword [eax + 0xc]
dec dword [ecx]
mov edx, dword [eax + 0xc]
mov dword [esp + 0x1c], eax
cmp dword [edx], ebp
je 0x42c521
mov ecx, dword [esp + 0x1c]
push ecx
call fcn.004127bd
add esp, 4
jmp 0x405c58
mov edi, 0x40
lea esi, [esp + 0x10]
call fcn.004062c0
mov edi, dword [esp + 0x202c]
push esi
call fcn.00405b00
inc ebp
jmp 0x405dc9
inc ebp
jmp 0x405c80
cmp si, 0x39
ja 0x405cbd
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x24]
mov eax, ebx
call fcn.00406330
cmp al, 1
jne 0x42c542
mov edi, dword [esp + 0x202c]
lea ecx, [esp + 0x10]
push ecx
call fcn.00405b00
mov ebp, dword [esp + 0x1c]
cmp word [ebx + ebp*2], 0
jne 0x405c80
mov ax, word [esp + 0x18]
cmp ax, 0x30
jl 0x405de9
cmp ax, 0x3f
jle 0x406085
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.00405b00
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 0x405e32
cmp ax, 0x41
jae 0x405e3e
cmp ax, 0x61
jb 0x405e46
cmp ax, 0x7a
ja 0x405e46
mov word [esp + edi*2 + 0x20], ax
inc edi
jmp 0x405e20
cmp ax, 0x30
jae 0x406046
cmp ax, 0x5f
je 0x405e3e
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 0x42c6dd
mov ax, word [esp + 0x18]
cmp ax, 0x30
jge 0x4060a6
mov edx, 0x33
mov word [esp + 0x18], dx
mov dword [esp + 0x10], 0
lea edi, [esp + 0x20]
lea ebx, [esp + 0x10]
call fcn.00405ac0
mov edi, dword [esp + 0x202c]
push ebx
call fcn.00405b00
mov ebx, dword [esp + 0x2028]
jmp 0x405dc9
cmp si, 0x5a
ja 0x405cd1
push ebx
lea ecx, [esp + 0x24]
lea edx, [esp + 0x14]
lea eax, [esp + 0x20]
call fcn.004064e0
cmp dword [esp + 0x10], 0xffffffff
je 0x42c705
mov edi, dword [esp + 0x202c]
lea ecx, [esp + 0x10]
push ecx
call fcn.00405b00
mov ebp, dword [esp + 0x1c]
jmp 0x405dc9
inc ebp
cmp word [ebx + ebp*2], 0x3d
lea esi, [esp + 0x10]
je 0x42c6b6
mov edi, 0x41
call fcn.004062c0
mov edi, dword [esp + 0x202c]
lea edx, [esp + 0x10]
push edx
call fcn.00405b00
jmp 0x405dc9
mov edi, 0x48
lea esi, [esp + 0x10]
call fcn.004062c0
mov edi, dword [esp + 0x202c]
push esi
call fcn.00405b00
inc ebp
jmp 0x405dc9
mov edi, 0x47
lea esi, [esp + 0x10]
call fcn.004062c0
mov edi, dword [esp + 0x202c]
push esi
call fcn.00405b00
inc ebp
jmp 0x405dc9
mov ecx, dword [esp + 0x2024]
lea eax, [esp + 0x20]
push eax
push ecx
lea edx, [esp + 0x24]
mov edi, ebx
call fcn.004059f0
lea esi, [esp + 0x10]
test eax, eax
jne 0x42c796
lea edi, [eax + 0x36]
call fcn.004062c0
lea edi, [esp + 0x20]
mov ebx, esi
call fcn.00405ac0
mov edi, dword [esp + 0x202c]
push esi
call fcn.00405b00
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x2028]
jmp 0x405dc9
mov edi, 0x4d
lea esi, [esp + 0x10]
call fcn.004062c0
inc ebp
cmp word [ebx + ebp*2], 0x3d
je 0x406188
mov edi, dword [esp + 0x202c]
push esi
call fcn.00405b00
jmp 0x405dc9
mov edi, 0x49
lea esi, [esp + 0x10]
call fcn.004062c0
inc ebp
cmp word [ebx + ebp*2], 0x3d
je 0x4061a9
mov edi, dword [esp + 0x202c]
push esi
call fcn.00405b00
jmp 0x405dc9
mov edi, 0x4c
lea esi, [esp + 0x10]
call fcn.004062c0
inc ebp
cmp word [ebx + ebp*2], 0x3d
je 0x42c643
mov edi, dword [esp + 0x202c]
lea ecx, [esp + 0x10]
push ecx
call fcn.00405b00
jmp 0x405dc9
cmp ax, 0x39
jbe 0x405e3e
jmp 0x405e50
mov edi, 0x4b
lea esi, [esp + 0x10]
call fcn.004062c0
inc ebp
cmp word [ebx + ebp*2], 0x3d
je 0x42c60e
mov edi, dword [esp + 0x202c]
lea edx, [esp + 0x10]
push edx
call fcn.00405b00
jmp 0x405dc9
mov esi, dword [esp + 0x10]
test esi, esi
je 0x405de9
mov ecx, esi
call fcn.004059c0
push esi
call fcn.004127bd
add esp, 4
jmp 0x405de9
cmp ax, 0x3f
jg 0x405e7f
jmp 0x42c6c6
mov edi, 0x4e
lea esi, [esp + 0x10]
call fcn.004062c0
mov edi, dword [esp + 0x202c]
push esi
call fcn.00405b00
inc ebp
jmp 0x405dc9
mov edi, 0x4f
lea esi, [esp + 0x10]
call fcn.004062c0
mov edi, dword [esp + 0x202c]
push esi
call fcn.00405b00
inc ebp
jmp 0x405dc9
movzx eax, word [ebx + ebp*2 + 2]
inc ebp
cmp ax, 0x5a
ja 0x406109
cmp ax, 0x41
jae 0x406115
cmp ax, 0x61
jb 0x40611d
cmp ax, 0x7a
ja 0x40611d
mov word [esp + edi*2 + 0x20], ax
inc edi
jmp case.0x405d28.64
cmp ax, 0x30
jae 0x42c5c4
cmp ax, 0x5f
je 0x406115
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 0x42c76e
mov edi, 0x32
lea esi, [esp + 0x10]
call fcn.004062c0
lea edi, [esp + 0x20]
mov ebx, esi
call fcn.00405ac0
mov edi, dword [esp + 0x202c]
push esi
call fcn.00405b00
mov ebx, dword [esp + 0x2028]
jmp 0x405dc9
cmp si, 0x7a
jbe 0x405ec1
jmp 0x405cdb
mov edi, 0x56
lea esi, [esp + 0x10]
inc ebp
call fcn.004062c0
mov edi, dword [esp + 0x202c]
push esi
call fcn.00405b00
jmp 0x405dc9
mov edi, 0x52
lea esi, [esp + 0x10]
inc ebp
call fcn.004062c0
mov edi, dword [esp + 0x202c]
push esi
call fcn.00405b00
jmp 0x405dc9
movzx eax, word [ebx + ebp*2 + 2]
inc ebp
sub eax, 0x3d
lea esi, [esp + 0x10]
je 0x42c667
sub eax, 1
je 0x42c657
mov edi, 0x43
call fcn.004062c0
mov edi, dword [esp + 0x202c]
lea eax, [esp + 0x10]
push eax
call fcn.00405b00
jmp 0x405dc9
inc ebp
cmp word [ebx + ebp*2], 0x3d
lea esi, [esp + 0x10]
je 0x42c677
mov edi, 0x42
call fcn.004062c0
mov edi, dword [esp + 0x202c]
lea ecx, [esp + 0x10]
push ecx
call fcn.00405b00
jmp 0x405dc9
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
push ecx
call fcn.004127bd
mov edx, dword [esp + 0x20]
mov eax, dword [edx + 0xc]
push eax
call fcn.004127bd
add esp, 8
jmp 0x405d57
mov ebp, dword [esp + 0x1c]
cmp si, 0x2e
jne 0x405cc7
movzx eax, word [ebx + ebp*2 + 2]
inc ebp
cmp ax, 0x41
jb 0x42c56a
cmp ax, 0x5a
jbe 0x42c5bc
cmp ax, 0x61
jb 0x42c57e
cmp ax, 0x7a
jbe 0x42c5bc
cmp ax, 0x30
jb 0x42c592
cmp ax, 0x39
jbe 0x42c5bc
cmp ax, 0x5f
je 0x42c5bc
xor edx, edx
mov word [esp + edi*2 + 0x20], dx
test edi, edi
je 0x42c6dd
lea edi, [edx + 0x35]
lea esi, [esp + 0x10]
call fcn.004062c0
jmp 0x405e91
mov word [esp + edi*2 + 0x20], ax
inc edi
jmp 0x42c550
cmp ax, 0x39
jbe 0x406115
jmp 0x406127
mov edi, 0x4a
lea esi, [esp + 0x10]
call fcn.004062c0
inc ebp
cmp word [ebx + ebp*2], 0x3d
jne 0x42c5f8
mov edi, 0x53
inc ebp
call fcn.004062c0
mov edi, dword [esp + 0x202c]
lea ecx, [esp + 0x10]
push ecx
call fcn.00405b00
jmp 0x405dc9
mov edi, 0x54
lea esi, [esp + 0x10]
inc ebp
call fcn.004062c0
jmp 0x40606f
mov edi, 0x51
lea esi, [esp + 0x10]
call fcn.004062c0
mov edi, dword [esp + 0x202c]
push esi
call fcn.00405b00
inc ebp
jmp 0x405dc9
mov edi, 0x55
lea esi, [esp + 0x10]
inc ebp
call fcn.004062c0
jmp 0x406030
mov edi, 0x44
call fcn.004062c0
inc ebp
jmp 0x4061f0
mov edi, 0x46
call fcn.004062c0
inc ebp
jmp 0x4061f0
mov edi, 0x45
call fcn.004062c0
inc ebp
jmp 0x406220
test ebp, ebp
jne case.0x405d28.27
cmp word [ebx + 2], bp
jne case.0x405d28.27
mov edx, dword [esp + 0x2024]
cmp edx, dword [0x4a6898]
jl case.0x405d28.27
mov ebp, 1
jmp 0x405dc9
mov edi, 0x50
call fcn.004062c0
inc ebp
jmp 0x405f12
mov eax, dword [esp + 0x10]
test eax, eax
je 0x405e7f
push eax
call fcn.0044648c
jmp 0x405e7f
mov ecx, dword [esp + 0x2024]
dec ebp
push ebp
push 0x138b
push ecx
call fcn.0043a1ee
lea edx, [esp + 0x10]
push edx
call fcn.0044e5e1
mov eax, 1
jmp 0x405e13
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x2024]
push eax
push 0x138c
push ecx
call fcn.0043a1ee
lea edx, [esp + 0x10]
push edx
call fcn.0044e5e1
mov eax, 1
jmp 0x405e13
mov edx, dword [esp + 0x2024]
push ebp
push 0x1388
push edx
call fcn.0043a1ee
mov edi, 0x7f
lea esi, [esp + 0x10]
call fcn.004062c0
mov edi, dword [esp + 0x202c]
push esi
call fcn.00405b00
push esi
call fcn.0044e5e1
mov eax, 1
jmp 0x405e13
mov eax, dword [esp + 0x2024]
dec ebp
push ebp
push 0x138b
push eax
call fcn.0043a1ee
lea ecx, [esp + 0x10]
push ecx
call fcn.0044e5e1
mov eax, 1
jmp 0x405e13
mov edi, 0x7f
call fcn.004062c0
mov edi, dword [esp + 0x202c]
lea edx, [esp + 0x10]
push edx
call fcn.00405b00
lea eax, [esp + 0x10]
push eax
call fcn.0044e5e1
mov eax, 1
jmp 0x405e13