Function at 0x40d9f0
Capabilities:
Get system information on windows

Disassembly:
push 0xffffffffffffffff
push 0x4b111b
mov eax, dword fs:[0]
push eax
sub esp, 0x544
mov eax, dword [0x4ce090]
xor eax, esp
mov dword [esp + 0x540], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4ce090]
xor eax, esp
push eax
lea eax, [esp + 0x558]
mov dword fs:[0], eax
mov ebp, dword [esp + 0x568]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
call fcn.00481a7e
add esp, 4
lea eax, [esp + 0x1c]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov ecx, dword [esp + 0x30]
mov dword [0x513c74], ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov dword [0x513ca0], eax
xor ebx, ebx
mov eax, 0x513a18
mov edx, str.DownloadServer
xor edi, edi
mov dword [0x513a10], ebx
mov dword [0x513a14], ebp
mov esi, 0x100
sub edx, eax
mov cl, byte [edx + eax]
cmp cl, bl
je 0x40da95
mov byte [eax], cl
add eax, 1
sub esi, 1
jne 0x40da82
jmp 0x40da99
cmp esi, ebx
jne 0x40daa1
sub eax, 1
mov edi, 0x8007007a
cmp edi, ebx
mov byte [eax], bl
je 0x40dab4
call fcn.004599e0
or eax, 0xffffffff
jmp 0x40dd72
mov edx, dword [esp + 0x56c]
mov eax, 0x513a58
xor edi, edi
mov esi, 0x104
sub edx, eax
lea esp, [esp]
mov cl, byte [edx + eax]
cmp cl, bl
je 0x40dae3
mov byte [eax], cl
add eax, 1
sub esi, 1
jne 0x40dad0
jmp 0x40dae7
cmp esi, ebx
jne 0x40daef
sub eax, 1
mov edi, 0x8007007a
cmp edi, ebx
mov byte [eax], bl
jne 0x40daa7
lea esi, [esp + 0x14]
call fcn.00441320
mov dword [esp + 0x560], ebx
mov ecx, esi
call fcn.00441380
test eax, eax
jne 0x40db46
push str.cannot_create_semaphore_:_module_already_executing
call fcn.00458840
push str.cannot_create_semaphore_:_module_already_executing
mov esi, str.DownloadServer
call fcn.0040d910
add esp, 8
or edi, 0xffffffff
mov dword [esp + 0x560], edi
lea esi, [esp + 0x14]
call fcn.00441360
mov eax, edi
jmp 0x40dd72
push 0x104
lea edx, [esp + 0x24c]
push edx
push ebp
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push 0x104
lea eax, [esp + 0x350]
push eax
push 0x104
lea ecx, [esp + 0x45c]
push ecx
push 0x104
lea edx, [esp + 0x54]
push edx
push 0x104
lea eax, [esp + 0x160]
push eax
lea ecx, [esp + 0x268]
push ecx
call fcn.00481ef4
lea eax, [esp + 0x64]
add esp, 0x24
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x40dba2
sub eax, edx
mov byte [esp + eax + 0x3f], bl
lea edx, [esp + 0x40]
push edx
lea eax, [esp + 0x148]
push eax
push str._s_s
mov eax, 0x104
mov edi, 0x513b5c
call fcn.004037d0
add esp, 0xc
test eax, eax
je 0x40dbe3
call fcn.004599e0
jmp 0x40db2c
or edi, 0xffffffff
push str.ServerFrameworkRes.dll
mov dword [0x513ca4], 0x112
mov dword [0x513ca8], 0x201
mov dword [0x513cb4], ebx
mov dword [0x513cbc], edi
mov dword [0x513cc0], ebx
mov dword [0x513cc4], ebx
mov dword [0x513cc8], ebx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
cmp eax, ebx
mov dword [0x4d2454], eax
jne 0x40dc5f
push str.cannot_load_ServerFrameworkRes.dll
call fcn.00458840
push str.cannot_load_ServerFrameworkRes.dll
mov esi, str.DownloadServer
call fcn.0040d910
add esp, 8
mov dword [esp + 0x560], edi
lea esi, [esp + 0x14]
call fcn.00441360
mov eax, edi
jmp 0x40dd72
call fcn.0040e080
test al, al
jne 0x40dca0
push str.DownloadServer
push str.cant_find_server.cfg_or_failed_to_parse_server_config_block___s_
call fcn.00458840
push str.paring_config_error
mov esi, str.DownloadServer
call fcn.0040d910
add esp, 0xc
mov dword [esp + 0x560], edi
lea esi, [esp + 0x14]
call fcn.00441360
mov eax, edi
jmp 0x40dd72
mov eax, 0x513c78
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x40dca8
sub eax, edx
jne 0x40dcf3
call fcn.0040fbd0
test eax, eax
je 0x40dcf3
push str.DownloadServer
push str.there_is_no_assigned_ip_for_certifying_server___s_
call fcn.00458840
push str.certification_ip_is_void
mov esi, str.DownloadServer
call fcn.0040d910
add esp, 0xc
mov dword [esp + 0x560], edi
lea esi, [esp + 0x14]
call fcn.00441360
mov eax, edi
jmp 0x40dd72
push 0x513c60
mov eax, 0x513c64
call fcn.0040dde0
add esp, 4
test al, al
jne 0x40dd39
push str.failed_to_identify_public_ip_of_this_machine
call fcn.00458840
push str.cannot_identity_machine_public_ip
mov esi, str.DownloadServer
call fcn.0040d910
add esp, 8
mov dword [esp + 0x560], edi
lea esi, [esp + 0x14]
call fcn.00441360
mov eax, edi
jmp 0x40dd72
call fcn.00441930
mov ecx, dword [0x513ca8]
mov eax, dword [0x513ca4]
call fcn.004595c0
call fcn.0043fab0
mov ecx, dword [0x4d2454]
push ecx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [esp + 0x560], edi
lea esi, [esp + 0x14]
call fcn.00441360
xor eax, eax
mov ecx, dword [esp + 0x558]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x540]
xor ecx, esp
call fcn.00480d70
add esp, 0x550
ret