Function at 0x41e070
Capabilities:
Reference wmi statements

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x480926
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x1f0
mov eax, dword [0x49d980]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x60], 0
push str.Caption
lea ecx, [ebp - 0xac]
mov dword [ebp - 4], 0
call fcn.0041efe0
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 1
push ecx
lea eax, [ebp - 0x94]
push eax
push ecx
lea ecx, [ebp - 0x88]
call fcn.0041ee10
push str.SELECT__FROM_Win32_USBController
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 2
call fcn.0041efe0
lea eax, [ebp - 0x88]
mov byte [ebp - 4], 3
push eax
lea edx, [ebp - 0x78]
lea ecx, [ebp - 0x13c]
call fcn.0041db90
mov byte [ebp - 4], 2
add esp, 4
mov ecx, dword [ebp - 0x64]
mov dword [ebp - 0x60], 2
cmp ecx, 7
jbe 0x41e169
mov edx, dword [ebp - 0x78]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x41e15f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x41e15f
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.0047cd98
add esp, 8
xor eax, eax
mov dword [ebp - 0x68], 0
lea ecx, [ebp - 0x88]
mov dword [ebp - 0x64], 7
mov word [ebp - 0x78], ax
call fcn.0041f170
push 0x407120
push 1
push 0x18
lea eax, [ebp - 0xac]
mov byte [ebp - 4], 0
push eax
call fcn.0047d0e8
push str.Product
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 4
call fcn.0041efe0
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 5
push ecx
lea eax, [ebp - 0x94]
push eax
push ecx
lea ecx, [ebp - 0x88]
call fcn.0041ee10
push str.SELECT__FROM_Win32_BaseBoard
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 6
call fcn.0041efe0
lea eax, [ebp - 0x88]
mov byte [ebp - 4], 7
push eax
lea edx, [ebp - 0x78]
lea ecx, [ebp - 0x124]
call fcn.0041db90
mov byte [ebp - 4], 6
add esp, 4
mov ecx, dword [ebp - 0x64]
mov dword [ebp - 0x60], 6
cmp ecx, 7
jbe 0x41e247
mov edx, dword [ebp - 0x78]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x41e23d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x41e23d
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.0047cd98
add esp, 8
xor eax, eax
mov dword [ebp - 0x68], 0
lea ecx, [ebp - 0x88]
mov dword [ebp - 0x64], 7
mov word [ebp - 0x78], ax
call fcn.0041f170
push 0x407120
push 1
push 0x18
lea eax, [ebp - 0xac]
mov byte [ebp - 4], 4
push eax
call fcn.0047d0e8
push str.Caption
lea ecx, [ebp - 0x16c]
mov byte [ebp - 4], 8
call fcn.0041efe0
push str.Size
lea ecx, [ebp - 0x154]
mov byte [ebp - 4], 9
call fcn.0041efe0
lea ecx, [ebp - 0x16c]
mov byte [ebp - 4], 0xa
push ecx
lea eax, [ebp - 0x13c]
push eax
push ecx
lea ecx, [ebp - 0x88]
call fcn.0041ee10
push str.SELECT__FROM_Win32_DiskDrive
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0xb
call fcn.0041efe0
lea eax, [ebp - 0x88]
mov byte [ebp - 4], 0xc
push eax
lea edx, [ebp - 0x78]
lea ecx, [ebp - 0x10c]
call fcn.0041db90
mov byte [ebp - 4], 0xb
add esp, 4
mov ecx, dword [ebp - 0x64]
mov dword [ebp - 0x60], 0xe
cmp ecx, 7
jbe 0x41e339
mov edx, dword [ebp - 0x78]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x41e32f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x41e32f
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.0047cd98
add esp, 8
xor eax, eax
mov dword [ebp - 0x68], 0
lea ecx, [ebp - 0x88]
mov dword [ebp - 0x64], 7
mov word [ebp - 0x78], ax
call fcn.0041f170
push 0x407120
push 2
push 0x18
lea eax, [ebp - 0x16c]
mov byte [ebp - 4], 8
push eax
call fcn.0047d0e8
push str.Name
lea ecx, [ebp - 0x200]
mov byte [ebp - 4], 0xd
call fcn.0041efe0
push str.AdapterRam
lea ecx, [ebp - 0x1e8]
mov byte [ebp - 4], 0xe
call fcn.0041efe0
push str.VideoMemoryType
lea ecx, [ebp - 0x1d0]
mov byte [ebp - 4], 0xf
call fcn.0041efe0
push str.AdapterCompatibility
lea ecx, [ebp - 0x1b8]
mov byte [ebp - 4], 0x10
call fcn.0041efe0
push str.MaxRefreshRate
lea ecx, [ebp - 0x1a0]
mov byte [ebp - 4], 0x11
call fcn.0041efe0
push str.MinRefreshRate
lea ecx, [ebp - 0x188]
mov byte [ebp - 4], 0x12
call fcn.0041efe0
lea ecx, [ebp - 0x200]
mov byte [ebp - 4], 0x13
push ecx
lea eax, [ebp - 0x170]
push eax
push ecx
lea ecx, [ebp - 0x88]
call fcn.0041ee10
push str.SELECT__FROM_Win32_VideoController
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0x14
call fcn.0041efe0
lea eax, [ebp - 0x88]
mov byte [ebp - 4], 0x15
push eax
lea edx, [ebp - 0x78]
lea ecx, [ebp - 0xf4]
call fcn.0041db90
mov byte [ebp - 4], 0x14
add esp, 4
mov ecx, dword [ebp - 0x64]
mov dword [ebp - 0x60], 0x1e
cmp ecx, 7
jbe 0x41e47b
mov edx, dword [ebp - 0x78]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x41e471
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x41e471
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.0047cd98
add esp, 8
xor eax, eax
mov dword [ebp - 0x68], 0
lea ecx, [ebp - 0x88]
mov dword [ebp - 0x64], 7
mov word [ebp - 0x78], ax
call fcn.0041f170
push 0x407120
push 6
push 0x18
lea eax, [ebp - 0x200]
mov byte [ebp - 4], 0xd
push eax
call fcn.0047d0e8
push str.Name
lea ecx, [ebp - 0x1e8]
mov byte [ebp - 4], 0x16
call fcn.0041efe0
push str.Caption
lea ecx, [ebp - 0x1d0]
mov byte [ebp - 4], 0x17
call fcn.0041efe0
push str.Manufacturer
lea ecx, [ebp - 0x1b8]
mov byte [ebp - 4], 0x18
call fcn.0041efe0
push str.Description
lea ecx, [ebp - 0x1a0]
mov byte [ebp - 4], 0x19
call fcn.0041efe0
push str.MaxClockSpeed
lea ecx, [ebp - 0x188]
mov byte [ebp - 4], 0x1a
call fcn.0041efe0
lea ecx, [ebp - 0x1e8]
mov byte [ebp - 4], 0x1b
push ecx
lea eax, [ebp - 0x170]
push eax
push ecx
lea ecx, [ebp - 0x88]
call fcn.0041ee10
push str.SELECT__FROM_Win32_Processor
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0x1c
call fcn.0041efe0
lea eax, [ebp - 0x88]
mov byte [ebp - 4], 0x1d
push eax
lea edx, [ebp - 0x78]
lea ecx, [ebp - 0xdc]
call fcn.0041db90
mov byte [ebp - 4], 0x1c
add esp, 4
mov ecx, dword [ebp - 0x64]
mov dword [ebp - 0x60], 0x3e
cmp ecx, 7
jbe 0x41e5a9
mov edx, dword [ebp - 0x78]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x41e59f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x41e59f
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.0047cd98
add esp, 8
xor eax, eax
mov dword [ebp - 0x68], 0
lea ecx, [ebp - 0x88]
mov dword [ebp - 0x64], 7
mov word [ebp - 0x78], ax
call fcn.0041f170
push 0x407120
push 5
push 0x18
lea eax, [ebp - 0x1e8]
mov byte [ebp - 4], 0x16
push eax
call fcn.0047d0e8
push 0x48ed50
lea ecx, [ebp - 0x1b8]
mov byte [ebp - 4], 0x1e
call fcn.0041efe0
push str.Speed
lea ecx, [ebp - 0x1a0]
mov byte [ebp - 4], 0x1f
call fcn.0041efe0
push str.PartNumber
lea ecx, [ebp - 0x188]
mov byte [ebp - 4], 0x20
call fcn.0041efe0
lea ecx, [ebp - 0x1b8]
mov byte [ebp - 4], 0x21
push ecx
lea eax, [ebp - 0x170]
push eax
push ecx
lea ecx, [ebp - 0x88]
call fcn.0041ee10
push str.SELECT__FROM_Win32_PhysicalMemory
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0x22
call fcn.0041efe0
lea eax, [ebp - 0x88]
mov byte [ebp - 4], 0x23
push eax
lea edx, [ebp - 0x78]
lea ecx, [ebp - 0xc4]
call fcn.0041db90
mov byte [ebp - 4], 0x22
add esp, 4
mov ecx, dword [ebp - 0x64]
mov dword [ebp - 0x60], 0x7e
cmp ecx, 7
jbe 0x41e6af
mov edx, dword [ebp - 0x78]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x41e6a5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x41e6a5
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.0047cd98
add esp, 8
xor eax, eax
mov dword [ebp - 0x68], 0
lea ecx, [ebp - 0x88]
mov dword [ebp - 0x64], 7
mov word [ebp - 0x78], ax
call fcn.0041f170
push 0x407120
push 3
push 0x18
lea eax, [ebp - 0x1b8]
mov byte [ebp - 4], 0x1e
push eax
call fcn.0047d0e8
lea eax, [ebp - 0xdc]
push eax
lea eax, [ebp - 0xc4]
push eax
push dword [ebp - 0x7c]
lea ecx, [ebp - 0x154]
call fcn.0041f460
mov dword [ebp - 0x60], 0xfe
lea eax, [ebp - 0xf4]
mov byte [ebp - 4], 0x24
push eax
lea eax, [ebp - 0x154]
push eax
push dword [ebp - 0x7c]
lea ecx, [ebp - 0x94]
call fcn.0041f460
mov dword [ebp - 0x60], 0x1fe
lea eax, [ebp - 0x10c]
mov byte [ebp - 4], 0x25
push eax
lea eax, [ebp - 0x94]
push eax
push dword [ebp - 0x7c]
lea ecx, [ebp - 0xac]
call fcn.0041f460
mov dword [ebp - 0x60], 0x3fe
lea eax, [ebp - 0x124]
mov byte [ebp - 4], 0x26
push eax
lea eax, [ebp - 0xac]
push eax
push dword [ebp - 0x7c]
lea ecx, [ebp - 0x78]
call fcn.0041f460
mov dword [ebp - 0x60], 0x7fe
lea eax, [ebp - 0x13c]
mov byte [ebp - 4], 0x27
push eax
lea eax, [ebp - 0x78]
push eax
push dword [ebp - 0x7c]
lea ecx, [ebp - 0x44]
call fcn.0041f460
mov byte [ebp - 4], 0x29
mov ecx, dword [ebp - 0x64]
cmp ecx, 7
jbe 0x41e7d4
mov edx, dword [ebp - 0x78]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x41e7ca
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41eab4
push ecx
push edx
call fcn.0047cd98
add esp, 8
mov byte [ebp - 4], 0x2a
mov ecx, dword [ebp - 0x98]
cmp ecx, 7
jbe 0x41e818
mov edx, dword [ebp - 0xac]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x41e80e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41eab4
push ecx
push edx
call fcn.0047cd98
add esp, 8
mov byte [ebp - 4], 0x2b
mov ecx, dword [ebp - 0x80]
cmp ecx, 7
jbe 0x41e859
mov edx, dword [ebp - 0x94]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x41e84f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41eab4
push ecx
push edx
call fcn.0047cd98
add esp, 8
mov byte [ebp - 4], 0x2c
mov ecx, dword [ebp - 0x140]
cmp ecx, 7
jbe 0x41e89d
mov edx, dword [ebp - 0x154]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x41e893
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41eab4
push ecx
push edx
call fcn.0047cd98
add esp, 8
mov byte [ebp - 4], 0x2d
mov ecx, dword [ebp - 0xb0]
cmp ecx, 7
jbe 0x41e8e1
mov edx, dword [ebp - 0xc4]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x41e8d7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41eab4
push ecx
push edx
call fcn.0047cd98
add esp, 8
xor eax, eax
mov dword [ebp - 0xb4], 0
mov dword [ebp - 0xb0], 7
mov word [ebp - 0xc4], ax
mov byte [ebp - 4], 0x2e
mov ecx, dword [ebp - 0xc8]
cmp ecx, 7
jbe 0x41e942
mov edx, dword [ebp - 0xdc]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x41e938
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41eab4
push ecx
push edx
call fcn.0047cd98
add esp, 8
xor eax, eax
mov dword [ebp - 0xcc], 0
mov dword [ebp - 0xc8], 7
mov word [ebp - 0xdc], ax
mov byte [ebp - 4], 0x2f
mov ecx, dword [ebp - 0xe0]
cmp ecx, 7
jbe 0x41e9a3
mov edx, dword [ebp - 0xf4]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x41e999
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41eab4
push ecx
push edx
call fcn.0047cd98
add esp, 8
xor eax, eax
mov dword [ebp - 0xe4], 0
mov dword [ebp - 0xe0], 7
mov word [ebp - 0xf4], ax
mov byte [ebp - 4], 0x30
mov ecx, dword [ebp - 0xf8]
cmp ecx, 7
jbe 0x41ea04
mov edx, dword [ebp - 0x10c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x41e9fa
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41eab4
push ecx
push edx
call fcn.0047cd98
add esp, 8
xor eax, eax
mov dword [ebp - 0xfc], 0
mov dword [ebp - 0xf8], 7
mov word [ebp - 0x10c], ax
mov byte [ebp - 4], 0x31
mov ecx, dword [ebp - 0x110]
cmp ecx, 7
jbe 0x41ea61
mov edx, dword [ebp - 0x124]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x41ea57
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41eab4
push ecx
push edx
call fcn.0047cd98
add esp, 8
xor eax, eax
mov dword [ebp - 0x114], 0
mov dword [ebp - 0x110], 7
mov word [ebp - 0x124], ax
mov byte [ebp - 4], 0x32
mov ecx, dword [ebp - 0x128]
cmp ecx, 7
jbe 0x41eac4
mov edx, dword [ebp - 0x13c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x41eaba
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x41eaba
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.0047cd98
add esp, 8
xor eax, eax
mov dword [ebp - 0x12c], 0
push 5
xorps xmm0, xmm0
mov dword [ebp - 0x128], 7
push str.UTF_8
lea ecx, [ebp - 0x78]
mov word [ebp - 0x13c], ax
movups xmmword [ebp - 0x78], xmm0
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], eax
call fcn.0040cd30
mov byte [ebp - 4], 0x33
lea ecx, [ebp - 0x44]
cmp dword [ebp - 0x30], 7
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0x34]
cmova ecx, dword [ebp - 0x44]
push 0
push edx
lea ecx, [ecx + eax*2]
lea eax, [ebp - 0x44]
cmova eax, dword [ebp - 0x44]
push ecx
push eax
lea eax, [ebp - 0xac]
push eax
call fcn.0047b710
add esp, 0x14
mov byte [ebp - 4], 0x34
mov edx, dword [ebp - 0x98]
mov eax, edx
mov ecx, dword [ebp - 0x9c]
sub eax, ecx
push 0x18
push str._Rebirth_Game_a904be9d96
cmp eax, 0x18
jb 0x41eb80
cmp edx, 0xf
lea esi, [ebp - 0xac]
lea eax, [ecx + 0x18]
cmova esi, dword [ebp - 0xac]
add esi, ecx
mov dword [ebp - 0x9c], eax
push esi
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov byte [esi + 0x18], 0
lea eax, [ebp - 0xac]
jmp 0x41eb90
push dword [ebp - 0x7c]
lea ecx, [ebp - 0xac]
push 0x18
call fcn.0040cbd0
xorps xmm0, xmm0
mov dword [ebp - 0x1c], 0
movups xmmword [ebp - 0x2c], xmm0
mov dword [ebp - 0x18], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x2c], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x1c], xmm0
mov byte [ebp - 4], 0x36
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov ecx, dword [ebp - 0x98]
cmp ecx, 0xf
jbe 0x41ec01
mov edx, dword [ebp - 0xac]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41ebf7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41ec46
push ecx
push edx
call fcn.0047cd98
add esp, 8
mov dword [ebp - 0x9c], 0
mov dword [ebp - 0x98], 0xf
mov byte [ebp - 0xac], 0
mov byte [ebp - 4], 0x37
mov ecx, dword [ebp - 0x64]
cmp ecx, 0xf
jbe 0x41ec56
mov edx, dword [ebp - 0x78]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41ec4c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x41ec4c
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.0047cd98
add esp, 8
lea edx, [ebp - 0x2c]
mov dword [ebp - 0x68], 0
lea ecx, [ebp - 0x88]
mov dword [ebp - 0x64], 0xf
mov byte [ebp - 0x78], 0
call fcn.00401510
mov edx, eax
mov byte [ebp - 4], 0x38
lea ecx, [ebp - 0x5c]
call fcn.0041d760
mov byte [ebp - 4], 0x3a
mov edx, dword [ebp - 0x88]
test edx, edx
je 0x41ecdc
mov ecx, dword [ebp - 0x80]
mov eax, edx
sub ecx, edx
cmp ecx, 0x1000
jb 0x41ecb7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x41ecb7
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.0047cd98
add esp, 8
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x84], 0
mov dword [ebp - 0x80], 0
sub esp, 0x18
xorps xmm0, xmm0
mov ecx, esp
push 0xa
movups xmmword [ecx], xmm0
push str.5f223aeee8
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.0040cd30
lea edx, [ebp - 0x5c]
mov ecx, edi
call fcn.0041d670
mov ecx, dword [ebp - 0x48]
add esp, 0x18
cmp ecx, 0xf
jbe 0x41ed42
mov edx, dword [ebp - 0x5c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41ed38
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41edc2
push ecx
push edx
call fcn.0047cd98
add esp, 8
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 0xf
mov byte [ebp - 0x5c], 0
cmp ecx, 0xf
jbe 0x41ed84
mov edx, dword [ebp - 0x2c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41ed7a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41edc2
push ecx
push edx
call fcn.0047cd98
add esp, 8
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
cmp ecx, 7
jbe 0x41edd2
mov edx, dword [ebp - 0x44]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x41edc8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x41edc8
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.0047cd98
add esp, 8
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0047cd55
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret