Function at 0x411530
Capabilities:
Get system information on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x41cc7d
mov eax, dword fs:[0]
push eax
sub esp, 0x80
mov eax, dword [0x42400c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
xor eax, eax
sar eax, 4
push eax
push 0
call fcn.00415090
sub esp, 0x18
lea eax, [ebp - 0x4c]
mov edi, esp
mov dword [ebp - 0x5c], edi
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov ecx, dword [ebp - 0x38]
lea esi, [ebp - 0x13]
mov dword [ebp - 0x5c], ecx
mov eax, 0xcccccccd
dec esi
mul ecx
shr edx, 3
mov al, dl
shl al, 2
lea ecx, [eax + edx]
mov eax, dword [ebp - 0x5c]
add cl, cl
sub al, cl
mov ecx, edx
add al, 0x30
mov byte [esi], al
mov eax, edx
mov dword [ebp - 0x5c], eax
test eax, eax
jne 0x411585
push ecx
lea eax, [ebp - 0x13]
push eax
push esi
lea ecx, [ebp - 0x74]
call fcn.004056e0
lea eax, [ebp - 0x74]
mov dword [ebp - 4], 0
push eax
mov edx, str.CoreCount:
mov ecx, edi
call fcn.00404c40
mov dword [ebp - 4], 0xffffffff
add esp, 4
mov ecx, dword [ebp - 0x60]
cmp ecx, 0x10
jb 0x411613
mov edx, dword [ebp - 0x74]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x411609
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x411609
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.0041aa32
add esp, 8
lea ecx, [ebp - 0x58]
call fcn.004062c0
add esp, 0x18
mov dword [ebp - 4], 1
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 2
push eax
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x24], 0xf4
call fcn.00405df0
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x58]
test ecx, ecx
je 0x4116a1
mov edx, dword [ebp - 0x50]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x411682
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x411716
push edx
push ecx
call fcn.0041aa32
add esp, 8
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0
mov dword [ebp - 4], 3
mov edi, dword [0x424994]
cmp edi, dword [0x424998]
je 0x4116da
mov eax, dword [ebp - 0x24]
xor esi, esi
mov ecx, dword [ebp - 0x18]
xor edx, edx
mov dword [edi], eax
mov eax, dword [ebp - 0x20]
mov dword [edi + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [edi + 8], eax
mov dword [edi + 0xc], ecx
add dword [0x424994], 0x10
jmp 0x4116ef
lea eax, [ebp - 0x24]
mov ecx, 0x424990
push eax
push edi
call fcn.0040abf0
mov esi, dword [ebp - 0x18]
mov edx, dword [ebp - 0x20]
mov dword [ebp - 4], 0xffffffff
test edx, edx
je 0x411726
sub esi, edx
mov eax, edx
cmp esi, 0x1000
jb 0x41171c
mov edx, dword [eax - 4]
add esi, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x41171c
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push esi
push edx
call fcn.0041aa32
add esp, 8
sub esp, 0x18
lea esi, [ebp - 0x58]
mov ecx, esp
call fcn.0040bd90
mov ecx, esi
call fcn.004062c0
add esp, 0x18
mov dword [ebp - 4], 4
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
mov eax, esi
mov byte [ebp - 4], 5
push eax
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x24], 0xf5
call fcn.00405df0
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x58]
test edx, edx
je 0x4117bf
mov ecx, dword [ebp - 0x50]
mov eax, edx
sub ecx, edx
cmp ecx, 0x1000
jb 0x4117a0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x411834
push ecx
push edx
call fcn.0041aa32
add esp, 8
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0
mov dword [ebp - 4], 6
mov edi, dword [0x424994]
cmp edi, dword [0x424998]
je 0x4117f8
mov eax, dword [ebp - 0x24]
xor esi, esi
mov ecx, dword [ebp - 0x18]
xor edx, edx
mov dword [edi], eax
mov eax, dword [ebp - 0x20]
mov dword [edi + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [edi + 8], eax
mov dword [edi + 0xc], ecx
add dword [0x424994], 0x10
jmp 0x41180d
lea eax, [ebp - 0x24]
mov ecx, 0x424990
push eax
push edi
call fcn.0040abf0
mov esi, dword [ebp - 0x18]
mov edx, dword [ebp - 0x20]
mov dword [ebp - 4], 0xffffffff
test edx, edx
je 0x411844
sub esi, edx
mov eax, edx
cmp esi, 0x1000
jb 0x41183a
mov edx, dword [eax - 4]
add esi, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x41183a
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push esi
push edx
call fcn.0041aa32
add esp, 8
sub esp, 0x18
lea esi, [ebp - 0x58]
mov ecx, esp
call fcn.0040bbf0
mov ecx, esi
call fcn.004062c0
add esp, 0x18
mov dword [ebp - 4], 7
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
mov eax, esi
mov byte [ebp - 4], 8
push eax
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x24], 0xf6
call fcn.00405df0
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x58]
test edx, edx
je 0x4118dd
mov ecx, dword [ebp - 0x50]
mov eax, edx
sub ecx, edx
cmp ecx, 0x1000
jb 0x4118be
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x411952
push ecx
push edx
call fcn.0041aa32
add esp, 8
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0
mov dword [ebp - 4], 9
mov edi, dword [0x424994]
cmp edi, dword [0x424998]
je 0x411916
mov eax, dword [ebp - 0x24]
xor esi, esi
mov ecx, dword [ebp - 0x18]
xor edx, edx
mov dword [edi], eax
mov eax, dword [ebp - 0x20]
mov dword [edi + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [edi + 8], eax
mov dword [edi + 0xc], ecx
add dword [0x424994], 0x10
jmp 0x41192b
lea eax, [ebp - 0x24]
mov ecx, 0x424990
push eax
push edi
call fcn.0040abf0
mov esi, dword [ebp - 0x18]
mov edx, dword [ebp - 0x20]
mov dword [ebp - 4], 0xffffffff
test edx, edx
je 0x411962
sub esi, edx
mov eax, edx
cmp esi, 0x1000
jb 0x411958
mov edx, dword [eax - 4]
add esi, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x411958
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push esi
push edx
call fcn.0041aa32
add esp, 8
sub esp, 0x18
lea esi, [ebp - 0x58]
cmp dword [sym.imp.KERNEL32.dll_IsWow64Process], 0
mov ecx, esp
xorps xmm0, xmm0
mov dword [ebp - 0x5c], ecx
push 3
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
je 0x411993
push 0x41ea98
jmp 0x411998
push 0x41ea9c
call fcn.00404fa0
mov ecx, esi
call fcn.004062c0
add esp, 0x18
mov dword [ebp - 4], 0xa
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 0xb
push eax
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x24], pe_nt_image_headers32
call fcn.00405df0
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x58]
test ecx, ecx
je 0x411a2a
mov edx, dword [ebp - 0x50]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x411a0b
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x411a9f
push edx
push ecx
call fcn.0041aa32
add esp, 8
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0
mov dword [ebp - 4], 0xc
mov edi, dword [0x424994]
cmp edi, dword [0x424998]
je 0x411a63
mov eax, dword [ebp - 0x24]
xor esi, esi
mov ecx, dword [ebp - 0x18]
xor edx, edx
mov dword [edi], eax
mov eax, dword [ebp - 0x20]
mov dword [edi + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [edi + 8], eax
mov dword [edi + 0xc], ecx
add dword [0x424994], 0x10
jmp 0x411a78
lea eax, [ebp - 0x24]
mov ecx, 0x424990
push eax
push edi
call fcn.0040abf0
mov esi, dword [ebp - 0x18]
mov edx, dword [ebp - 0x20]
mov dword [ebp - 4], 0xffffffff
test edx, edx
je 0x411aaf
sub esi, edx
mov eax, edx
cmp esi, 0x1000
jb 0x411aa5
mov edx, dword [eax - 4]
add esi, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x411aa5
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push esi
push edx
call fcn.0041aa32
add esp, 8
sub esp, 0x18
lea esi, [ebp - 0x58]
mov ecx, esp
call fcn.0040c670
mov ecx, esi
call fcn.004062c0
add esp, 0x18
mov dword [ebp - 4], 0xd
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
mov eax, esi
mov byte [ebp - 4], 0xe
push eax
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x24], 0xf7
call fcn.00405df0
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x58]
test edx, edx
je 0x411b48
mov ecx, dword [ebp - 0x50]
mov eax, edx
sub ecx, edx
cmp ecx, 0x1000
jb 0x411b29
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x411bbd
push ecx
push edx
call fcn.0041aa32
add esp, 8
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0
mov dword [ebp - 4], 0xf
mov edi, dword [0x424994]
cmp edi, dword [0x424998]
je 0x411b81
mov eax, dword [ebp - 0x24]
xor esi, esi
mov ecx, dword [ebp - 0x18]
xor edx, edx
mov dword [edi], eax
mov eax, dword [ebp - 0x20]
mov dword [edi + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [edi + 8], eax
mov dword [edi + 0xc], ecx
add dword [0x424994], 0x10
jmp 0x411b96
lea eax, [ebp - 0x24]
mov ecx, 0x424990
push eax
push edi
call fcn.0040abf0
mov esi, dword [ebp - 0x18]
mov edx, dword [ebp - 0x20]
mov dword [ebp - 4], 0xffffffff
test edx, edx
je 0x411bcd
sub esi, edx
mov eax, edx
cmp esi, 0x1000
jb 0x411bc3
mov edx, dword [eax - 4]
add esi, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x411bc3
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push esi
push edx
call fcn.0041aa32
add esp, 8
sub esp, 0x18
lea esi, [ebp - 0x58]
mov ecx, esp
call fcn.0040ba70
mov ecx, esi
call fcn.004062c0
add esp, 0x18
mov dword [ebp - 4], 0x10
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
mov eax, esi
mov byte [ebp - 4], 0x11
push eax
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x24], 0xf9
call fcn.00405df0
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x58]
test edx, edx
je 0x411c66
mov ecx, dword [ebp - 0x50]
mov eax, edx
sub ecx, edx
cmp ecx, 0x1000
jb 0x411c47
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x411cdb
push ecx
push edx
call fcn.0041aa32
add esp, 8
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0
mov dword [ebp - 4], 0x12
mov edi, dword [0x424994]
cmp edi, dword [0x424998]
je 0x411c9f
mov eax, dword [ebp - 0x24]
xor esi, esi
mov ecx, dword [ebp - 0x18]
xor edx, edx
mov dword [edi], eax
mov eax, dword [ebp - 0x20]
mov dword [edi + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [edi + 8], eax
mov dword [edi + 0xc], ecx
add dword [0x424994], 0x10
jmp 0x411cb4
lea eax, [ebp - 0x24]
mov ecx, 0x424990
push eax
push edi
call fcn.0040abf0
mov esi, dword [ebp - 0x18]
mov edx, dword [ebp - 0x20]
mov dword [ebp - 4], 0xffffffff
test edx, edx
je 0x411ceb
sub esi, edx
mov eax, edx
cmp esi, 0x1000
jb 0x411ce1
mov edx, dword [eax - 4]
add esi, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x411ce1
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push esi
push edx
call fcn.0041aa32
add esp, 8
mov edx, dword [0x4240b4]
lea ecx, [ebp - 0x58]
call fcn.00406f60
mov dword [ebp - 4], 0x13
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 0x14
push eax
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x24], 1
call fcn.00405df0
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x58]
test ecx, ecx
je 0x411d7c
mov edx, dword [ebp - 0x50]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x411d5d
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x411df1
push edx
push ecx
call fcn.0041aa32
add esp, 8
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0
mov dword [ebp - 4], 0x15
mov edi, dword [0x424994]
cmp edi, dword [0x424998]
je 0x411db5
mov eax, dword [ebp - 0x24]
xor esi, esi
mov ecx, dword [ebp - 0x18]
xor edx, edx
mov dword [edi], eax
mov eax, dword [ebp - 0x20]
mov dword [edi + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [edi + 8], eax
mov dword [edi + 0xc], ecx
add dword [0x424994], 0x10
jmp 0x411dca
lea eax, [ebp - 0x24]
mov ecx, 0x424990
push eax
push edi
call fcn.0040abf0
mov esi, dword [ebp - 0x18]
mov edx, dword [ebp - 0x20]
mov dword [ebp - 4], 0xffffffff
test edx, edx
je 0x411e01
sub esi, edx
mov eax, edx
cmp esi, 0x1000
jb 0x411df7
mov edx, dword [eax - 4]
add esi, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x411df7
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push esi
push edx
call fcn.0041aa32
add esp, 8
mov dx, word [0x4248f0]
lea ecx, [ebp - 0x58]
call fcn.00406f60
mov dword [ebp - 4], 0x16
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 0x17
push eax
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x24], 0x11
call fcn.00405df0
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x58]
test ecx, ecx
je 0x411e93
mov edx, dword [ebp - 0x50]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x411e74
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x411f08
push edx
push ecx
call fcn.0041aa32
add esp, 8
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0
mov dword [ebp - 4], 0x18
mov edi, dword [0x424994]
cmp edi, dword [0x424998]
je 0x411ecc
mov eax, dword [ebp - 0x24]
xor esi, esi
mov ecx, dword [ebp - 0x18]
xor edx, edx
mov dword [edi], eax
mov eax, dword [ebp - 0x20]
mov dword [edi + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [edi + 8], eax
mov dword [edi + 0xc], ecx
add dword [0x424994], 0x10
jmp 0x411ee1
lea eax, [ebp - 0x24]
mov ecx, 0x424990
push eax
push edi
call fcn.0040abf0
mov esi, dword [ebp - 0x18]
mov edx, dword [ebp - 0x20]
mov dword [ebp - 4], 0xffffffff
test edx, edx
je 0x411f18
sub esi, edx
mov eax, edx
cmp esi, 0x1000
jb 0x411f0e
mov edx, dword [eax - 4]
add esi, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x411f0e
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push esi
push edx
call fcn.0041aa32
add esp, 8
mov edx, dword [0x42410c]
lea ecx, [ebp - 0x58]
call fcn.00406f60
mov dword [ebp - 4], 0x19
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 0x1a
push eax
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x24], 0x21
call fcn.00405df0
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x58]
test ecx, ecx
je 0x411fa9
mov edx, dword [ebp - 0x50]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x411f8a
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41201e
push edx
push ecx
call fcn.0041aa32
add esp, 8
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0
mov dword [ebp - 4], 0x1b
mov edi, dword [0x424994]
cmp edi, dword [0x424998]
je 0x411fe2
mov eax, dword [ebp - 0x24]
xor esi, esi
mov ecx, dword [ebp - 0x18]
xor edx, edx
mov dword [edi], eax
mov eax, dword [ebp - 0x20]
mov dword [edi + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [edi + 8], eax
mov dword [edi + 0xc], ecx
add dword [0x424994], 0x10
jmp 0x411ff7
lea eax, [ebp - 0x24]
mov ecx, 0x424990
push eax
push edi
call fcn.0040abf0
mov esi, dword [ebp - 0x18]
mov edx, dword [ebp - 0x20]
mov dword [ebp - 4], 0xffffffff
test edx, edx
je 0x41202e
sub esi, edx
mov eax, edx
cmp esi, 0x1000
jb 0x412024
mov edx, dword [eax - 4]
add esi, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x412024
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push esi
push edx
call fcn.0041aa32
add esp, 8
push ecx
mov ecx, 0x4240f0
call fcn.0040d040
sub esp, 0x18
lea esi, [ebp - 0x58]
mov ecx, esp
call fcn.0040b870
mov ecx, esi
call fcn.004062c0
add esp, 0x18
mov dword [ebp - 4], 0x1c
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
mov eax, esi
mov byte [ebp - 4], 0x1d
push eax
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x24], 0x13
call fcn.00405df0
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x58]
test edx, edx
je 0x4120d2
mov ecx, dword [ebp - 0x50]
mov eax, edx
sub ecx, edx
cmp ecx, 0x1000
jb 0x4120b3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x412147
push ecx
push edx
call fcn.0041aa32
add esp, 8
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0
mov dword [ebp - 4], 0x1e
mov edi, dword [0x424994]
cmp edi, dword [0x424998]
je 0x41210b
mov eax, dword [ebp - 0x24]
xor esi, esi
mov ecx, dword [ebp - 0x18]
xor edx, edx
mov dword [edi], eax
mov eax, dword [ebp - 0x20]
mov dword [edi + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [edi + 8], eax
mov dword [edi + 0xc], ecx
add dword [0x424994], 0x10
jmp 0x412120
lea eax, [ebp - 0x24]
mov ecx, 0x424990
push eax
push edi
call fcn.0040abf0
mov esi, dword [ebp - 0x18]
mov edx, dword [ebp - 0x20]
mov dword [ebp - 4], 0xffffffff
test edx, edx
je 0x412157
sub esi, edx
mov eax, edx
cmp esi, 0x1000
jb 0x41214d
mov edx, dword [eax - 4]
add esi, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x41214d
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push esi
push edx
call fcn.0041aa32
add esp, 8
sub esp, 0x18
mov edi, esp
sub esp, 0xc
mov esi, esp
sub esp, 0xc
mov ecx, esp
push 0x424990
call fcn.00409640
mov ecx, esi
call fcn.00406c10
add esp, 0xc
mov ecx, edi
call fcn.00406490
add esp, 0xc
lea ecx, [ebp - 0x8c]
call fcn.00416040
add esp, 0x18
mov ecx, 0x4240d4
push eax
call fcn.00409930
mov ecx, dword [ebp - 0x78]
cmp ecx, 0x10
jb 0x4121d6
mov edx, dword [ebp - 0x8c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4121cc
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x4121cc
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.0041aa32
add esp, 8
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0041a4dc
mov esp, ebp
pop ebp
ret