Function at 0x403450
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x659e75
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x15c
push ebx
mov ebx, dword [0x6b7b38]
push ebp
mov ebp, dword [esp + 0x174]
push esi
push edi
mov esi, ecx
push 0
push 0
mov eax, esi
call fcn.0058d120
push 0x19
xor edi, edi
push str._SUBURBAN_ALMANAC_PLANTS_
lea ecx, [esp + 0x38]
mov dword [esp + 0x50], 7
mov dword [esp + 0x4c], edi
mov word [esp + 0x3c], di
call fcn.00404f80
mov edx, 0x9f
push 0x2b
lea ecx, [edx + 0x36]
lea eax, [esp + 0x88]
mov dword [esp + 0x178], edi
call fcn.0056a390
mov ecx, dword [eax]
mov ebx, dword [0x6b76e4]
mov dword [esp + 0x14], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x18], edx
mov ecx, dword [eax + 8]
mov dword [esp + 0x1c], ecx
mov edx, dword [eax + 0xc]
mov dword [esp + 0x20], edx
lea edx, [esp + 0x30]
lea edi, [esp + 0x4c]
call fcn.0051d780
mov byte [esp + 0x174], 1
mov eax, dword [ebx]
mov edx, dword [eax + 0x1c]
mov ecx, edi
push ecx
mov ecx, ebx
call edx
cdq
sub eax, edx
mov edx, dword [ebx]
mov edx, dword [edx + 0x28]
mov ecx, eax
sar ecx, 1
mov eax, 0x190
sub eax, ecx
lea ecx, [esi + 0x20]
push ecx
lea ecx, [esp + 0x18]
push ecx
mov ecx, edi
push ecx
push 0x30
push eax
push esi
mov ecx, ebx
call edx
mov edi, 8
cmp dword [esp + 0x64], edi
jb 0x40354a
mov eax, dword [esp + 0x50]
push eax
call fcn.0062414c
add esp, 4
mov dword [esp + 0x174], 0xffffffff
cmp dword [esp + 0x48], edi
jb 0x403568
mov ecx, dword [esp + 0x34]
push ecx
call fcn.0062414c
add esp, 4
mov edx, dword [ebp + 0x170]
mov eax, dword [edx + 0x320]
mov ecx, dword [eax + 0xe0]
mov eax, dword [eax + 0xe4]
push eax
push ecx
push ebp
call fcn.004047b0
xor edi, edi
mov dword [esp + 0x2c], eax
mov dword [esp + 0x10], edi
cmp edi, 0x30
jne 0x4035a9
mov dword [esp + 0x24], 0x14
mov dword [esp + 0x28], 0x17
jmp 0x4035d6
mov eax, edi
and eax, 0x80000007
jns 0x4035b7
dec eax
or eax, 0xfffffff8
inc eax
imul eax, eax, 0x34
add eax, 0x1a
mov dword [esp + 0x24], eax
mov eax, edi
cdq
and edx, 7
add eax, edx
sar eax, 3
imul eax, eax, 0x4e
add eax, 0x5c
mov dword [esp + 0x28], eax
cmp edi, 0x28
mov eax, dword [ebp + 0x170]
jne 0x4035f3
mov eax, dword [eax + 0x82c]
cmp dword [eax + 0x1c0], 0
setg al
jmp 0x403600
mov ebx, edi
mov edi, eax
call fcn.00456ac0
mov edi, dword [esp + 0x10]
test al, al
je 0x403682
cmp edi, 0x30
jne 0x403638
cmp dword [esp + 0x2c], edi
jne 0x403626
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
mov ebx, dword [0x6b77a0]
push ecx
push edx
mov eax, esi
call fcn.0058d120
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
mov ebx, dword [0x6b77a0]
push eax
push ecx
jmp 0x40367b
fldz
push 0
push 1
push ecx
fstp dword [esp]
push 0xffffffffffffffff
fild dword [esp + 0x38]
push edi
sub esp, 8
mov ecx, 0xff
fstp dword [esp + 4]
fild dword [esp + 0x40]
fstp dword [esp]
push esi
call fcn.0048b460
add esp, 0x20
cmp dword [esp + 0x2c], edi
jne 0x403682
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
mov ebx, dword [0x6b7c20]
push edx
push eax
mov eax, esi
call fcn.0058d120
add edi, 1
cmp edi, 0x31
mov dword [esp + 0x10], edi
jl 0x403592
mov ecx, dword [ebp + 0x19c]
cmp ecx, 0x10
je 0x40376f
cmp ecx, 0x13
je 0x40376f
cmp ecx, 0x2b
je 0x40376f
cmp ecx, 0x18
jne 0x403716
mov ebx, dword [0x6b74e4]
push 0x6b
push 0x209
mov eax, esi
call fcn.0058d120
mov eax, dword [ebp + 0x170]
call fcn.0055b400
test al, al
je 0x4037dc
push 0x1f4
push 0x18d
push 0
push 0x1db
call fcn.0058d860
fld dword [esi + 0xc]
fsub qword [0x689380]
push 1
push esi
fstp dword [esi + 0xc]
mov ecx, dword [ebp + 0x170]
mov edx, dword [ecx + 0x818]
push edx
jmp 0x4037c4
mov eax, ecx
call fcn.0046b780
test al, al
jne 0x403759
cmp ecx, 0xb
je 0x403759
cmp ecx, 0x19
je 0x403759
cmp ecx, 0x21
push 0x6b
mov eax, esi
push 0x209
jne 0x403749
mov ebx, dword [0x6b7884]
call fcn.0058d120
jmp 0x4037dc
mov ebx, dword [0x6b796c]
call fcn.0058d120
jmp 0x4037dc
mov ebx, dword [0x6b7828]
push 0x6b
push 0x209
mov eax, esi
call fcn.0058d120
jmp 0x4037dc
mov ebx, dword [0x6b7aa0]
push 0x6b
push 0x209
mov eax, esi
call fcn.0058d120
mov eax, dword [ebp + 0x170]
call fcn.0055b400
test al, al
je 0x4037dc
push 0x1f4
push 0x18d
push 0
push 0x1db
call fcn.0058d860
fld dword [esi + 0xc]
fsub qword [0x689380]
push 0
push esi
fstp dword [esi + 0xc]
mov eax, dword [ebp + 0x170]
mov ecx, dword [eax + 0x818]
push ecx
call fcn.0046d8e0
fld dword [esi + 0xc]
fadd qword [0x689380]
mov ecx, esi
fstp dword [esi + 0xc]
call fcn.0058d830
cmp dword [ebp + 0x1a4], 0
je 0x403840
push esi
lea edi, [esp + 0x98]
call fcn.0058c980
mov dword [esp + 0x174], 2
mov eax, dword [ebp + 0x1a4]
fild dword [eax + 8]
mov edx, edi
push edx
push eax
fadd dword [esp + 0xa4]
fstp dword [esp + 0xa4]
fild dword [eax + 0xc]
fadd dword [esp + 0xa8]
fstp dword [esp + 0xa8]
call fcn.004692e0
mov ecx, edi
mov dword [esp + 0x174], 0xffffffff
call fcn.0058cae0
mov ebx, dword [0x6b75bc]
push 0x56
push 0x1cb
mov eax, esi
call fcn.0058d120
mov eax, dword [0x7329bc]
mov edx, dword [0x7329c4]
mov ecx, dword [0x7329c0]
mov ebx, dword [0x6b7b18]
mov dword [esp + 0x14], eax
mov eax, dword [0x7329c8]
mov dword [esp + 0x1c], edx
lea edx, [ebp + 0x834]
lea edi, [esp + 0x30]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x20], eax
call fcn.0051d780
mov dword [esp + 0x174], 3
mov edx, dword [ebx]
mov edx, dword [edx + 0x1c]
mov eax, edi
push eax
mov ecx, ebx
call edx
cdq
sub eax, edx
mov edx, dword [ebx]
mov edx, dword [edx + 0x28]
mov ecx, eax
sar ecx, 1
mov eax, 0x269
sub eax, ecx
lea ecx, [esi + 0x20]
push ecx
lea ecx, [esp + 0x18]
push ecx
mov ecx, edi
push ecx
push 0x120
push eax
push esi
mov ecx, ebx
call edx
mov dword [esp + 0x174], 0xffffffff
cmp dword [esp + 0x48], 8
jb 0x4038ef
mov eax, dword [esp + 0x34]
push eax
call fcn.0062414c
add esp, 4
mov edx, 0x32
push 0x5a
lea ecx, [edx - 0xa]
lea eax, [esp + 0x88]
call fcn.0056a390
mov ecx, dword [0x6b791c]
lea edx, [ebp + 0x850]
lea edi, [esp + 0x30]
mov ebx, eax
mov dword [esp + 0x10], ecx
call fcn.0051d780
mov dword [esp + 0x174], 4
mov edx, dword [ebp + 0x7ec]
mov eax, dword [ebp + 0x7f0]
mov ecx, dword [ebp + 0x7f4]
sub esp, 0x10
mov dword [esp + 0x24], edx
mov edx, dword [ebp + 0x7f8]
mov dword [esp + 0x2c], ecx
mov ecx, dword [ebx]
mov dword [esp + 0x28], eax
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebx + 8]
mov dword [esp + 0x30], edx
mov edx, dword [ebx + 4]
mov dword [eax + 4], edx
mov edx, dword [ebx + 0xc]
push 0
push 1
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
mov eax, dword [esp + 0x28]
push 0
push eax
lea ecx, [esp + 0x34]
push ecx
mov edx, edi
push edx
push esi
call fcn.0051de00
add esp, 0x2c
mov dword [esp + 0x174], 0xffffffff
cmp dword [esp + 0x48], 8
jb 0x4039a9
mov eax, dword [esp + 0x34]
push eax
call fcn.0062414c
add esp, 4
cmp dword [ebp + 0x19c], 0x30
je 0x403a86
mov ebx, dword [0x6b791c]
lea edx, [ebp + 0x8a4]
lea edi, [esp + 0x30]
call fcn.0051d780
mov dword [esp + 0x174], 5
mov ecx, dword [ebp + 0x80c]
mov eax, dword [ebp + 0x814]
mov edx, dword [ebp + 0x810]
sub esp, 0x10
mov dword [esp + 0x24], ecx
mov ecx, dword [ebp + 0x818]
mov dword [esp + 0x28], edx
mov edx, dword [0x7329bc]
mov dword [esp + 0x2c], eax
mov eax, esp
push 0
mov dword [eax], edx
mov edx, dword [0x7329c4]
push 1
mov dword [esp + 0x38], ecx
mov ecx, dword [0x7329c0]
mov dword [eax + 4], ecx
mov ecx, dword [0x7329c8]
push 0
mov dword [eax + 8], edx
push ebx
lea edx, [esp + 0x34]
mov dword [eax + 0xc], ecx
push edx
mov eax, edi
push eax
push esi
call fcn.0051de00
add esp, 0x2c
mov dword [esp + 0x174], 0xffffffff
cmp dword [esp + 0x48], 8
jb 0x403a5d
mov ecx, dword [esp + 0x34]
push ecx
call fcn.0062414c
add esp, 4
mov edx, dword [ebp + 0x8dc]
mov eax, dword [0x6b791c]
push 0
push edx
push eax
lea ebx, [ebp + 0x81c]
lea edx, [ebp + 0x8c0]
push esi
mov ecx, 0x7329bc
call fcn.0051e310
add esp, 0x10
push esi
lea edi, [esp + 0x100]
call fcn.0058c980
lea ebx, [ebp + 0x7fc]
mov eax, ebx
mov esi, edi
mov dword [esp + 0x174], 6
call fcn.0058d980
fild dword [ebp + 0x830]
mov ecx, dword [ebp + 0x184]
mov edx, 0x32
fmul qword [ecx + 0xa0]
push 0x5a
lea ecx, [edx - 0xa]
lea eax, [esp + 0x50]
fdiv qword [0x688560]
fchs
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [ebp + 0x82c]
fstp dword [esp + 0x10c]
call fcn.0056a390
mov edx, dword [0x6b791c]
mov dword [esp + 0x10], edx
lea edx, [ebp + 0x888]
lea edi, [esp + 0x68]
mov esi, eax
call fcn.0051d780
mov byte [esp + 0x174], 7
mov eax, dword [ebx]
mov ecx, dword [ebx + 4]
mov edx, dword [ebx + 8]
sub esp, 0x10
mov dword [esp + 0x24], eax
mov eax, dword [ebx + 0xc]
mov dword [esp + 0x28], ecx
mov ecx, dword [esi]
mov dword [esp + 0x30], eax
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esi + 8]
mov dword [esp + 0x2c], edx
mov edx, dword [esi + 4]
mov dword [eax + 4], edx
mov edx, dword [esi + 0xc]
push 1
mov dword [eax + 8], ecx
push 1
mov dword [eax + 0xc], edx
mov eax, dword [esp + 0x28]
push 0
push eax
lea ecx, [esp + 0x34]
push ecx
mov edx, edi
push edx
lea eax, [esp + 0x124]
push eax
call fcn.0051de00
add esp, 0x2c
cmp dword [esp + 0x80], 8
jb 0x403b82
mov ecx, dword [esp + 0x6c]
push ecx
call fcn.0062414c
add esp, 4
lea ecx, [esp + 0xfc]
call fcn.0058cae0
mov ecx, dword [esp + 0x16c]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x168
ret 4