Function at 0x584490
Capabilities:
Access peb ldr_data
Get kernel32 base address
Get process heap force flags

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x657f1f
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x18
push ebx
xor ebx, ebx
push esi
mov dword [esp + 0x1c], ebx
mov dword [esp + 8], ebx
mov dword [esp + 0x28], 1
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], ebx
mov dword [esp + 0xc], ebx
mov esi, dword [ebp + 0xc]
xor ecx, ecx
sub esp, 8
xor edx, edx
mov eax, dword [esi + 0x18]
mov cl, byte [esi + 0x19]
shr eax, 0x10
and eax, 0xff
and ecx, 0xff
mov dword [esp + 0x20], eax
mov dl, byte [esi + 0x18]
fild dword [esp + 0x20]
mov dword [esp + 0x20], ecx
sub esp, 8
sub esp, 8
lea eax, [esp + 0x28]
fmul dword [0x6710e8]
mov byte [esp + 0x40], 4
fstp qword [esp + 0x10]
fild dword [esp + 0x30]
mov dword [esp + 0x30], edx
fmul dword [0x6710e8]
fstp qword [esp + 8]
fild dword [esp + 0x30]
fmul dword [0x6710e8]
fstp qword [esp]
push str._.3f__.3f__.3f_rg_n
push eax
call fcn.00491cb0
mov ecx, dword [esi + 0x14]
xor edx, edx
shr ecx, 0x10
and ecx, 0xff
mov dl, byte [esi + 0x15]
mov dword [esp + 0x38], ecx
add esp, 0x18
fild dword [esp + 0x20]
and edx, 0xff
sub esp, 8
mov dword [esp + 0x28], edx
xor eax, eax
fmul dword [0x6710e8]
mov al, byte [esi + 0x14]
sub esp, 8
lea ecx, [esp + 0x2c]
fstp qword [esp + 0x10]
fild dword [esp + 0x30]
mov dword [esp + 0x30], eax
fmul dword [0x6710e8]
fstp qword [esp + 8]
fild dword [esp + 0x30]
fmul dword [0x6710e8]
fstp qword [esp]
push str._.3f__.3f__.3f_RG_n
push ecx
call fcn.00491cb0
lea edx, [esp + 0x34]
lea eax, [esp + 0x30]
push edx
lea ecx, [esp + 0x3c]
push eax
push ecx
call fcn.00429d20
add esp, 0x2c
mov byte [esp + 0x28], 5
push eax
lea ecx, [esp + 0xc]
call fcn.004911b0
lea ecx, [esp + 0x18]
mov byte [esp + 0x28], 4
call fcn.00490f90
fld dword [esi + 0x10]
sub esp, 8
lea edx, [esp + 0x14]
fstp qword [esp]
push str._.3f_w_n
push edx
call fcn.00491cb0
add esp, 0x10
lea eax, [esp + 0xc]
lea ecx, [esp + 8]
push eax
call fcn.00491250
cmp dword [esi + 0x1c], 0x3f800000
je 0x58463f
mov eax, dword [esi + 0x20]
cmp eax, ebx
je 0x584619
add eax, 0xc
jmp 0x58461e
mov eax, 0x730500
push eax
lea ecx, [esp + 0x10]
push str.__s_gs_n
push ecx
call fcn.00491cb0
add esp, 0xc
lea edx, [esp + 0xc]
lea ecx, [esp + 8]
push edx
call fcn.00491250
push str.0_i_t_t_t_t___0.58_w__t_t_t_t___4_M__t_t_t_t___0_j__t_t_t_t___0_J__t_t_t_t_____0_d_t_t_t_t___6.49_8.83_m__t_t_t_t___0.58_8.83_l__t_t_t_t___3.53_14.10_l__t_t_t_t___6.49_19.37_l__t_t_t_t___9.44_14.10_l__t_t_t_t___12.39_8.83_l__t_t_t_t___6.49_8.83_l__t_t_t_t___h__t_t_t_t___B_t_t_t_t
lea ecx, [esp + 0xc]
call fcn.00491200
mov eax, dword [esi + 0x14]
xor ecx, ecx
shr eax, 0x10
and eax, 0xff
mov cl, byte [esi + 0x15]
mov dword [esp + 0x18], eax
sub esp, 8
fild dword [esp + 0x20]
and ecx, 0xff
sub esp, 8
mov dword [esp + 0x28], ecx
xor edx, edx
fmul dword [0x6710e8]
mov dl, byte [esi + 0x14]
sub esp, 8
lea eax, [esp + 0x28]
fstp qword [esp + 0x10]
fild dword [esp + 0x30]
mov dword [esp + 0x30], edx
fmul dword [0x6710e8]
fstp qword [esp + 8]
fild dword [esp + 0x30]
fmul dword [0x6710e8]
fstp qword [esp]
push str._.3f__.3f__.3f_rg_n
push eax
call fcn.00491cb0
add esp, 0x20
lea ecx, [esp + 0x10]
push ecx
lea ecx, [esp + 0xc]
call fcn.00491250
push str._t___0.97_0.12_m__t_t_t_t___0.97_7.13_l__t_t_t_t___2.77_7.13_l__t_t_t_t___4.18_4.56_l__t_t_t_t___4.58_3.82_4.98_2.95_5.29_2.16_c__t_t_t_t___5.31_2.16_l__t_t_t_t___5.22_3.08_5.19_4.03_5.19_5.09_c__t_t_t_t___5.19_7.13_l__t_t_t_t___6.60_7.13_l__t_t_t_t___6.60_0.12_l__t_t_t_t___4.99_0.12_l__t_t_t_t___3.54_2.82_l__t_t_t_t___3.13_3.58_2.68_4.48_2.36_5.30_c__t_t_t_t___2.32_5.30_l__t_t_t_t___2.37_4.36_2.39_3.37_2.39_2.23_c__t_t_t_t___2.39_0.12_l__t_t_t_t___0.97_0.12_l__t_t_t_t___h__t_t_t_t___f__t_t_t_t___7.93_7.03_m__t_t_t_t___8.41_7.12_9.07_7.18_10.01_7.18_c__t_t_t_t___10.96_7.18_11.64_6.99_12.10_6.61_c__t_t_t_t___12.53_6.26_12.81_5.68_12.81_5.00_c__t_t_t_t___12.81_4.30_12.60_3.72_12.20_3.33_c__t_t_t_t___11.67_2.83_10.89_2.60_9.98_2.60_c__t_t_t_t___9.78_2.60_9.60_2.61_9.46_2.64_c__t_t_t_t___9.46_0.12_l__t_t_t_t___7.93_0.12_l_t_t_t_t___7.93_7.03_l__t_t_t_t___9.46_3.85_m__t_t_t_t___9.59_3.82_9.75_3.81_9.97_3.81_c__t_t_t_t___10.79_3.81_11.29_4.24_11.29_4.94_c__t_t_t_t___11.29_5.59_10.87_5.97_10.09_5.97_c__t_t_t_t___9.78_5.97_9.57_5.95_9.46_5.92_c__t_t_t_t___9.46_3.85_l__t_t_t_t___h__t_t_t_t___f
lea ecx, [esp + 0xc]
call fcn.00491200
mov eax, dword [esi]
mov ecx, dword [esi + 4]
lea edx, [esi + 0x24]
mov dword [esi + 0x24], eax
mov eax, dword [esi + 8]
mov dword [edx + 4], ecx
mov ecx, dword [esi + 0xc]
mov esi, dword [ebp + 8]
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
lea edx, [esp + 8]
push edx
mov ecx, esi
call fcn.00491060
mov dword [esp + 0x1c], 1
lea ecx, [esp + 0xc]
mov byte [esp + 0x28], 3
call fcn.00490f90
lea ecx, [esp + 0x14]
mov byte [esp + 0x28], 2
call fcn.00490f90
lea ecx, [esp + 0x10]
mov byte [esp + 0x28], 1
call fcn.00490f90
lea ecx, [esp + 8]
mov byte [esp + 0x28], bl
call fcn.00490f90
mov ecx, dword [esp + 0x20]
mov eax, esi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret