Function at 0x413a60
Capabilities:
Get system information on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x41fbed
mov eax, dword fs:[0]
push eax
sub esp, 0x80
mov eax, dword [0x42800c]
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.00417c90
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 0x413ab5
push ecx
lea eax, [ebp - 0x13]
push eax
push esi
lea ecx, [ebp - 0x74]
call fcn.004057b0
lea eax, [ebp - 0x74]
mov dword [ebp - 4], 0
push eax
mov edx, str.CoreCount:
mov ecx, edi
call fcn.00404d10
mov dword [ebp - 4], 0xffffffff
add esp, 4
mov ecx, dword [ebp - 0x60]
cmp ecx, 0x10
jb 0x413b43
mov edx, dword [ebp - 0x74]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x413b39
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x413b39
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.0041d5d2
add esp, 8
lea ecx, [ebp - 0x58]
call fcn.00406550
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.00405ec0
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x58]
test ecx, ecx
je 0x413bd1
mov edx, dword [ebp - 0x50]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x413bb2
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x413c46
push edx
push ecx
call fcn.0041d5d2
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 [0x4288d8]
cmp edi, dword [0x4288dc]
je 0x413c0a
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 [0x4288d8], 0x10
jmp 0x413c1f
lea eax, [ebp - 0x24]
mov ecx, 0x4288d4
push eax
push edi
call fcn.0040afe0
mov esi, dword [ebp - 0x18]
mov edx, dword [ebp - 0x20]
mov dword [ebp - 4], 0xffffffff
test edx, edx
je 0x413c56
sub esi, edx
mov eax, edx
cmp esi, 0x1000
jb 0x413c4c
mov edx, dword [eax - 4]
add esi, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x413c4c
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push esi
push edx
call fcn.0041d5d2
add esp, 8
sub esp, 0x18
lea esi, [ebp - 0x58]
mov ecx, esp
call fcn.0040c4a0
mov ecx, esi
call fcn.00406550
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.00405ec0
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x58]
test edx, edx
je 0x413cef
mov ecx, dword [ebp - 0x50]
mov eax, edx
sub ecx, edx
cmp ecx, 0x1000
jb 0x413cd0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x413d64
push ecx
push edx
call fcn.0041d5d2
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 [0x4288d8]
cmp edi, dword [0x4288dc]
je 0x413d28
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 [0x4288d8], 0x10
jmp 0x413d3d
lea eax, [ebp - 0x24]
mov ecx, 0x4288d4
push eax
push edi
call fcn.0040afe0
mov esi, dword [ebp - 0x18]
mov edx, dword [ebp - 0x20]
mov dword [ebp - 4], 0xffffffff
test edx, edx
je 0x413d74
sub esi, edx
mov eax, edx
cmp esi, 0x1000
jb 0x413d6a
mov edx, dword [eax - 4]
add esi, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x413d6a
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push esi
push edx
call fcn.0041d5d2
add esp, 8
sub esp, 0x18
lea esi, [ebp - 0x58]
mov ecx, esp
call fcn.0040c300
mov ecx, esi
call fcn.00406550
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.00405ec0
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x58]
test edx, edx
je 0x413e0d
mov ecx, dword [ebp - 0x50]
mov eax, edx
sub ecx, edx
cmp ecx, 0x1000
jb 0x413dee
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x413e82
push ecx
push edx
call fcn.0041d5d2
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 [0x4288d8]
cmp edi, dword [0x4288dc]
je 0x413e46
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 [0x4288d8], 0x10
jmp 0x413e5b
lea eax, [ebp - 0x24]
mov ecx, 0x4288d4
push eax
push edi
call fcn.0040afe0
mov esi, dword [ebp - 0x18]
mov edx, dword [ebp - 0x20]
mov dword [ebp - 4], 0xffffffff
test edx, edx
je 0x413e92
sub esi, edx
mov eax, edx
cmp esi, 0x1000
jb 0x413e88
mov edx, dword [eax - 4]
add esi, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x413e88
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push esi
push edx
call fcn.0041d5d2
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 0x413ec3
push 0x421ac8
jmp 0x413ec8
push 0x421acc
call fcn.00405070
mov ecx, esi
call fcn.00406550
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.00405ec0
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x58]
test ecx, ecx
je 0x413f5a
mov edx, dword [ebp - 0x50]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x413f3b
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x413fcf
push edx
push ecx
call fcn.0041d5d2
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 [0x4288d8]
cmp edi, dword [0x4288dc]
je 0x413f93
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 [0x4288d8], 0x10
jmp 0x413fa8
lea eax, [ebp - 0x24]
mov ecx, 0x4288d4
push eax
push edi
call fcn.0040afe0
mov esi, dword [ebp - 0x18]
mov edx, dword [ebp - 0x20]
mov dword [ebp - 4], 0xffffffff
test edx, edx
je 0x413fdf
sub esi, edx
mov eax, edx
cmp esi, 0x1000
jb 0x413fd5
mov edx, dword [eax - 4]
add esi, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x413fd5
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push esi
push edx
call fcn.0041d5d2
add esp, 8
sub esp, 0x18
lea esi, [ebp - 0x58]
mov ecx, esp
call fcn.0040cd80
mov ecx, esi
call fcn.00406550
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.00405ec0
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x58]
test edx, edx
je 0x414078
mov ecx, dword [ebp - 0x50]
mov eax, edx
sub ecx, edx
cmp ecx, 0x1000
jb 0x414059
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4140ed
push ecx
push edx
call fcn.0041d5d2
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 [0x4288d8]
cmp edi, dword [0x4288dc]
je 0x4140b1
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 [0x4288d8], 0x10
jmp 0x4140c6
lea eax, [ebp - 0x24]
mov ecx, 0x4288d4
push eax
push edi
call fcn.0040afe0
mov esi, dword [ebp - 0x18]
mov edx, dword [ebp - 0x20]
mov dword [ebp - 4], 0xffffffff
test edx, edx
je 0x4140fd
sub esi, edx
mov eax, edx
cmp esi, 0x1000
jb 0x4140f3
mov edx, dword [eax - 4]
add esi, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x4140f3
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push esi
push edx
call fcn.0041d5d2
add esp, 8
sub esp, 0x18
lea esi, [ebp - 0x58]
mov ecx, esp
call fcn.0040c180
mov ecx, esi
call fcn.00406550
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.00405ec0
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x58]
test edx, edx
je 0x414196
mov ecx, dword [ebp - 0x50]
mov eax, edx
sub ecx, edx
cmp ecx, 0x1000
jb 0x414177
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41420b
push ecx
push edx
call fcn.0041d5d2
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 [0x4288d8]
cmp edi, dword [0x4288dc]
je 0x4141cf
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 [0x4288d8], 0x10
jmp 0x4141e4
lea eax, [ebp - 0x24]
mov ecx, 0x4288d4
push eax
push edi
call fcn.0040afe0
mov esi, dword [ebp - 0x18]
mov edx, dword [ebp - 0x20]
mov dword [ebp - 4], 0xffffffff
test edx, edx
je 0x41421b
sub esi, edx
mov eax, edx
cmp esi, 0x1000
jb 0x414211
mov edx, dword [eax - 4]
add esi, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x414211
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push esi
push edx
call fcn.0041d5d2
add esp, 8
mov edx, dword [0x4289b8]
lea ecx, [ebp - 0x58]
call fcn.004071f0
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.00405ec0
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x58]
test ecx, ecx
je 0x4142ac
mov edx, dword [ebp - 0x50]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x41428d
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x414321
push edx
push ecx
call fcn.0041d5d2
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 [0x4288d8]
cmp edi, dword [0x4288dc]
je 0x4142e5
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 [0x4288d8], 0x10
jmp 0x4142fa
lea eax, [ebp - 0x24]
mov ecx, 0x4288d4
push eax
push edi
call fcn.0040afe0
mov esi, dword [ebp - 0x18]
mov edx, dword [ebp - 0x20]
mov dword [ebp - 4], 0xffffffff
test edx, edx
je 0x414331
sub esi, edx
mov eax, edx
cmp esi, 0x1000
jb 0x414327
mov edx, dword [eax - 4]
add esi, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x414327
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push esi
push edx
call fcn.0041d5d2
add esp, 8
mov dx, word [0x428818]
lea ecx, [ebp - 0x58]
call fcn.004071f0
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.00405ec0
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x58]
test ecx, ecx
je 0x4143c3
mov edx, dword [ebp - 0x50]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x4143a4
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x414438
push edx
push ecx
call fcn.0041d5d2
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 [0x4288d8]
cmp edi, dword [0x4288dc]
je 0x4143fc
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 [0x4288d8], 0x10
jmp 0x414411
lea eax, [ebp - 0x24]
mov ecx, 0x4288d4
push eax
push edi
call fcn.0040afe0
mov esi, dword [ebp - 0x18]
mov edx, dword [ebp - 0x20]
mov dword [ebp - 4], 0xffffffff
test edx, edx
je 0x414448
sub esi, edx
mov eax, edx
cmp esi, 0x1000
jb 0x41443e
mov edx, dword [eax - 4]
add esi, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x41443e
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push esi
push edx
call fcn.0041d5d2
add esp, 8
mov edx, dword [0x428a0c]
lea ecx, [ebp - 0x58]
call fcn.004071f0
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.00405ec0
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x58]
test ecx, ecx
je 0x4144d9
mov edx, dword [ebp - 0x50]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x4144ba
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41454e
push edx
push ecx
call fcn.0041d5d2
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 [0x4288d8]
cmp edi, dword [0x4288dc]
je 0x414512
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 [0x4288d8], 0x10
jmp 0x414527
lea eax, [ebp - 0x24]
mov ecx, 0x4288d4
push eax
push edi
call fcn.0040afe0
mov esi, dword [ebp - 0x18]
mov edx, dword [ebp - 0x20]
mov dword [ebp - 4], 0xffffffff
test edx, edx
je 0x41455e
sub esi, edx
mov eax, edx
cmp esi, 0x1000
jb 0x414554
mov edx, dword [eax - 4]
add esi, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x414554
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push esi
push edx
call fcn.0041d5d2
add esp, 8
mov edx, dword [0x428980]
lea ecx, [ebp - 0x58]
call fcn.004071f0
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.00405ec0
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x58]
test ecx, ecx
je 0x4145ef
mov edx, dword [ebp - 0x50]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x4145d0
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x414664
push edx
push ecx
call fcn.0041d5d2
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 [0x4288d8]
cmp edi, dword [0x4288dc]
je 0x414628
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 [0x4288d8], 0x10
jmp 0x41463d
lea eax, [ebp - 0x24]
mov ecx, 0x4288d4
push eax
push edi
call fcn.0040afe0
mov esi, dword [ebp - 0x18]
mov edx, dword [ebp - 0x20]
mov dword [ebp - 4], 0xffffffff
test edx, edx
je 0x414674
sub esi, edx
mov eax, edx
cmp esi, 0x1000
jb 0x41466a
mov edx, dword [eax - 4]
add esi, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x41466a
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push esi
push edx
call fcn.0041d5d2
add esp, 8
push ecx
mov ecx, 0x4289f0
call fcn.0040d7f0
push ecx
mov ecx, 0x428964
call fcn.004105b0
call fcn.0040bc60
mov edx, dword [0x428a5c]
lea ecx, [ebp - 0x58]
call fcn.004071f0
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.00405ec0
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x58]
test edx, edx
je 0x414720
mov ecx, dword [ebp - 0x50]
mov eax, edx
sub ecx, edx
cmp ecx, 0x1000
jb 0x414701
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x414795
push ecx
push edx
call fcn.0041d5d2
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 [0x4288d8]
cmp edi, dword [0x4288dc]
je 0x414759
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 [0x4288d8], 0x10
jmp 0x41476e
lea eax, [ebp - 0x24]
mov ecx, 0x4288d4
push eax
push edi
call fcn.0040afe0
mov esi, dword [ebp - 0x18]
mov edx, dword [ebp - 0x20]
mov dword [ebp - 4], 0xffffffff
test edx, edx
je 0x4147a5
sub esi, edx
mov eax, edx
cmp esi, 0x1000
jb 0x41479b
mov edx, dword [eax - 4]
add esi, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x41479b
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push esi
push edx
call fcn.0041d5d2
add esp, 8
sub esp, 0x18
lea esi, [ebp - 0x58]
mov ecx, esp
call fcn.0040bf80
mov ecx, esi
call fcn.00406550
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.00405ec0
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x58]
test edx, edx
je 0x41483e
mov ecx, dword [ebp - 0x50]
mov eax, edx
sub ecx, edx
cmp ecx, 0x1000
jb 0x41481f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4148b3
push ecx
push edx
call fcn.0041d5d2
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 [0x4288d8]
cmp edi, dword [0x4288dc]
je 0x414877
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 [0x4288d8], 0x10
jmp 0x41488c
lea eax, [ebp - 0x24]
mov ecx, 0x4288d4
push eax
push edi
call fcn.0040afe0
mov esi, dword [ebp - 0x18]
mov edx, dword [ebp - 0x20]
mov dword [ebp - 4], 0xffffffff
test edx, edx
je 0x4148c3
sub esi, edx
mov eax, edx
cmp esi, 0x1000
jb 0x4148b9
mov edx, dword [eax - 4]
add esi, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x4148b9
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push esi
push edx
call fcn.0041d5d2
add esp, 8
sub esp, 0x18
mov edi, esp
sub esp, 0xc
mov esi, esp
sub esp, 0xc
mov ecx, esp
push 0x4288d4
call fcn.00409a20
mov ecx, esi
call fcn.00406ea0
add esp, 0xc
mov ecx, edi
call fcn.00406720
add esp, 0xc
lea ecx, [ebp - 0x8c]
call fcn.00418bb0
add esp, 0x18
mov ecx, 0x4289d8
push eax
call fcn.00409bf0
mov ecx, dword [ebp - 0x78]
cmp ecx, 0x10
jb 0x414942
mov edx, dword [ebp - 0x8c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x414938
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x414938
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.0041d5d2
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.0041d07c
mov esp, ebp
pop ebp
ret