Function at 0x40a2e0
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.00420bea
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.00420bea
add esp, 4
mov dword [ebp - 0xc], eax
test eax, eax
je 0x40ab46
mov dword [eax], 1
mov edx, dword [ebp + 0x10]
xor edi, edi
mov dword [ebp - 0x4c], eax
cmp dword [edx + 8], esi
jbe 0x40a39a
jmp 0x40a360
mov eax, dword [edx + 4]
mov eax, dword [eax + edi*4]
mov dword [ebp - 0x18], eax
test eax, eax
je 0x40a38d
movzx ecx, word [eax + 8]
cmp cx, 0x3f
jg 0x40a381
cmp cx, 0x30
jge 0x40a43c
push eax
call fcn.00420c5e
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 0x40a360
mov ecx, dword [ebp + 0xc]
mov dword [edx + 8], esi
cmp word [ecx], si
je 0x40a581
lea esp, [esp]
movzx eax, word [ecx + esi*2]
cmp eax, 0x20
je 0x40a489
cmp eax, 9
je 0x40a489
movzx eax, word [ecx + esi*2]
mov dword [ebp - 8], esi
test ax, ax
je 0x40a56a
mov edi, eax
mov word [ebp - 0x3e], si
cmp edi, 0x30
jb 0x40a3ea
cmp edi, 0x39
jbe 0x40a698
cmp edi, 0x2e
je 0x40a698
cmp edi, 0x41
jae 0x40a48f
cmp edi, 0x61
jae 0x40aafa
cmp edi, 0x5f
je 0x40a498
mov eax, edi
cmp eax, 0x24
je case.0x40a435.64
cmp eax, 0x3d
je 0x40a750
sub eax, 0x1a
cmp eax, 0x44
ja case.0x40a435.27
movzx eax, byte [eax + 0x40aba8]
jmp dword [eax*4 + 0x40ab5c]
mov ecx, dword [eax]
mov dword [ebp - 8], ecx
test ecx, ecx
je 0x40a381
mov eax, dword [ecx + 0xc]
dec dword [eax]
mov eax, dword [ecx + 0xc]
cmp dword [eax], esi
je 0x474b60
push ecx
call fcn.00420c5e
mov eax, dword [ebp - 0x18]
add esp, 4
jmp 0x40a381
push 0x40
lea ecx, [ebp - 0x48]
call fcn.0040ad21
mov ecx, dword [ebp + 0x10]
lea eax, [ebp - 0x48]
push eax
call fcn.0040abf0
inc esi
mov dword [ebp - 8], esi
jmp 0x40a559
inc esi
jmp 0x40a3b0
cmp edi, 0x5a
ja 0x40a3fc
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 8]
push eax
push dword [ebp + 0xc]
call fcn.0040ae60
cmp dword [ebp - 0x48], 0xffffffff
je 0x474da6
mov ecx, dword [ebp + 0x10]
lea eax, [ebp - 0x48]
push eax
call fcn.0040abf0
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 0x40a559
cmp bx, 0x30
jae 0x40a68c
cmp bx, 0x5f
je 0x40a65d
mov dword [ebp - 8], esi
test edi, edi
je 0x474e14
lea ecx, [ebp - 0x58]
call fcn.0040ad9a
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 0x40a520
mov ecx, dword [ebp - 0x48]
test ecx, ecx
jne 0x474d70
push 0x10
call fcn.00420bea
mov ecx, eax
mov eax, dword [ebp - 0x4c]
add esp, 4
mov dword [ebp - 0xc], eax
test ecx, ecx
je 0x474d7b
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.0040abf0
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 0x10]
cmp word [ecx + esi*2], 0
jne 0x40a3b0
mov ax, word [ebp - 0x40]
cmp ax, 0x30
jl 0x40a57e
cmp ax, 0x3f
jle 0x40a89b
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.0040abf0
mov esi, dword [ebp - 0xc]
xor edi, edi
dec dword [esi]
jne 0x40a5bb
push ebx
call fcn.00420c5e
add esp, 4
push esi
call fcn.00420c5e
add esp, 4
mov eax, dword [ebp - 0x40]
add eax, 0xffffffd0
cmp ax, 0xf
jbe 0x474e4c
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push edx
call fcn.0040ae04
test eax, eax
js 0x474e33
cmp edi, 0x24
jne 0x40a9f7
mov edi, 0x33
mov eax, dword [ebp - 0x40]
add eax, 0xffffffd0
cmp ax, 0xf
jbe 0x474c06
lea eax, [edi - 0x30]
mov word [ebp - 0x40], di
mov dword [ebp - 0x20], eax
cmp ax, 0xf
ja 0x474c1c
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 0x40a6fa
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 0x40a684
cmp bx, 0x61
jb 0x40a4d6
cmp bx, 0x7a
ja 0x40a4d6
mov eax, dword [ecx]
cmp eax, 1
jg 0x474c46
lea eax, [edi + 2]
cmp edx, eax
jb 0x40a7ea
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 0x40a639
cmp bx, 0x41
jae 0x40a65d
jmp 0x40a649
cmp bx, 0x39
ja 0x40a4e0
jmp 0x40a65d
mov ecx, dword [edx + 8]
mov esi, 0x40
mov dword [ebp - 0x18], ecx
test ecx, ecx
je 0x40a6b2
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.0040b0fe
cmp al, 1
jne 0x40aa62
cmp si, 0x4a
je 0x40a948
mov ecx, dword [ebp + 0x10]
lea eax, [ebp - 0x48]
push eax
call fcn.0040abf0
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 0x40a559
dec eax
push 4
mov dword [ecx], eax
call fcn.00420bea
add esp, 4
mov dword [ebp - 0xc], eax
test eax, eax
je 0x40ab50
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.00420569
mov ecx, dword [ebp - 0xc]
mov ebx, eax
add esp, 4
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x58], ebx
jmp 0x40a62f
inc esi
mov dword [ebp - 8], esi
cmp word [ecx + esi*2], 0x3d
lea ecx, [ebp - 0x48]
je 0x40aa52
push 0x41
call fcn.0040ad21
jmp 0x40a54d
push 0x47
lea ecx, [ebp - 0x48]
call fcn.0040ad21
mov ecx, dword [ebp + 0x10]
lea eax, [ebp - 0x48]
push eax
call fcn.0040abf0
inc esi
mov dword [ebp - 8], esi
jmp 0x40a559
push 0x48
lea ecx, [ebp - 0x48]
call fcn.0040ad21
mov ecx, dword [ebp + 0x10]
lea eax, [ebp - 0x48]
push eax
call fcn.0040abf0
inc esi
mov dword [ebp - 8], esi
jmp 0x40a559
push 0x4e
lea ecx, [ebp - 0x48]
call fcn.0040ad21
mov ecx, dword [ebp + 0x10]
lea eax, [ebp - 0x48]
push eax
call fcn.0040abf0
inc esi
mov dword [ebp - 8], esi
jmp 0x40a559
push 0x4f
lea ecx, [ebp - 0x48]
call fcn.0040ad21
mov ecx, dword [ebp + 0x10]
lea eax, [ebp - 0x48]
push eax
call fcn.0040abf0
inc esi
mov dword [ebp - 8], esi
jmp 0x40a559
cmp eax, 0x41c2
jae 0x474ca6
add eax, eax
push eax
call fcn.0040bf83
xor ecx, ecx
mov dword [ebp - 0x50], eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00420569
mov edx, eax
mov eax, dword [ebp - 0x10]
add esp, 4
mov dword [ebp - 0x18], edx
test eax, eax
je 0x40a846
lea ecx, [edi*2 + 2]
push ecx
push eax
push edx
call fcn.00420580
mov ecx, dword [ebp - 0x10]
add esp, 0xc
push ecx
call fcn.004224e0
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 0x40a639
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 8]
push eax
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040b33d
lea ecx, [ebp - 0x48]
test eax, eax
js 0x474dc4
push 0x36
call fcn.0040ad21
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0x48]
call fcn.0041edc5
jmp 0x40a4b6
mov edi, dword [ebp - 0x48]
test edi, edi
je 0x40a57e
mov ecx, edi
call fcn.00407487
push edi
call fcn.00420c5e
add esp, 4
jmp 0x40a57e
push 0x49
lea ecx, [ebp - 0x48]
call fcn.0040ad21
mov eax, dword [ebp + 0xc]
inc esi
mov dword [ebp - 8], esi
cmp word [eax + esi*2], 0x3d
jne 0x40a54d
inc esi
push 0x52
lea ecx, [ebp - 0x48]
mov dword [ebp - 8], esi
call fcn.0040ad21
jmp 0x40a54d
push 0x4d
lea ecx, [ebp - 0x48]
call fcn.0040ad21
mov eax, dword [ebp + 0xc]
inc esi
mov dword [ebp - 8], esi
cmp word [eax + esi*2], 0x3d
jne 0x40a54d
inc esi
push 0x56
lea ecx, [ebp - 0x48]
mov dword [ebp - 8], esi
call fcn.0040ad21
jmp 0x40a54d
push 0x4a
lea ecx, [ebp - 0x48]
call fcn.0040ad21
mov eax, dword [ebp + 0xc]
inc esi
mov dword [ebp - 8], esi
cmp word [eax + esi*2], 0x3d
jne 0x40a54d
inc esi
push 0x53
lea ecx, [ebp - 0x48]
mov dword [ebp - 8], esi
call fcn.0040ad21
jmp 0x40a54d
cmp word [ebp - 0x40], 5
jne 0x40a6da
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 0x40a6dd
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 0x40aa32
dec eax
je 0x40aa22
push 0x43
call fcn.0040ad21
jmp 0x40a54d
push 0x4c
lea ecx, [ebp - 0x48]
call fcn.0040ad21
mov eax, dword [ebp + 0xc]
inc esi
mov dword [ebp - 8], esi
cmp word [eax + esi*2], 0x3d
jne 0x40a54d
inc esi
push 0x55
lea ecx, [ebp - 0x48]
mov dword [ebp - 8], esi
call fcn.0040ad21
jmp 0x40a54d
mov eax, dword [ebp + 0xc]
inc esi
mov dword [ebp - 8], esi
cmp word [eax + esi*2], 0x3d
lea ecx, [ebp - 0x48]
je 0x40aa42
push 0x42
call fcn.0040ad21
jmp 0x40a54d
mov edi, 0x32
jmp 0x40a5f2
push 0x4b
lea ecx, [ebp - 0x48]
call fcn.0040ad21
mov eax, dword [ebp + 0xc]
inc esi
mov dword [ebp - 8], esi
cmp word [eax + esi*2], 0x3d
jne 0x40a54d
jmp 0x474ba6
push 0x44
call fcn.0040ad21
inc esi
mov dword [ebp - 8], esi
jmp 0x40a54d
push 0x46
call fcn.0040ad21
inc esi
mov dword [ebp - 8], esi
jmp 0x40a54d
push 0x45
call fcn.0040ad21
inc esi
mov dword [ebp - 8], esi
jmp 0x40a54d
push 0x50
call fcn.0040ad21
inc esi
mov dword [ebp - 8], esi
jmp 0x40a54d
mov esi, dword [ebp - 8]
cmp edi, 0x2e
jne 0x474b8f
inc esi
lea ecx, [ebp - 0x58]
mov dword [ebp - 8], esi
call fcn.0040bb2d
movzx eax, word [ebx + esi*2]
cmp ax, 0x5a
jbe 0x40aa9c
cmp ax, 0x61
jb 0x40aaa4
cmp ax, 0x7a
ja 0x40aaa4
push eax
lea ecx, [ebp - 0x58]
call fcn.0040b3b6
inc esi
jmp 0x40aa7a
cmp ax, 0x41
jae 0x40aa90
jmp 0x40aa84
cmp ax, 0x30
jae 0x474b80
cmp ax, 0x5f
je 0x40aa90
cmp ax, 0x7f
ja 0x40aa90
cmp dword [ebp - 0x54], 0
mov dword [ebp - 8], esi
je 0x474d87
push 0x35
lea ecx, [ebp - 0x48]
call fcn.0040ad21
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0x48]
call fcn.0041edc5
mov ecx, dword [ebp + 0x10]
lea eax, [ebp - 0x48]
push eax
call fcn.0040abf0
mov eax, dword [ebp - 0x4c]
mov ebx, dword [ebp - 0x58]
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x10], ebx
jmp 0x40a559
cmp edi, 0x7a
jbe 0x40a498
jmp 0x40a405
push 0x57
lea ecx, [ebp - 0x48]
call fcn.0040ad21
mov ecx, dword [ebp + 0x10]
lea eax, [ebp - 0x48]
push eax
call fcn.0040abf0
inc esi
mov dword [ebp - 8], esi
jmp 0x40a559
push 0x58
lea ecx, [ebp - 0x48]
call fcn.0040ad21
mov ecx, dword [ebp + 0x10]
lea eax, [ebp - 0x48]
push eax
call fcn.0040abf0
inc esi
mov dword [ebp - 8], esi
jmp 0x40a559
xor eax, eax
mov dword [ebp - 0xc], eax
jmp 0x40a34b
xor eax, eax
mov dword [ebp - 0xc], eax
jmp 0x40a718
push dword [ecx]
call fcn.00420c5e
mov eax, dword [ebp - 8]
add esp, 4
push dword [eax + 0xc]
call fcn.00420c5e
mov ecx, dword [ebp - 8]
add esp, 4
jmp 0x40a459
cmp ax, 0x39
jbe 0x40aa90
jmp 0x40aaae
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 0x40a3f3
inc esi
push 0x54
lea ecx, [ebp - 0x48]
mov dword [ebp - 8], esi
call fcn.0040ad21
jmp 0x40a54d
push 0x51
lea ecx, [ebp - 0x48]
call fcn.0040ad21
mov ecx, dword [ebp + 0x10]
lea eax, [ebp - 0x48]
push eax
call fcn.0040abf0
inc esi
mov dword [ebp - 8], esi
jmp 0x40a559
test esi, esi
jne case.0x40a435.27
cmp word [ecx + 2], si
jne case.0x40a435.27
mov eax, dword [ebp + 8]
cmp eax, dword [0x4c32f8]
jl case.0x40a435.27
mov esi, 1
mov dword [ebp - 8], esi
jmp 0x40a55f
mov ecx, dword [ebp - 0x48]
test ecx, ecx
je 0x40a602
push ecx
call fcn.0040276d
jmp 0x40a602
cmp di, 0x10
jne 0x474c2f
xorps xmm0, xmm0
movlpd qword [ebp - 0x48], xmm0
jmp 0x40a61d
cmp di, 0x20
jne 0x40a616
xorps xmm0, xmm0
movsd qword [ebp - 0x48], xmm0
jmp 0x40a61d
dec eax
mov dword [ecx], eax
lea ecx, [ebp - 0x58]
call fcn.00409d92
mov edi, dword [ebp - 0x54]
lea eax, [edi + 2]
push eax
call fcn.0040bf83
xor ecx, ecx
mov dword [ebp - 0x50], eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00420bea
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.00420580
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 0x40a676
movd xmm0, eax
cvtdq2pd xmm0, xmm0
cmp eax, 0x2000000
jae 0x474cf1
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 0x40a7f7
cmp eax, 0x8000000
jae 0x474d34
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 0x40a7f7
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 0x40a7f7
push ecx
call fcn.0040276d
jmp 0x40a520
mov dword [ebp - 0x48], 0
jmp 0x40a54d
lea eax, [esi - 1]
push eax
push 0x138b
push dword [ebp + 8]
call fcn.00443b67
mov esi, dword [ebp - 0x4c]
mov ebx, dword [ebp - 0x58]
or edi, 0xffffffff
jmp 0x40a5a5
push dword [ebp - 8]
push 0x138c
push dword [ebp + 8]
call fcn.00443b67
mov esi, dword [ebp - 0x4c]
mov ebx, dword [ebp - 0x58]
or edi, 0xffffffff
jmp 0x40a5a5
push 0x7f
call fcn.0040ad21
mov ecx, dword [ebp + 0x10]
lea eax, [ebp - 0x48]
push eax
call fcn.0040abf0
mov esi, dword [ebp - 0x4c]
mov ebx, dword [ebp - 0x58]
or edi, 0xffffffff
jmp 0x40a5a5
push esi
push 0x1388
push dword [ebp + 8]
call fcn.00443b67
push 0x7f
lea ecx, [ebp - 0x48]
call fcn.0040ad21
mov ecx, dword [ebp + 0x10]
lea eax, [ebp - 0x48]
push eax
call fcn.0040abf0
mov esi, dword [ebp - 0xc]
or edi, 0xffffffff
jmp 0x40a5a5
lea eax, [esi - 1]
push eax
push 0x138b
push dword [ebp + 8]
call fcn.00443b67
mov ebx, dword [ebp - 0x10]
mov esi, dword [ebp - 0xc]
or edi, 0xffffffff
jmp 0x40a5a5
push esi
push 0x138b
push dword [ebp + 8]
call fcn.00443b67
mov esi, dword [ebp - 0xc]
or edi, 0xffffffff
jmp 0x40a5a5
mov ecx, dword [ebp - 0x48]
test ecx, ecx
je 0x40a5cb
push ecx
call fcn.0040276d
jmp 0x40a5cb