Function at 0x415770
Capabilities:
Get system information on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x421f5d
mov eax, dword fs:[0]
push eax
sub esp, 0x80
mov eax, dword [0x42b00c]
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.00419db0
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 0x4157c5
push ecx
lea eax, [ebp - 0x13]
push eax
push esi
lea ecx, [ebp - 0x74]
call fcn.00405900
lea eax, [ebp - 0x74]
mov dword [ebp - 4], 0
push eax
mov edx, str.CoreCount:
mov ecx, edi
call fcn.00404e60
mov dword [ebp - 4], 0xffffffff
add esp, 4
mov ecx, dword [ebp - 0x60]
cmp ecx, 0x10
jb 0x415853
mov edx, dword [ebp - 0x74]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x415849
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x415849
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.0041f6f2
add esp, 8
lea ecx, [ebp - 0x58]
call fcn.00406700
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.004060c0
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x58]
test ecx, ecx
je 0x4158e1
mov edx, dword [ebp - 0x50]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x4158c2
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415956
push edx
push ecx
call fcn.0041f6f2
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 [0x42ba6c]
cmp edi, dword [0x42ba70]
je 0x41591a
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 [0x42ba6c], 0x10
jmp 0x41592f
lea eax, [ebp - 0x24]
mov ecx, 0x42ba68
push eax
push edi
call fcn.0040b3d0
mov esi, dword [ebp - 0x18]
mov edx, dword [ebp - 0x20]
mov dword [ebp - 4], 0xffffffff
test edx, edx
je 0x415966
sub esi, edx
mov eax, edx
cmp esi, 0x1000
jb 0x41595c
mov edx, dword [eax - 4]
add esi, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x41595c
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push esi
push edx
call fcn.0041f6f2
add esp, 8
sub esp, 0x18
lea esi, [ebp - 0x58]
mov ecx, esp
call fcn.0040cab0
mov ecx, esi
call fcn.00406700
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.004060c0
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x58]
test edx, edx
je 0x4159ff
mov ecx, dword [ebp - 0x50]
mov eax, edx
sub ecx, edx
cmp ecx, 0x1000
jb 0x4159e0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415a74
push ecx
push edx
call fcn.0041f6f2
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 [0x42ba6c]
cmp edi, dword [0x42ba70]
je 0x415a38
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 [0x42ba6c], 0x10
jmp 0x415a4d
lea eax, [ebp - 0x24]
mov ecx, 0x42ba68
push eax
push edi
call fcn.0040b3d0
mov esi, dword [ebp - 0x18]
mov edx, dword [ebp - 0x20]
mov dword [ebp - 4], 0xffffffff
test edx, edx
je 0x415a84
sub esi, edx
mov eax, edx
cmp esi, 0x1000
jb 0x415a7a
mov edx, dword [eax - 4]
add esi, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x415a7a
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push esi
push edx
call fcn.0041f6f2
add esp, 8
sub esp, 0x18
lea esi, [ebp - 0x58]
mov ecx, esp
call fcn.0040c910
mov ecx, esi
call fcn.00406700
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.004060c0
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x58]
test edx, edx
je 0x415b1d
mov ecx, dword [ebp - 0x50]
mov eax, edx
sub ecx, edx
cmp ecx, 0x1000
jb 0x415afe
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415b92
push ecx
push edx
call fcn.0041f6f2
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 [0x42ba6c]
cmp edi, dword [0x42ba70]
je 0x415b56
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 [0x42ba6c], 0x10
jmp 0x415b6b
lea eax, [ebp - 0x24]
mov ecx, 0x42ba68
push eax
push edi
call fcn.0040b3d0
mov esi, dword [ebp - 0x18]
mov edx, dword [ebp - 0x20]
mov dword [ebp - 4], 0xffffffff
test edx, edx
je 0x415ba2
sub esi, edx
mov eax, edx
cmp esi, 0x1000
jb 0x415b98
mov edx, dword [eax - 4]
add esi, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x415b98
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push esi
push edx
call fcn.0041f6f2
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 0x415bd3
push 0x424b38
jmp 0x415bd8
push 0x424b3c
call fcn.004051c0
mov ecx, esi
call fcn.00406700
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], 0xf8
call fcn.004060c0
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x58]
test ecx, ecx
je 0x415c6a
mov edx, dword [ebp - 0x50]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x415c4b
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415cdf
push edx
push ecx
call fcn.0041f6f2
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 [0x42ba6c]
cmp edi, dword [0x42ba70]
je 0x415ca3
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 [0x42ba6c], 0x10
jmp 0x415cb8
lea eax, [ebp - 0x24]
mov ecx, 0x42ba68
push eax
push edi
call fcn.0040b3d0
mov esi, dword [ebp - 0x18]
mov edx, dword [ebp - 0x20]
mov dword [ebp - 4], 0xffffffff
test edx, edx
je 0x415cef
sub esi, edx
mov eax, edx
cmp esi, 0x1000
jb 0x415ce5
mov edx, dword [eax - 4]
add esi, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x415ce5
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push esi
push edx
call fcn.0041f6f2
add esp, 8
sub esp, 0x18
lea esi, [ebp - 0x58]
mov ecx, esp
call fcn.0040d390
mov ecx, esi
call fcn.00406700
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.004060c0
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x58]
test edx, edx
je 0x415d88
mov ecx, dword [ebp - 0x50]
mov eax, edx
sub ecx, edx
cmp ecx, 0x1000
jb 0x415d69
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415dfd
push ecx
push edx
call fcn.0041f6f2
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 [0x42ba6c]
cmp edi, dword [0x42ba70]
je 0x415dc1
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 [0x42ba6c], 0x10
jmp 0x415dd6
lea eax, [ebp - 0x24]
mov ecx, 0x42ba68
push eax
push edi
call fcn.0040b3d0
mov esi, dword [ebp - 0x18]
mov edx, dword [ebp - 0x20]
mov dword [ebp - 4], 0xffffffff
test edx, edx
je 0x415e0d
sub esi, edx
mov eax, edx
cmp esi, 0x1000
jb 0x415e03
mov edx, dword [eax - 4]
add esi, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x415e03
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push esi
push edx
call fcn.0041f6f2
add esp, 8
sub esp, 0x18
lea esi, [ebp - 0x58]
mov ecx, esp
call fcn.0040c790
mov ecx, esi
call fcn.00406700
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.004060c0
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x58]
test edx, edx
je 0x415ea6
mov ecx, dword [ebp - 0x50]
mov eax, edx
sub ecx, edx
cmp ecx, 0x1000
jb 0x415e87
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415f1b
push ecx
push edx
call fcn.0041f6f2
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 [0x42ba6c]
cmp edi, dword [0x42ba70]
je 0x415edf
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 [0x42ba6c], 0x10
jmp 0x415ef4
lea eax, [ebp - 0x24]
mov ecx, 0x42ba68
push eax
push edi
call fcn.0040b3d0
mov esi, dword [ebp - 0x18]
mov edx, dword [ebp - 0x20]
mov dword [ebp - 4], 0xffffffff
test edx, edx
je 0x415f2b
sub esi, edx
mov eax, edx
cmp esi, 0x1000
jb 0x415f21
mov edx, dword [eax - 4]
add esi, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x415f21
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push esi
push edx
call fcn.0041f6f2
add esp, 8
mov edx, dword [0x42b108]
lea ecx, [ebp - 0x58]
call fcn.004075e0
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.004060c0
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x58]
test ecx, ecx
je 0x415fbc
mov edx, dword [ebp - 0x50]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x415f9d
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x416031
push edx
push ecx
call fcn.0041f6f2
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 [0x42ba6c]
cmp edi, dword [0x42ba70]
je 0x415ff5
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 [0x42ba6c], 0x10
jmp 0x41600a
lea eax, [ebp - 0x24]
mov ecx, 0x42ba68
push eax
push edi
call fcn.0040b3d0
mov esi, dword [ebp - 0x18]
mov edx, dword [ebp - 0x20]
mov dword [ebp - 4], 0xffffffff
test edx, edx
je 0x416041
sub esi, edx
mov eax, edx
cmp esi, 0x1000
jb 0x416037
mov edx, dword [eax - 4]
add esi, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x416037
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push esi
push edx
call fcn.0041f6f2
add esp, 8
mov dx, word [0x42b9a0]
lea ecx, [ebp - 0x58]
call fcn.004075e0
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.004060c0
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x58]
test ecx, ecx
je 0x4160d3
mov edx, dword [ebp - 0x50]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x4160b4
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x416148
push edx
push ecx
call fcn.0041f6f2
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 [0x42ba6c]
cmp edi, dword [0x42ba70]
je 0x41610c
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 [0x42ba6c], 0x10
jmp 0x416121
lea eax, [ebp - 0x24]
mov ecx, 0x42ba68
push eax
push edi
call fcn.0040b3d0
mov esi, dword [ebp - 0x18]
mov edx, dword [ebp - 0x20]
mov dword [ebp - 4], 0xffffffff
test edx, edx
je 0x416158
sub esi, edx
mov eax, edx
cmp esi, 0x1000
jb 0x41614e
mov edx, dword [eax - 4]
add esi, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x41614e
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push esi
push edx
call fcn.0041f6f2
add esp, 8
mov edx, dword [0x42b19c]
lea ecx, [ebp - 0x58]
call fcn.004075e0
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.004060c0
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x58]
test ecx, ecx
je 0x4161e9
mov edx, dword [ebp - 0x50]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x4161ca
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41625e
push edx
push ecx
call fcn.0041f6f2
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 [0x42ba6c]
cmp edi, dword [0x42ba70]
je 0x416222
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 [0x42ba6c], 0x10
jmp 0x416237
lea eax, [ebp - 0x24]
mov ecx, 0x42ba68
push eax
push edi
call fcn.0040b3d0
mov esi, dword [ebp - 0x18]
mov edx, dword [ebp - 0x20]
mov dword [ebp - 4], 0xffffffff
test edx, edx
je 0x41626e
sub esi, edx
mov eax, edx
cmp esi, 0x1000
jb 0x416264
mov edx, dword [eax - 4]
add esi, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x416264
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push esi
push edx
call fcn.0041f6f2
add esp, 8
mov edx, dword [0x42b0cc]
lea ecx, [ebp - 0x58]
call fcn.004075e0
mov dword [ebp - 4], 0x1c
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 0x1d
push eax
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x24], 0x31
call fcn.004060c0
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x58]
test ecx, ecx
je 0x4162ff
mov edx, dword [ebp - 0x50]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x4162e0
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x416374
push edx
push ecx
call fcn.0041f6f2
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 [0x42ba6c]
cmp edi, dword [0x42ba70]
je 0x416338
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 [0x42ba6c], 0x10
jmp 0x41634d
lea eax, [ebp - 0x24]
mov ecx, 0x42ba68
push eax
push edi
call fcn.0040b3d0
mov esi, dword [ebp - 0x18]
mov edx, dword [ebp - 0x20]
mov dword [ebp - 4], 0xffffffff
test edx, edx
je 0x416384
sub esi, edx
mov eax, edx
cmp esi, 0x1000
jb 0x41637a
mov edx, dword [eax - 4]
add esi, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x41637a
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push esi
push edx
call fcn.0041f6f2
add esp, 8
push ecx
mov ecx, 0x42b180
call fcn.0040dd70
push ecx
mov ecx, 0x42b0b0
call fcn.00410b60
push ecx
call fcn.00412050
call fcn.0040c270
mov edx, dword [0x42b1ec]
lea ecx, [ebp - 0x58]
call fcn.004075e0
mov dword [ebp - 4], 0x1f
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 0x20
push eax
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x24], 0x24
call fcn.004060c0
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x58]
test edx, edx
je 0x416436
mov ecx, dword [ebp - 0x50]
mov eax, edx
sub ecx, edx
cmp ecx, 0x1000
jb 0x416417
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4164ab
push ecx
push edx
call fcn.0041f6f2
add esp, 8
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0
mov dword [ebp - 4], 0x21
mov edi, dword [0x42ba6c]
cmp edi, dword [0x42ba70]
je 0x41646f
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 [0x42ba6c], 0x10
jmp 0x416484
lea eax, [ebp - 0x24]
mov ecx, 0x42ba68
push eax
push edi
call fcn.0040b3d0
mov esi, dword [ebp - 0x18]
mov edx, dword [ebp - 0x20]
mov dword [ebp - 4], 0xffffffff
test edx, edx
je 0x4164bb
sub esi, edx
mov eax, edx
cmp esi, 0x1000
jb 0x4164b1
mov edx, dword [eax - 4]
add esi, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x4164b1
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push esi
push edx
call fcn.0041f6f2
add esp, 8
sub esp, 0x18
lea esi, [ebp - 0x58]
mov ecx, esp
call fcn.0040c590
mov ecx, esi
call fcn.00406700
add esp, 0x18
mov dword [ebp - 4], 0x22
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
mov eax, esi
mov byte [ebp - 4], 0x23
push eax
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x24], 0x13
call fcn.004060c0
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x58]
test edx, edx
je 0x416554
mov ecx, dword [ebp - 0x50]
mov eax, edx
sub ecx, edx
cmp ecx, 0x1000
jb 0x416535
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4165c9
push ecx
push edx
call fcn.0041f6f2
add esp, 8
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0
mov dword [ebp - 4], 0x24
mov edi, dword [0x42ba6c]
cmp edi, dword [0x42ba70]
je 0x41658d
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 [0x42ba6c], 0x10
jmp 0x4165a2
lea eax, [ebp - 0x24]
mov ecx, 0x42ba68
push eax
push edi
call fcn.0040b3d0
mov esi, dword [ebp - 0x18]
mov edx, dword [ebp - 0x20]
mov dword [ebp - 4], 0xffffffff
test edx, edx
je 0x4165d9
sub esi, edx
mov eax, edx
cmp esi, 0x1000
jb 0x4165cf
mov edx, dword [eax - 4]
add esi, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x4165cf
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push esi
push edx
call fcn.0041f6f2
add esp, 8
sub esp, 0x18
mov edi, esp
sub esp, 0xc
mov esi, esp
sub esp, 0xc
mov ecx, esp
push 0x42ba68
call fcn.00409e10
mov ecx, esi
call fcn.00407290
add esp, 0xc
mov ecx, edi
call fcn.004068f0
add esp, 0xc
lea ecx, [ebp - 0x8c]
call fcn.0041acd0
add esp, 0x18
mov ecx, 0x42b164
push eax
call fcn.00409fe0
mov ecx, dword [ebp - 0x78]
cmp ecx, 0x10
jb 0x416658
mov edx, dword [ebp - 0x8c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41664e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x41664e
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.0041f6f2
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.0041f19c
mov esp, ebp
pop ebp
ret