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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x58
or eax, 0xffffffff
mov word [ebp - 0x40], ax
xor eax, eax
push ebx
mov word [ebp - 0x3e], ax
mov dword [ebp - 0x54], eax
xor ecx, ecx
push esi
xor esi, esi
mov eax, 0x65
mov edx, 2
mul edx
seto cl
push edi
mov dword [ebp - 8], esi
mov dword [ebp - 0x50], 0x65
neg ecx
or ecx, eax
push ecx
call fcn.00420bca
mov ebx, eax
add esp, 4
xor eax, eax
push 4
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x58], ebx
mov word [ebx], ax
call fcn.00420bca
add esp, 4
mov dword [ebp - 0xc], eax
test eax, eax
je 0x407a56
mov dword [eax], 1
mov edx, dword [ebp + 0x10]
xor edi, edi
mov dword [ebp - 0x4c], eax
cmp dword [edx + 8], esi
jbe 0x4072aa
jmp 0x407270
mov eax, dword [edx + 4]
mov eax, dword [eax + edi*4]
mov dword [ebp - 0x18], eax
test eax, eax
je 0x40729d
movzx ecx, word [eax + 8]
cmp cx, 0x3f
jg 0x407291
cmp cx, 0x30
jge 0x40734c
push eax
call fcn.00420c3e
mov edx, dword [ebp + 0x10]
add esp, 4
mov eax, dword [edx + 4]
inc edi
mov dword [eax + edi*4 - 4], esi
cmp edi, dword [edx + 8]
jb 0x407270
mov ecx, dword [ebp + 0xc]
mov dword [edx + 8], esi
cmp word [ecx], si
je 0x407491
lea esp, [esp]
movzx eax, word [ecx + esi*2]
cmp eax, 0x20
je 0x407399
cmp eax, 9
je 0x407399
movzx eax, word [ecx + esi*2]
mov dword [ebp - 8], esi
test ax, ax
je 0x40747a
mov edi, eax
mov word [ebp - 0x3e], si
cmp edi, 0x30
jb 0x4072fa
cmp edi, 0x39
jbe 0x4075a8
cmp edi, 0x2e
je 0x4075a8
cmp edi, 0x41
jae 0x40739f
cmp edi, 0x61
jae 0x407a0a
cmp edi, 0x5f
je 0x4073a8
mov eax, edi
cmp eax, 0x24
je case.0x407345.64
cmp eax, 0x3d
je 0x407660
sub eax, 0x1a
cmp eax, 0x44
ja case.0x407345.27
movzx eax, byte [eax + 0x407ab8]
jmp dword [eax*4 + 0x407a6c]
mov ecx, dword [eax]
mov dword [ebp - 8], ecx
test ecx, ecx
je 0x407291
mov eax, dword [ecx + 0xc]
dec dword [eax]
mov eax, dword [ecx + 0xc]
cmp dword [eax], esi
je 0x474b1e
push ecx
call fcn.00420c3e
mov eax, dword [ebp - 0x18]
add esp, 4
jmp 0x407291
push 0x40
lea ecx, [ebp - 0x48]
call fcn.00407c31
mov ecx, dword [ebp + 0x10]
lea eax, [ebp - 0x48]
push eax
call fcn.00407b00
inc esi
mov dword [ebp - 8], esi
jmp 0x407469
inc esi
jmp 0x4072c0
cmp edi, 0x5a
ja 0x40730c
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 8]
push eax
push dword [ebp + 0xc]
call fcn.00407d70
cmp dword [ebp - 0x48], 0xffffffff
je 0x474d64
mov ecx, dword [ebp + 0x10]
lea eax, [ebp - 0x48]
push eax
call fcn.00407b00
mov eax, dword [ebp - 0x4c]
mov ebx, dword [ebp - 0x58]
mov esi, dword [ebp - 8]
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x10], ebx
jmp 0x407469
cmp bx, 0x30
jae 0x40759c
cmp bx, 0x5f
je 0x40756d
mov dword [ebp - 8], esi
test edi, edi
je 0x474dd2
lea ecx, [ebp - 0x58]
call fcn.00407cdc
mov edi, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x58]
push edi
push ebx
mov dword [ebp - 0x10], ebx
call dword [sym.imp.USER32.dll_CharUpperBuffW]
cmp word [ebp - 0x20], 0xf
ja 0x407430
mov ecx, dword [ebp - 0x48]
test ecx, ecx
jne 0x474d2e
push 0x10
call fcn.00420bca
mov ecx, eax
mov eax, dword [ebp - 0x4c]
add esp, 4
mov dword [ebp - 0xc], eax
test ecx, ecx
je 0x474d39
mov edx, dword [ebp - 0x50]
mov dword [ecx], ebx
mov dword [ecx + 4], edi
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
inc dword [eax]
mov dword [ebp - 0x48], ecx
mov ecx, dword [ebp + 0x10]
lea eax, [ebp - 0x48]
push eax
call fcn.00407b00
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 0x10]
cmp word [ecx + esi*2], 0
jne 0x4072c0
mov ax, word [ebp - 0x40]
cmp ax, 0x30
jl 0x40748e
cmp ax, 0x3f
jle 0x4077ab
mov edx, dword [ebp + 0x10]
mov eax, 0x7f
mov word [ebp - 0x40], ax
lea eax, [ebp - 0x48]
push eax
mov ecx, edx
mov dword [ebp - 0x48], 0
mov word [ebp - 0x3e], si
call fcn.00407b00
mov esi, dword [ebp - 0xc]
xor edi, edi
dec dword [esi]
jne 0x4074cb
push ebx
call fcn.00420c3e
add esp, 4
push esi
call fcn.00420c3e
add esp, 4
mov eax, dword [ebp - 0x40]
add eax, 0xffffffd0
cmp ax, 0xf
jbe 0x474e0a
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push edx
call fcn.00407caa
test eax, eax
js 0x474df1
cmp edi, 0x24
jne 0x407907
mov edi, 0x33
mov eax, dword [ebp - 0x40]
add eax, 0xffffffd0
cmp ax, 0xf
jbe 0x474bc4
lea eax, [edi - 0x30]
mov word [ebp - 0x40], di
mov dword [ebp - 0x20], eax
cmp ax, 0xf
ja 0x474bda
mov dword [ebp - 0x48], 0
mov ecx, dword [ebp - 0xc]
inc esi
mov eax, dword [ecx]
mov dword [ebp - 8], esi
cmp eax, 1
jg 0x40760a
mov edx, dword [ebp - 0x50]
xor edi, edi
xor eax, eax
mov word [ebx], ax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x54], edi
movzx ebx, word [eax + esi*2]
cmp bx, 0x5a
jbe 0x407594
cmp bx, 0x61
jb 0x4073e6
cmp bx, 0x7a
ja 0x4073e6
mov eax, dword [ecx]
cmp eax, 1
jg 0x474c04
lea eax, [edi + 2]
cmp edx, eax
jb 0x4076fa
mov eax, dword [ebp - 0x10]
mov word [eax + edi*2], bx
inc edi
xor ebx, ebx
mov word [eax + edi*2], bx
inc esi
jmp 0x407549
cmp bx, 0x41
jae 0x40756d
jmp 0x407559
cmp bx, 0x39
ja 0x4073f0
jmp 0x40756d
mov ecx, dword [edx + 8]
mov esi, 0x40
mov dword [ebp - 0x18], ecx
test ecx, ecx
je 0x4075c2
mov eax, dword [edx + 4]
mov eax, dword [eax + ecx*4 - 4]
movzx esi, word [eax + 8]
mov ebx, dword [ebp + 0xc]
push esi
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 8]
push eax
push ebx
call fcn.0040800e
cmp al, 1
jne 0x407972
cmp si, 0x4a
je 0x407858
mov ecx, dword [ebp + 0x10]
lea eax, [ebp - 0x48]
push eax
call fcn.00407b00
mov eax, dword [ebp - 0x4c]
mov ebx, dword [ebp - 0x58]
mov esi, dword [ebp - 8]
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x10], ebx
jmp 0x407469
dec eax
push 4
mov dword [ecx], eax
call fcn.00420bca
add esp, 4
mov dword [ebp - 0xc], eax
test eax, eax
je 0x407a60
mov dword [eax], 1
mov dword [ebp - 0x4c], eax
xor ecx, ecx
mov eax, 8
mov edx, 2
mul edx
seto cl
mov dword [ebp - 0x50], 8
neg ecx
or ecx, eax
push ecx
call fcn.00420551
mov ecx, dword [ebp - 0xc]
mov ebx, eax
add esp, 4
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x58], ebx
jmp 0x40753f
inc esi
mov dword [ebp - 8], esi
cmp word [ecx + esi*2], 0x3d
lea ecx, [ebp - 0x48]
je 0x407962
push 0x41
call fcn.00407c31
jmp 0x40745d
push 0x47
lea ecx, [ebp - 0x48]
call fcn.00407c31
mov ecx, dword [ebp + 0x10]
lea eax, [ebp - 0x48]
push eax
call fcn.00407b00
inc esi
mov dword [ebp - 8], esi
jmp 0x407469
push 0x48
lea ecx, [ebp - 0x48]
call fcn.00407c31
mov ecx, dword [ebp + 0x10]
lea eax, [ebp - 0x48]
push eax
call fcn.00407b00
inc esi
mov dword [ebp - 8], esi
jmp 0x407469
push 0x4e
lea ecx, [ebp - 0x48]
call fcn.00407c31
mov ecx, dword [ebp + 0x10]
lea eax, [ebp - 0x48]
push eax
call fcn.00407b00
inc esi
mov dword [ebp - 8], esi
jmp 0x407469
push 0x4f
lea ecx, [ebp - 0x48]
call fcn.00407c31
mov ecx, dword [ebp + 0x10]
lea eax, [ebp - 0x48]
push eax
call fcn.00407b00
inc esi
mov dword [ebp - 8], esi
jmp 0x407469
cmp eax, 0x41c2
jae 0x474c64
add eax, eax
push eax
call fcn.00408e93
xor ecx, ecx
mov dword [ebp - 0x50], eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00420551
mov edx, eax
mov eax, dword [ebp - 0x10]
add esp, 4
mov dword [ebp - 0x18], edx
test eax, eax
je 0x407756
lea ecx, [edi*2 + 2]
push ecx
push eax
push edx
call fcn.00420560
mov ecx, dword [ebp - 0x10]
add esp, 0xc
push ecx
call fcn.004224c0
mov edx, dword [ebp - 0x18]
add esp, 4
mov ecx, dword [ebp - 0xc]
mov eax, edx
mov edx, dword [ebp - 0x50]
mov word [eax + edi*2], bx
inc edi
xor ebx, ebx
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x58], eax
mov word [eax + edi*2], bx
inc esi
jmp 0x407549
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 8]
push eax
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040824d
lea ecx, [ebp - 0x48]
test eax, eax
js 0x474d82
push 0x36
call fcn.00407c31
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0x48]
call fcn.0041f3c0
jmp 0x4073c6
mov edi, dword [ebp - 0x48]
test edi, edi
je 0x40748e
mov ecx, edi
call fcn.00406e3b
push edi
call fcn.00420c3e
add esp, 4
jmp 0x40748e
push 0x49
lea ecx, [ebp - 0x48]
call fcn.00407c31
mov eax, dword [ebp + 0xc]
inc esi
mov dword [ebp - 8], esi
cmp word [eax + esi*2], 0x3d
jne 0x40745d
inc esi
push 0x52
lea ecx, [ebp - 0x48]
mov dword [ebp - 8], esi
call fcn.00407c31
jmp 0x40745d
push 0x4d
lea ecx, [ebp - 0x48]
call fcn.00407c31
mov eax, dword [ebp + 0xc]
inc esi
mov dword [ebp - 8], esi
cmp word [eax + esi*2], 0x3d
jne 0x40745d
inc esi
push 0x56
lea ecx, [ebp - 0x48]
mov dword [ebp - 8], esi
call fcn.00407c31
jmp 0x40745d
push 0x4a
lea ecx, [ebp - 0x48]
call fcn.00407c31
mov eax, dword [ebp + 0xc]
inc esi
mov dword [ebp - 8], esi
cmp word [eax + esi*2], 0x3d
jne 0x40745d
inc esi
push 0x53
lea ecx, [ebp - 0x48]
mov dword [ebp - 8], esi
call fcn.00407c31
jmp 0x40745d
cmp word [ebp - 0x40], 5
jne 0x4075ea
mov ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x44]
mov edx, dword [ebp - 0x18]
neg ecx
adc eax, 0
neg eax
mov dword [ebp - 0x48], ecx
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x44], eax
mov eax, dword [ecx + 4]
mov eax, dword [eax + edx*4 - 4]
mov edx, 0x49
mov word [eax + 8], dx
jmp 0x4075ed
mov eax, dword [ebp + 0xc]
inc esi
mov dword [ebp - 8], esi
movzx eax, word [eax + esi*2]
lea ecx, [ebp - 0x48]
sub eax, 0x3d
je 0x407942
dec eax
je 0x407932
push 0x43
call fcn.00407c31
jmp 0x40745d
push 0x4c
lea ecx, [ebp - 0x48]
call fcn.00407c31
mov eax, dword [ebp + 0xc]
inc esi
mov dword [ebp - 8], esi
cmp word [eax + esi*2], 0x3d
jne 0x40745d
inc esi
push 0x55
lea ecx, [ebp - 0x48]
mov dword [ebp - 8], esi
call fcn.00407c31
jmp 0x40745d
mov eax, dword [ebp + 0xc]
inc esi
mov dword [ebp - 8], esi
cmp word [eax + esi*2], 0x3d
lea ecx, [ebp - 0x48]
je 0x407952
push 0x42
call fcn.00407c31
jmp 0x40745d
mov edi, 0x32
jmp 0x407502
push 0x4b
lea ecx, [ebp - 0x48]
call fcn.00407c31
mov eax, dword [ebp + 0xc]
inc esi
mov dword [ebp - 8], esi
cmp word [eax + esi*2], 0x3d
jne 0x40745d
jmp 0x474b64
push 0x44
call fcn.00407c31
inc esi
mov dword [ebp - 8], esi
jmp 0x40745d
push 0x46
call fcn.00407c31
inc esi
mov dword [ebp - 8], esi
jmp 0x40745d
push 0x45
call fcn.00407c31
inc esi
mov dword [ebp - 8], esi
jmp 0x40745d
push 0x50
call fcn.00407c31
inc esi
mov dword [ebp - 8], esi
jmp 0x40745d
mov esi, dword [ebp - 8]
cmp edi, 0x2e
jne 0x474b4d
inc esi
lea ecx, [ebp - 0x58]
mov dword [ebp - 8], esi
call fcn.00408a3d
movzx eax, word [ebx + esi*2]
cmp ax, 0x5a
jbe 0x4079ac
cmp ax, 0x61
jb 0x4079b4
cmp ax, 0x7a
ja 0x4079b4
push eax
lea ecx, [ebp - 0x58]
call fcn.004082c6
inc esi
jmp 0x40798a
cmp ax, 0x41
jae 0x4079a0
jmp 0x407994
cmp ax, 0x30
jae 0x474b3e
cmp ax, 0x5f
je 0x4079a0
cmp ax, 0x7f
ja 0x4079a0
cmp dword [ebp - 0x54], 0
mov dword [ebp - 8], esi
je 0x474d45
push 0x35
lea ecx, [ebp - 0x48]
call fcn.00407c31
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0x48]
call fcn.0041f3c0
mov ecx, dword [ebp + 0x10]
lea eax, [ebp - 0x48]
push eax
call fcn.00407b00
mov eax, dword [ebp - 0x4c]
mov ebx, dword [ebp - 0x58]
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x10], ebx
jmp 0x407469
cmp edi, 0x7a
jbe 0x4073a8
jmp 0x407315
push 0x57
lea ecx, [ebp - 0x48]
call fcn.00407c31
mov ecx, dword [ebp + 0x10]
lea eax, [ebp - 0x48]
push eax
call fcn.00407b00
inc esi
mov dword [ebp - 8], esi
jmp 0x407469
push 0x58
lea ecx, [ebp - 0x48]
call fcn.00407c31
mov ecx, dword [ebp + 0x10]
lea eax, [ebp - 0x48]
push eax
call fcn.00407b00
inc esi
mov dword [ebp - 8], esi
jmp 0x407469
xor eax, eax
mov dword [ebp - 0xc], eax
jmp 0x40725b
xor eax, eax
mov dword [ebp - 0xc], eax
jmp 0x407628
push dword [ecx]
call fcn.00420c3e
mov eax, dword [ebp - 8]
add esp, 4
push dword [eax + 0xc]
call fcn.00420c3e
mov ecx, dword [ebp - 8]
add esp, 4
jmp 0x407369
cmp ax, 0x39
jbe 0x4079a0
jmp 0x4079be
mov eax, dword [ebp - 0x4c]
mov ebx, dword [ebp - 0x58]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x10], ebx
jmp 0x407303
inc esi
push 0x54
lea ecx, [ebp - 0x48]
mov dword [ebp - 8], esi
call fcn.00407c31
jmp 0x40745d
push 0x51
lea ecx, [ebp - 0x48]
call fcn.00407c31
mov ecx, dword [ebp + 0x10]
lea eax, [ebp - 0x48]
push eax
call fcn.00407b00
inc esi
mov dword [ebp - 8], esi
jmp 0x407469
test esi, esi
jne case.0x407345.27
cmp word [ecx + 2], si
jne case.0x407345.27
mov eax, dword [ebp + 8]
cmp eax, dword [0x4c32f8]
jl case.0x407345.27
mov esi, 1
mov dword [ebp - 8], esi
jmp 0x40746f
mov ecx, dword [ebp - 0x48]
test ecx, ecx
je 0x407512
push ecx
call fcn.0041b569
jmp 0x407512
cmp di, 0x10
jne 0x474bed
xorps xmm0, xmm0
movlpd qword [ebp - 0x48], xmm0
jmp 0x40752d
cmp di, 0x20
jne 0x407526
xorps xmm0, xmm0
movsd qword [ebp - 0x48], xmm0
jmp 0x40752d
dec eax
mov dword [ecx], eax
lea ecx, [ebp - 0x58]
call fcn.00406df2
mov edi, dword [ebp - 0x54]
lea eax, [edi + 2]
push eax
call fcn.00408e93
xor ecx, ecx
mov dword [ebp - 0x50], eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00420bca
mov ecx, eax
add esp, 4
lea eax, [edi*2 + 2]
push eax
push dword [ebp - 0x58]
mov dword [ebp - 0x10], ecx
push ecx
call fcn.00420560
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x50]
add esp, 0xc
mov dword [ebp - 0x58], eax
mov dword [ebp - 0xc], ecx
jmp 0x407586
movd xmm0, eax
cvtdq2pd xmm0, xmm0
cmp eax, 0x2000000
jae 0x474caf
shr eax, 0x1f
fnstcw word [ebp - 6]
addsd xmm0, qword [eax*8 + 0x4b7590]
movzx eax, word [ebp - 6]
or eax, 0xc00
mulsd xmm0, qword [0x4b3758]
mov dword [ebp - 0x18], eax
movsd qword [ebp - 0x2c], xmm0
fld qword [ebp - 0x2c]
fldcw word [ebp - 0x18]
fistp qword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
fldcw word [ebp - 6]
jmp 0x407707
cmp eax, 0x8000000
jae 0x474cf2
shr eax, 0x1f
fnstcw word [ebp - 6]
addsd xmm0, qword [eax*8 + 0x4b7590]
movzx eax, word [ebp - 6]
or eax, 0xc00
mulsd xmm0, qword [0x4b3750]
mov dword [ebp - 0x18], eax
movsd qword [ebp - 0x34], xmm0
fld qword [ebp - 0x34]
fldcw word [ebp - 0x18]
fistp qword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
fldcw word [ebp - 6]
jmp 0x407707
shr eax, 0x1f
fnstcw word [ebp - 6]
addsd xmm0, qword [eax*8 + 0x4b7590]
movzx eax, word [ebp - 6]
or eax, 0xc00
mulsd xmm0, qword [0x4b3748]
mov dword [ebp - 0x18], eax
movsd qword [ebp - 0x3c], xmm0
fld qword [ebp - 0x3c]
fldcw word [ebp - 0x18]
fistp qword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
fldcw word [ebp - 6]
jmp 0x407707
push ecx
call fcn.0041b569
jmp 0x407430
mov dword [ebp - 0x48], 0
jmp 0x40745d
lea eax, [esi - 1]
push eax
push 0x138b
push dword [ebp + 8]
call fcn.00443b47
mov esi, dword [ebp - 0x4c]
mov ebx, dword [ebp - 0x58]
or edi, 0xffffffff
jmp 0x4074b5
push dword [ebp - 8]
push 0x138c
push dword [ebp + 8]
call fcn.00443b47
mov esi, dword [ebp - 0x4c]
mov ebx, dword [ebp - 0x58]
or edi, 0xffffffff
jmp 0x4074b5
push 0x7f
call fcn.00407c31
mov ecx, dword [ebp + 0x10]
lea eax, [ebp - 0x48]
push eax
call fcn.00407b00
mov esi, dword [ebp - 0x4c]
mov ebx, dword [ebp - 0x58]
or edi, 0xffffffff
jmp 0x4074b5
push esi
push 0x1388
push dword [ebp + 8]
call fcn.00443b47
push 0x7f
lea ecx, [ebp - 0x48]
call fcn.00407c31
mov ecx, dword [ebp + 0x10]
lea eax, [ebp - 0x48]
push eax
call fcn.00407b00
mov esi, dword [ebp - 0xc]
or edi, 0xffffffff
jmp 0x4074b5
lea eax, [esi - 1]
push eax
push 0x138b
push dword [ebp + 8]
call fcn.00443b47
mov ebx, dword [ebp - 0x10]
mov esi, dword [ebp - 0xc]
or edi, 0xffffffff
jmp 0x4074b5
push esi
push 0x138b
push dword [ebp + 8]
call fcn.00443b47
mov esi, dword [ebp - 0xc]
or edi, 0xffffffff
jmp 0x4074b5
mov ecx, dword [ebp - 0x48]
test ecx, ecx
je 0x4074db
push ecx
call fcn.0041b569
jmp 0x4074db