Function at 0x4d4cb0
Capabilities:
Create thread
Get system information on windows

Disassembly:
push 0xffffffffffffffff
push 0x4f9a70
mov eax, dword fs:[0]
push eax
sub esp, 0x238
mov eax, dword [section..data]
xor eax, esp
mov dword [esp + 0x230], eax
push esi
push edi
mov eax, dword [section..data]
xor eax, esp
push eax
lea eax, [esp + 0x244]
mov dword fs:[0], eax
mov esi, edx
mov dword [esp + 0x228], esi
mov eax, dword [0x523240]
push 0x180
mov dword [esp + 0x34], eax
lea eax, [esp + 0x70]
push 0
push eax
mov dword [esp + 0x4c], ecx
call fcn.004e3fe0
add esp, 0xc
lea ecx, [esp + 0x6c]
call fcn.004d2bc0
push esi
lea ecx, [esp + 0x1d4]
mov dword [esp + 0x250], 0
call fcn.004d5650
xorps xmm0, xmm0
mov byte [esp + 0x1cc], 0
lea ecx, [esp + 0x1f0]
mov dword [esp + 0xa0], 0xffffffff
mov dword [esp + 0xa4], 0xffffffff
movdqu xmmword [esp + 0x1f0], xmm0
mov dword [esp + 0x210], 0
movdqu xmmword [esp + 0x200], xmm0
call fcn.00425e80
lea eax, [esp + 0x224]
mov byte [esp + 0x24c], 1
push eax
lea eax, [esp + 0x224]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcessAffinityMask]
test eax, eax
je 0x4d4db9
mov ecx, dword [esp + 0x220]
test ecx, ecx
je 0x4d4db9
call fcn.0041ec70
jmp 0x4d4dc8
lea eax, [esp + 0x48]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov eax, dword [esp + 0x5c]
xor ecx, ecx
mov dword [esp + 0x20], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x1c], ecx
cmp dword [esi + 4], ecx
jbe 0x4d5219
mov eax, dword [esi]
mov edx, 2
xorps xmm0, xmm0
mov dword [esp + 0x21c], 0
movq qword [esp + 0x214], xmm0
mov dword [esp + 0x214], 0
mov edi, dword [eax + ecx*4]
xor ecx, ecx
mov dword [esp + 0x28], edi
mov esi, dword [edi + 4]
lea eax, [esi + 1]
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004df9b3
mov ecx, eax
add esp, 4
mov dword [esp + 0x34], ecx
test ecx, ecx
je 0x4d536b
lea eax, [esi*2 + 2]
mov dword [esp + 0x214], ecx
push eax
push dword [edi]
mov dword [esp + 0x220], esi
push ecx
mov dword [esp + 0x228], esi
call fcn.004e4930
add esp, 0xc
mov eax, dword [esp + 0x34]
mov edx, eax
movzx ecx, word [eax]
test cx, cx
je 0x4d4e97
lea eax, [ecx - 0x41]
cmp ax, 0x19
ja 0x4d4e82
lea eax, [ecx + 0x20]
movzx eax, ax
jmp 0x4d4e85
movzx eax, cx
mov word [edx], ax
add edx, 2
movzx ecx, word [edx]
test cx, cx
jne 0x4d4e71
mov eax, dword [esp + 0x34]
mov edx, 0x501ff0
mov ecx, eax
call fcn.004119a0
test al, al
je 0x4d4ef8
mov eax, dword [edi + 0xc]
mov ecx, 0x501150
nop
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4d4ed6
test dx, dx
je 0x4d4ed2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4d4ed6
add eax, 4
add ecx, 4
test dx, dx
jne 0x4d4eb0
xor eax, eax
jmp 0x4d4edb
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4d4ef8
mov byte [esp + 0x24c], 1
push dword [esp + 0x34]
mov byte [esp + 0x1d0], 1
jmp 0x4d51f8
xor edi, edi
mov dword [esp + 0x22c], edi
mov dword [esp + 0x234], edi
mov eax, dword [esp + 0x28]
mov byte [esp + 0x24c], 3
cmp dword [eax + 0x10], edi
je 0x4d502c
mov edi, eax
lea edx, [esp + 0x224]
mov ecx, dword [edi + 0xc]
call fcn.00413800
mov ecx, dword [esp + 0x224]
mov esi, eax
mov eax, edx
mov dword [esp + 0x28], eax
cmp word [ecx], 0
jne 0x4d4fd4
cmp dword [edi + 0x10], 0
je 0x4d4fd4
test eax, eax
ja 0x4d4f94
jb 0x4d4f5c
cmp esi, 0xffffffff
ja 0x4d4f94
mov di, word [esp + 0x22c]
cmp di, 0x13
je 0x4d4f88
test di, di
je 0x4d4f7b
lea ecx, [esp + 0x22c]
call fcn.0041d410
mov edi, 0x13
mov word [esp + 0x22c], di
mov dword [esp + 0x234], esi
jmp 0x4d502c
mov di, word [esp + 0x22c]
cmp di, 0x15
je 0x4d4fc4
test di, di
je 0x4d4fb7
lea ecx, [esp + 0x22c]
call fcn.0041d410
mov eax, dword [esp + 0x28]
mov edi, 0x15
mov word [esp + 0x22c], di
mov dword [esp + 0x234], esi
mov dword [esp + 0x238], eax
jmp 0x4d502c
cmp word [esp + 0x22c], 0
je 0x4d4ffe
lea ecx, [esp + 0x22c]
call fcn.0041d410
mov ecx, dword [esp + 0x234]
test eax, eax
cmovs ecx, eax
mov dword [esp + 0x234], ecx
mov dword [esp + 0x22c], 8
push dword [edi + 0x10]
push dword [edi + 0xc]
call dword [sym.imp.OLEAUT32.dll_SysReAllocStringLen]
mov dword [esp + 0x234], eax
test eax, eax
je 0x4d531a
mov di, word [esp + 0x22c]
mov esi, dword [esp + 0x34]
mov ecx, 0x6d
mov edx, 0x506b9a
lea ebx, [ebx]
movzx eax, word [esi]
lea esi, [esi + 2]
cmp ax, cx
jne 0x4d517f
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x4d5040
mov esi, dword [esp + 0x34]
lea ecx, [esp + 0x10]
lea eax, [esi + 4]
push eax
call fcn.00412680
cmp dword [esp + 0x14], 0
jne 0x4d5100
movzx eax, word [esp + 0x22c]
cmp eax, 0x13
je 0x4d50ed
test eax, eax
je 0x4d50cf
cmp eax, 8
je 0x4d50a9
cmp eax, 0xb
je 0x4d509b
mov edi, 0x80070057
jmp 0x4d5131
cmp word [esp + 0x234], 0
setne al
jmp 0x4d50d1
mov ecx, dword [esp + 0x234]
lea edx, [esp + 0x3b]
call fcn.004407e0
xor ecx, ecx
mov edi, 0x80070057
test al, al
cmovne edi, ecx
test edi, edi
jne 0x4d5131
mov al, byte [esp + 0x3b]
jmp 0x4d50d5
mov al, 1
mov byte [esp + 0x3b], al
test al, al
mov ecx, 1
cmovne ecx, dword [esp + 0x20]
xor edi, edi
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x24], ecx
jmp 0x4d5131
mov eax, dword [esp + 0x234]
xor edi, edi
mov dword [esp + 0x2c], eax
mov dword [esp + 0x24], eax
jmp 0x4d5131
cmp word [esp + 0x22c], 0
je 0x4d5112
mov edi, 0x80070057
jmp 0x4d5131
lea eax, [esp + 0x24]
push eax
lea edx, [esp + 0x230]
lea ecx, [esp + 0x14]
call fcn.00440890
mov edi, eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x2c], eax
push dword [esp + 0x10]
call fcn.004df97b
add esp, 4
test edi, edi
jne 0x4d533e
mov ecx, dword [esp + 0x2c]
cmp ecx, dword [esp + 0x20]
mov eax, dword [esp + 0xa4]
cmovne eax, ecx
mov dword [esp + 0xa4], eax
cmp word [esp + 0x22c], di
je 0x4d5174
lea ecx, [esp + 0x22c]
call fcn.0041d410
mov byte [esp + 0x24c], 1
push esi
jmp 0x4d51f8
mov eax, dword [esp + 0x34]
mov edx, 0x74
mov esi, eax
mov cl, 0x74
cmp dx, word [eax]
mov edx, str.testtime
jne 0x4d51ad
test cl, cl
je 0x4d52f8
mov cl, byte [edx + 1]
inc edx
add esi, 2
movzx eax, cl
cmp ax, word [esi]
je 0x4d5196
lea eax, [esp + 0x22c]
push eax
lea eax, [esp + 0x218]
push eax
lea ecx, [esp + 0x1f8]
call fcn.00441a40
mov edi, eax
test edi, edi
jne 0x4d5337
cmp word [esp + 0x22c], ax
je 0x4d51e9
lea ecx, [esp + 0x22c]
call fcn.0041d410
mov byte [esp + 0x24c], 1
push dword [esp + 0x214]
call fcn.004df97b
mov ecx, dword [esp + 0x20]
add esp, 4
mov esi, dword [esp + 0x228]
inc ecx
mov dword [esp + 0x1c], ecx
cmp ecx, dword [esi + 4]
jb 0x4d4de3
cmp byte [esp + 0x1cc], 0
je 0x4d52cf
push str.FileExtr.actor_1.00__x86_
lea ecx, [esp + 0x1e0]
call fcn.00412a60
mov ecx, dword [esp + 0x1e0]
cmp dword [esp + 0x1e4], ecx
jne 0x4d5269
mov eax, ecx
add ecx, 0x10
shr eax, 1
add eax, ecx
lea ecx, [esp + 0x1dc]
and eax, 0xfffffff0
dec eax
push eax
call fcn.00412180
mov ecx, dword [esp + 0x1e0]
mov eax, dword [esp + 0x1dc]
mov edx, 0xd
mov word [eax + ecx*2], dx
inc ecx
xor edx, edx
mov word [eax + ecx*2], dx
mov dword [esp + 0x1e0], ecx
cmp dword [esp + 0x1e4], ecx
jne 0x4d52b1
mov eax, ecx
add ecx, 0x10
shr eax, 1
add eax, ecx
lea ecx, [esp + 0x1dc]
and eax, 0xfffffff0
dec eax
push eax
call fcn.00412180
mov ecx, dword [esp + 0x1e0]
mov eax, dword [esp + 0x1dc]
mov edx, 0xa
mov word [eax + ecx*2], dx
inc ecx
xor edx, edx
mov word [eax + ecx*2], dx
mov dword [esp + 0x1e0], ecx
mov ecx, dword [esp + 0x1f4]
dec ecx
js 0x4d5394
mov edx, dword [esp + 0x1f0]
mov eax, dword [edx + ecx*4]
cmp dword [eax], 1
je 0x4d537f
dec ecx
jns 0x4d52e4
jmp 0x4d5394
test di, di
je 0x4d5309
lea ecx, [esp + 0x22c]
call fcn.0041d410
mov byte [esp + 0x24c], 1
push dword [esp + 0x34]
jmp 0x4d51f8
push 0x51c350
lea eax, [esp + 0x22c]
mov dword [esp + 0x22c], str.out_of_memory
push eax
call fcn.004ea58e
mov esi, dword [esp + 0x214]
cmp word [esp + 0x22c], 0
je 0x4d5355
lea ecx, [esp + 0x22c]
call fcn.0041d410
push esi
mov byte [esp + 0x250], 1
call fcn.004df97b
add esp, 4
jmp 0x4d544b
push 0x51c2c8
lea eax, [esp + 0x3e]
mov byte [esp + 0x3e], 0
push eax
call fcn.004ea58e
test ecx, ecx
js 0x4d5394
cmp word [eax + 8], 0x13
jne 0x4d5394
mov eax, dword [eax + 0x10]
mov dword [esp + 0xa0], eax
lea eax, [esp + 0x6c]
mov dword [esp + 0x228], 0
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x224]
mov byte [esp + 0x24c], 4
push eax
push 0
lea eax, [esp + 0x44]
push eax
push 0x4d4440
push 0
push 0
call fcn.004e02a8
mov esi, eax
add esp, 0x18
mov dword [esp + 0x228], esi
test esi, esi
jne 0x4d53f0
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
mov edi, 1
cmovne edi, eax
test edi, edi
jne 0x4d542e
cmp byte [esp + 0x1cc], 0
mov ecx, 0x1e13
mov eax, 0x1db0
cmovne eax, ecx
lea ecx, [esp + 0x6c]
push ecx
push 0x416220
push dword [esp + 0x38]
movzx eax, ax
push eax
push dword [0x52323c]
call dword [sym.imp.USER32.dll_DialogBoxParamW]
push 0xffffffffffffffff
push esi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov edi, eax
mov byte [esp + 0x24c], 1
test esi, esi
je 0x4d544b
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
jne 0x4d544b
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov byte [esp + 0x24c], 0
push dword [esp + 0x208]
call fcn.004df97b
add esp, 4
push dword [esp + 0x1fc]
call fcn.004df97b
mov esi, dword [esp + 0x1f8]
add esp, 4
test esi, esi
je 0x4d54d8
lea esp, [esp]
mov eax, dword [esp + 0x1f0]
dec esi
mov ecx, dword [eax + esi*4]
mov dword [esp + 0x30], ecx
test ecx, ecx
je 0x4d54d4
movzx eax, word [ecx + 8]
add ecx, 8
test ax, ax
je 0x4d54c8
cmp eax, 0x40
ja case.0x4d54ab.1
movzx eax, byte [eax + 0x4d560c]
jmp dword [eax*4 + 0x4d5604]
xor eax, eax
mov dword [ecx], eax
mov dword [ecx + 4], eax
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], eax
jmp 0x4d54c8
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
push dword [esp + 0x30]
call fcn.004df97b
add esp, 4
test esi, esi
jne 0x4d5480
push dword [esp + 0x1f0]
call fcn.004df97b
add esp, 4
mov dword [esp + 0x24c], 8
push dword [esp + 0x1dc]
call fcn.004df97b
mov byte [esp + 0x250], 7
add esp, 4
mov ecx, dword [esp + 0x1d4]
test ecx, ecx
je 0x4d554d
mov eax, dword [esp + 0x1d0]
dec ecx
mov dword [esp + 0x30], ecx
mov esi, dword [eax + ecx*4]
test esi, esi
je 0x4d5549
push dword [esi + 0xc]
call fcn.004df97b
add esp, 4
push dword [esi]
call fcn.004df97b
add esp, 4
push esi
call fcn.004df97b
mov ecx, dword [esp + 0x34]
add esp, 4
test ecx, ecx
jne 0x4d5514
push dword [esp + 0x1d0]
call fcn.004df97b
lea eax, [esp + 0xa0]
add esp, 4
mov dword [esp + 0x30], eax
mov byte [esp + 0x24c], 0xa
push dword [esp + 0x1bc]
call fcn.004df97b
add esp, 4
mov byte [esp + 0x24c], 9
lea eax, [esp + 0xb8]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
mov byte [esp + 0x24c], 6
mov eax, dword [esp + 0xb4]
test eax, eax
je 0x4d55c5
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
jne 0x4d55ba
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x4d55c5
mov dword [esp + 0xb4], 0
mov eax, dword [esp + 0x88]
test eax, eax
je 0x4d55d7
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
mov eax, edi
mov ecx, dword [esp + 0x244]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [esp + 0x230]
xor ecx, esp
call fcn.004df96c
add esp, 0x244
ret 4