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

Disassembly:
sub esp, 0x28
or eax, 0xffffffff
mov word [esp + 0x10], ax
push ebp
xor ecx, ecx
mov eax, 0x65
xor ebp, ebp
mov dword [esp + 0x20], eax
mov edx, 2
mul edx
seto cl
push esi
push edi
mov dword [esp + 0x24], ebp
neg ecx
or ecx, eax
push ecx
call fcn.00412c2a
add esp, 4
xor ecx, ecx
push 4
mov dword [esp + 0x24], eax
mov word [eax], cx
call fcn.00412c2a
add esp, 4
test eax, eax
je 0x42c8b4
mov dword [eax], 1
mov dword [esp + 0x2c], eax
mov edx, dword [esp + 0x3c]
cmp dword [edx + 8], ebp
jbe 0x402973
xor edi, edi
mov eax, edx
mov ecx, dword [eax + 4]
mov esi, dword [ecx + edi*4]
test esi, esi
je 0x40296d
movzx eax, word [esi + 8]
cmp ax, 0x3f
jle 0x402a3d
push esi
call fcn.0041293d
mov eax, dword [esp + 0x40]
add esp, 4
inc edi
cmp edi, dword [eax + 8]
jb 0x402948
mov edx, dword [esp + 0x3c]
mov dword [edx + 8], ebp
cmp word [ebx], bp
je 0x402b7f
jmp 0x402990
movzx eax, word [ebx + ebp*2]
cmp ax, 0x20
je 0x402a95
cmp ax, 9
je 0x402a95
movzx eax, word [ebx + ebp*2]
test ax, ax
je 0x402b6a
movzx esi, ax
mov dword [esp + 0x10], ebp
mov word [esp + 0x1e], bp
cmp si, 0x30
jae 0x402a9b
cmp si, 0x2e
je 0x402aa5
cmp si, 0x41
jae 0x402c09
cmp si, 0x61
jae 0x402e73
cmp si, 0x5f
je 0x402c13
movzx eax, si
cmp eax, 0x24
je 0x402bce
cmp eax, 0x3d
je 0x402c4a
cmp eax, 0x28
je 0x402c87
cmp eax, 0x29
je 0x402c69
cmp eax, 0x22
je case.0x402a36.39
sub eax, 0x1a
cmp eax, 0x44
ja case.0x402a36.27
movzx ecx, byte [eax + 0x402f38]
jmp dword [ecx*4 + 0x402efc]
cmp ax, 0x30
jl 0x402960
mov ecx, dword [esi]
test ecx, ecx
je 0x402960
mov eax, dword [ecx + 0xc]
dec dword [eax]
mov edx, dword [ecx + 0xc]
mov dword [esp + 0x10], ecx
cmp dword [edx], ebp
je 0x42c8bd
mov ecx, dword [esp + 0x10]
push ecx
call fcn.0041293d
add esp, 4
jmp 0x402960
mov edi, 0x40
lea esi, [esp + 0x14]
call fcn.00402610
mov edi, dword [esp + 0x3c]
push esi
call fcn.004027d0
inc ebp
jmp 0x402b5f
inc ebp
jmp 0x402990
cmp si, 0x39
ja 0x4029cb
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x18]
push ecx
push ebx
lea eax, [esp + 0x1c]
call fcn.004030e0
cmp al, 1
jne 0x42c8e1
mov edi, dword [esp + 0x3c]
lea edx, [esp + 0x14]
push edx
call fcn.004027d0
mov ebp, dword [esp + 0x10]
jmp 0x402b5f
cmp ax, 0x30
jae 0x402d4a
cmp ax, 0x5f
je 0x402bfc
cmp dword [esp + 0x24], 0
je 0x42ca90
lea eax, [esp + 0x20]
call fcn.004025f0
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x20]
push esi
push edi
call dword [sym.imp.USER32.dll_CharUpperBuffW]
cmp word [esp + 0x1c], 0x30
jge 0x402d9e
mov edx, 0x33
push 0x10
mov word [esp + 0x20], dx
call fcn.00412c2a
add esp, 4
test eax, eax
je 0x42ca83
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
mov dword [eax], edi
mov dword [eax + 4], esi
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
inc dword [ecx]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x14]
push eax
mov edi, dword [esp + 0x40]
call fcn.004027d0
cmp word [ebx + ebp*2], 0
jne 0x402990
mov ax, word [esp + 0x1c]
cmp ax, 0x30
jl 0x402b7f
cmp ax, 0x3f
jle 0x402d7d
mov edi, dword [esp + 0x3c]
lea ecx, [esp + 0x14]
mov eax, 0x7f
push ecx
mov word [esp + 0x20], ax
mov dword [esp + 0x18], 0
mov word [esp + 0x22], bp
call fcn.004027d0
mov esi, dword [esp + 0x2c]
add dword [esi], 0xffffffff
jne 0x402bc3
mov edx, dword [esp + 0x20]
push edx
call fcn.0041293d
add esp, 4
push esi
call fcn.0041293d
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
add esp, 0x28
ret 8
lea esi, [esp + 0x20]
inc ebp
call fcn.00403280
movzx eax, word [ebx + ebp*2]
cmp ax, 0x5a
ja 0x402be8
cmp ax, 0x41
jae 0x402bfc
cmp ax, 0x61
jb 0x402ad8
cmp ax, 0x7a
ja 0x402ad8
push eax
lea eax, [esp + 0x24]
call fcn.00402f80
inc ebp
jmp 0x402bd8
cmp si, 0x5a
ja 0x4029df
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x18]
push edx
lea eax, [esp + 0x18]
mov ecx, ebx
call fcn.00402680
cmp dword [esp + 0x14], 0xffffffff
je 0x42cabe
mov edi, dword [esp + 0x3c]
lea eax, [esp + 0x14]
push eax
call fcn.004027d0
mov ebp, dword [esp + 0x10]
jmp 0x402b5f
inc ebp
cmp word [ebx + ebp*2], 0x3d
lea esi, [esp + 0x14]
je 0x42ca59
mov edi, 0x41
call fcn.00402610
jmp 0x402b51
mov edi, 0x48
lea esi, [esp + 0x14]
call fcn.00402610
mov edi, dword [esp + 0x3c]
push esi
call fcn.004027d0
inc ebp
jmp 0x402b5f
mov edi, 0x47
lea esi, [esp + 0x14]
call fcn.00402610
mov edi, dword [esp + 0x3c]
push esi
call fcn.004027d0
inc ebp
jmp 0x402b5f
mov edx, dword [esp + 0x38]
push edx
lea eax, [esp + 0x24]
lea edi, [esp + 0x14]
call fcn.00403040
lea esi, [esp + 0x14]
test eax, eax
jne 0x42cb4a
lea edi, [eax + 0x36]
call fcn.00402610
lea esi, [esp + 0x20]
lea edi, [esp + 0x14]
call fcn.00402160
push edi
mov edi, dword [esp + 0x40]
call fcn.004027d0
mov ebp, dword [esp + 0x10]
jmp 0x402b5f
mov edi, 0x4d
lea esi, [esp + 0x14]
call fcn.00402610
inc ebp
cmp word [ebx + ebp*2], 0x3d
je 0x402e82
push esi
jmp 0x402b56
mov edi, 0x49
lea esi, [esp + 0x14]
call fcn.00402610
inc ebp
cmp word [ebx + ebp*2], 0x3d
je 0x402e97
push esi
jmp 0x402b56
mov edi, 0x4c
lea esi, [esp + 0x14]
call fcn.00402610
inc ebp
cmp word [ebx + ebp*2], 0x3d
jne 0x402b51
jmp 0x42c9e9
cmp ax, 0x39
jbe 0x402bfc
jmp 0x402ae2
mov edi, 0x4b
lea esi, [esp + 0x14]
call fcn.00402610
inc ebp
cmp word [ebx + ebp*2], 0x3d
je 0x42c9b7
lea ecx, [esp + 0x14]
push ecx
jmp 0x402b56
mov esi, dword [esp + 0x14]
test esi, esi
je 0x402b7f
mov ecx, esi
call fcn.00402130
push esi
call fcn.0041293d
add esp, 4
jmp 0x402b7f
cmp word [esp + 0x1c], 0x3f
jg 0x402b1c
jmp 0x42ca69
mov edi, 0x4e
lea esi, [esp + 0x14]
call fcn.00402610
mov edi, dword [esp + 0x3c]
push esi
call fcn.004027d0
inc ebp
jmp 0x402b5f
mov edi, 0x4f
lea esi, [esp + 0x14]
call fcn.00402610
mov edi, dword [esp + 0x3c]
push esi
call fcn.004027d0
inc ebp
jmp 0x402b5f
lea esi, [esp + 0x20]
inc ebp
call fcn.00403280
movzx eax, word [ebx + ebp*2]
cmp ax, 0x5a
ja 0x402e05
cmp ax, 0x41
jae 0x402e11
cmp ax, 0x61
jb 0x402e1e
cmp ax, 0x7a
ja 0x402e1e
push eax
lea eax, [esp + 0x24]
call fcn.00402f80
inc ebp
jmp 0x402df5
cmp ax, 0x30
jae 0x42c97e
cmp ax, 0x5f
je 0x402e11
cmp dword [esp + 0x24], 0
je 0x42caef
lea eax, [esp + 0x20]
call fcn.004025f0
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
push edx
push eax
call dword [sym.imp.USER32.dll_CharUpperBuffW]
mov edi, 0x32
lea esi, [esp + 0x14]
call fcn.00402610
lea esi, [esp + 0x20]
lea edi, [esp + 0x14]
call fcn.00402160
push edi
jmp 0x402b56
cmp si, 0x7a
jbe 0x402c13
jmp 0x4029e9
mov edi, 0x56
lea esi, [esp + 0x14]
inc ebp
call fcn.00402610
push esi
jmp 0x402b56
mov edi, 0x52
lea esi, [esp + 0x14]
inc ebp
call fcn.00402610
push esi
jmp 0x402b56
movzx eax, word [ebx + ebp*2 + 2]
inc ebp
sub eax, 0x3d
lea esi, [esp + 0x14]
je 0x42ca0d
sub eax, 1
je 0x42c9fd
mov edi, 0x43
call fcn.00402610
lea edx, [esp + 0x14]
push edx
jmp 0x402b56
inc ebp
cmp word [ebx + ebp*2], 0x3d
lea esi, [esp + 0x14]
je 0x42ca1d
mov edi, 0x42
call fcn.00402610
jmp 0x402b51
mov dword [esp + 0x2c], ebp
jmp 0x40293b
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
push ecx
call fcn.0041293d
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0xc]
add esp, 4
push eax
call fcn.0041293d
add esp, 4
jmp 0x402a65
mov ebp, dword [esp + 0x10]
cmp si, 0x2e
jne 0x4029d5
lea esi, [esp + 0x20]
inc ebp
call fcn.00403280
movzx eax, word [ebx + ebp*2]
cmp ax, 0x41
jb 0x42c911
cmp ax, 0x5a
jbe 0x42c96e
cmp ax, 0x61
jb 0x42c925
cmp ax, 0x7a
jbe 0x42c96e
cmp ax, 0x30
jb 0x42c939
cmp ax, 0x39
jbe 0x42c96e
cmp ax, 0x5f
je 0x42c96e
cmp dword [esp + 0x24], 0
je 0x42ca90
mov edi, 0x35
lea esi, [esp + 0x14]
call fcn.00402610
lea esi, [esp + 0x20]
lea edi, [esp + 0x14]
call fcn.00402160
jmp 0x402b51
push eax
lea eax, [esp + 0x24]
call fcn.00402f80
inc ebp
jmp 0x42c8f9
cmp ax, 0x39
jbe 0x402e11
jmp 0x402e28
mov edi, 0x4a
lea esi, [esp + 0x14]
call fcn.00402610
inc ebp
cmp word [ebx + ebp*2], 0x3d
jne 0x402b51
mov edi, 0x53
inc ebp
call fcn.00402610
jmp 0x402b51
mov edi, 0x54
lea esi, [esp + 0x14]
inc ebp
call fcn.00402610
jmp 0x402d73
mov edi, 0x51
lea esi, [esp + 0x14]
call fcn.00402610
mov edi, dword [esp + 0x3c]
push esi
call fcn.004027d0
inc ebp
jmp 0x402b5f
mov edi, 0x55
lea esi, [esp + 0x14]
inc ebp
call fcn.00402610
jmp 0x402b51
mov edi, 0x44
call fcn.00402610
inc ebp
jmp 0x402ed2
mov edi, 0x46
call fcn.00402610
inc ebp
jmp 0x402ed2
mov edi, 0x45
call fcn.00402610
inc ebp
jmp 0x402b51
test ebp, ebp
jne case.0x402a36.27
cmp word [ebx + 2], bp
jne case.0x402a36.27
mov ecx, dword [esp + 0x38]
cmp ecx, dword [0x4a68b8]
jl case.0x402a36.27
mov ebp, 1
jmp 0x402b5f
mov edi, 0x50
call fcn.00402610
inc ebp
jmp 0x402b51
cmp dword [esp + 0x14], 0
je 0x402b1c
mov ecx, dword [esp + 0x14]
push ecx
call fcn.0044554e
jmp 0x402b1c
mov dword [esp + 0x14], 0
jmp 0x402b51
mov ecx, dword [esp + 0x38]
dec ebp
push ebp
push 0x138b
push ecx
call fcn.0045e186
lea ecx, [esp + 0x20]
call fcn.00402130
lea edx, [esp + 0x14]
push edx
call fcn.0044d542
mov eax, 1
jmp 0x402bc5
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x38]
push eax
push 0x138c
push ecx
call fcn.0045e186
lea ecx, [esp + 0x20]
call fcn.00402130
lea edx, [esp + 0x14]
push edx
call fcn.0044d542
mov eax, 1
jmp 0x402bc5
mov eax, dword [esp + 0x38]
dec ebp
push ebp
push 0x138b
push eax
call fcn.0045e186
jmp 0x42cb2d
mov edx, dword [esp + 0x38]
push ebp
push 0x1388
push edx
call fcn.0045e186
mov edi, 0x7f
lea esi, [esp + 0x14]
call fcn.00402610
mov edi, dword [esp + 0x3c]
push esi
call fcn.004027d0
lea ecx, [esp + 0x20]
call fcn.00402130
lea ecx, [esp + 0x14]
push ecx
call fcn.0044d542
mov eax, 1
jmp 0x402bc5
mov edi, 0x7f
call fcn.00402610
mov edi, dword [esp + 0x3c]
lea edx, [esp + 0x14]
push edx
call fcn.004027d0
lea ecx, [esp + 0x20]
call fcn.00402130
lea eax, [esp + 0x14]
push eax
call fcn.0044d542
mov eax, 1
jmp 0x402bc5