Function at 0x431510
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x564078
mov eax, dword fs:[0]
push eax
sub esp, 0x34
push ebx
push esi
push edi
mov eax, dword [0x5d26e8]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
xor edi, edi
mov dword [ebp - 4], edi
mov ecx, dword [esi + 0x24]
mov edx, dword [esi + 0x28]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esi + 0x2c]
mov dword [eax + 4], edx
mov edx, dword [esi + 0x30]
mov dword [eax + 8], ecx
push str.GUID
lea ecx, [ebp + 8]
mov dword [eax + 0xc], edx
call fcn.0042d410
mov eax, dword [esi + 0x194]
push eax
push str.XSize
lea ecx, [ebp + 8]
call fcn.0042d0a0
mov ecx, dword [esi + 0x198]
push ecx
push str.YSize
lea ecx, [ebp + 8]
call fcn.0042d0a0
fld dword [esi + 0x184]
push ecx
fstp dword [esp]
push str.CellDimension
lea ecx, [ebp + 8]
call fcn.0042d0a0
mov edx, dword [esi + 0x5c]
push edx
push str.CellSize
lea ecx, [ebp + 8]
call fcn.0042d050
fld dword [esi + 0x19c]
push ecx
fstp dword [esp]
push str.StartTemperature
lea ecx, [ebp + 8]
call fcn.0042d0a0
fld dword [esi + 0x1b0]
push ecx
fstp dword [esp]
push str.StartRH
lea ecx, [ebp + 8]
call fcn.0042d0a0
fld dword [esi + 0x1a0]
push ecx
fstp dword [esp]
push str.ExternalWork
lea ecx, [ebp + 8]
call fcn.0042d0a0
fld dword [esi + 0x1a4]
push ecx
fstp dword [esp]
push str.MetabolicValue
lea ecx, [ebp + 8]
call fcn.0042d0a0
fld dword [esi + 0x1a8]
push ecx
fstp dword [esp]
push str.ClothingValue
lea ecx, [ebp + 8]
call fcn.0042d0a0
fld dword [esi + 0x1ac]
push ecx
fstp dword [esp]
push str.BodyTemp
lea ecx, [ebp + 8]
call fcn.0042d0a0
fld dword [esi + 0x1b0]
push ecx
fstp dword [esp]
push str.StartRH
lea ecx, [ebp + 8]
call fcn.0042d0a0
mov eax, dword [esi + 0x188]
push eax
push str.StartDay
lea ecx, [ebp + 8]
call fcn.0042d0a0
mov ecx, dword [esi + 0x18c]
push ecx
push str.StartHour
lea ecx, [ebp + 8]
call fcn.0042d0a0
mov edx, dword [esi + 0x190]
push edx
push str.Duration
lea ecx, [ebp + 8]
call fcn.0042d0a0
movzx eax, byte [esi + 0x178]
push eax
push str.DesignMode
lea ecx, [ebp + 8]
call fcn.0042cfd0
push str.Surfaces
lea ecx, [ebp - 0x40]
push ecx
lea ecx, [ebp + 8]
call fcn.0042d4b0
mov byte [ebp - 4], 1
lea ebx, [esi + 0x4c]
mov ecx, ebx
call fcn.00513ef0
test eax, eax
jbe 0x431709
lea ecx, [ecx]
sub esp, 0x10
mov edx, esp
mov dword [ebp - 0x10], esp
push str.Surface
push edx
lea ecx, [ebp - 0x40]
call fcn.0042d4b0
mov byte [ebp - 4], 2
push edi
mov ecx, ebx
call fcn.00514130
mov byte [ebp - 4], 1
mov ecx, eax
call fcn.00444270
mov ecx, ebx
inc edi
call fcn.00513ef0
cmp edi, eax
jb 0x4316d0
push str.Gains
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp + 8]
call fcn.0042d4b0
mov byte [ebp - 4], 3
lea ebx, [esi + 0x34]
mov ecx, ebx
xor edi, edi
call fcn.00513ef0
test eax, eax
jbe 0x431769
mov edi, edi
sub esp, 0x10
mov ecx, esp
mov dword [ebp - 0x10], esp
push 0x57d3a0
push ecx
lea ecx, [ebp - 0x30]
call fcn.0042d4b0
mov byte [ebp - 4], 4
push edi
mov ecx, ebx
call fcn.00514130
mov byte [ebp - 4], 3
mov ecx, eax
call fcn.0043e2d0
mov ecx, ebx
inc edi
call fcn.00513ef0
cmp edi, eax
jb 0x431730
push str.Thermostats
lea edx, [ebp - 0x20]
push edx
lea ecx, [ebp + 8]
call fcn.0042d4b0
mov bl, 5
mov byte [ebp - 4], bl
add esi, 0x40
mov ecx, esi
xor edi, edi
call fcn.00513ef0
test eax, eax
jbe 0x4317c8
nop
sub esp, 0x10
mov eax, esp
mov dword [ebp - 0x10], esp
push 0x57d388
push eax
lea ecx, [ebp - 0x20]
call fcn.0042d4b0
mov byte [ebp - 4], 6
push edi
mov ecx, esi
call fcn.00514130
mov byte [ebp - 4], bl
mov ecx, eax
call fcn.00468560
mov ecx, esi
inc edi
call fcn.00513ef0
cmp edi, eax
jb 0x431790
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x20]
call fcn.0042d270
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x30]
call fcn.0042d270
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x40]
call fcn.0042d270
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call fcn.0042d270
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10