Function at 0x522870
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x6c
push esi
mov esi, ecx
call fcn.00522800
fld dword [0x5c03d8]
push 0
fstp dword [esp + 0x20]
push str.Average_Day_Temp
push 0x20
lea eax, [esp + 0x3c]
push eax
mov ecx, 0xa18578
call fcn.004d2500
test eax, eax
jne 0x5228de
lea ecx, [esp + 0x30]
push ecx
call fcn.0058ad69
fst dword [esp + 0x20]
fldz
add esp, 4
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x5228c5
fstp st(1)
fst dword [esp + 0x1c]
jmp 0x5228e6
fstp st(0)
fld dword [0x5adc78]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x5228e4
fstp st(1)
fst dword [esp + 0x1c]
jmp 0x5228e6
fld dword [esp + 0x1c]
jmp 0x5228e6
fstp st(0)
fsub dword [0x5aded4]
push 0
push str.Average_Rain
push 0x20
fstp dword [esp + 0x34]
lea edx, [esp + 0x3c]
fld dword [0x5ae17c]
push edx
mov ecx, 0xa18578
fstp dword [esp + 0x30]
call fcn.004d2500
test eax, eax
jne 0x522951
lea eax, [esp + 0x50]
push eax
call fcn.0058ad69
fst dword [esp + 0x24]
fldz
add esp, 4
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x52293a
fstp st(1)
fstp dword [esp + 0x20]
jmp 0x522951
fstp st(0)
fld1
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x52294f
fstp dword [esp + 0x20]
jmp 0x522951
fstp st(0)
mov ecx, 0x9f9488
call fcn.004b5830
fmul dword [0x5ae07c]
fst dword [esp + 0x18]
fld dword [0x623e88]
fcom st(1)
fnstsw ax
fld dword [0x5fc7e8]
test ah, 0x41
jne 0x522984
fstp st(2)
fld st(0)
fst dword [esp + 0x18]
jmp 0x522999
fcom st(2)
fnstsw ax
test ah, 5
jp 0x522997
fstp st(2)
fld st(1)
fst dword [esp + 0x18]
jmp 0x522999
fxch st(2)
fmul dword [0x5adc38]
fst dword [esp + 0xc]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x5229b6
fstp st(0)
fstp st(1)
fstp dword [esp + 0xc]
jmp 0x5229c9
fstp st(1)
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x5229c7
fstp dword [esp + 0xc]
jmp 0x5229c9
fstp st(0)
mov ecx, 0x9f9488
call fcn.004b5830
fmul dword [0x5ae048]
fst dword [esp + 4]
fld dword [0x5ad77c]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x5229f4
fstp st(1)
fst dword [esp + 4]
jmp 0x522a0b
fstp st(0)
fld1
fcom st(1)
fnstsw ax
test ah, 5
jp 0x522a09
fstp st(1)
fst dword [esp + 4]
jmp 0x522a0b
fstp st(0)
fmul dword [0x61d0b4]
fst dword [esp + 0x14]
fld dword [0x5c0374]
fcom st(1)
fnstsw ax
fld dword [0x5adc74]
test ah, 0x41
jne 0x522a34
fstp st(2)
fstp st(1)
fstp dword [esp + 0x14]
jmp 0x522a49
fstp st(1)
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x522a47
fstp dword [esp + 0x14]
jmp 0x522a49
fstp st(0)
mov ecx, 0x9f9488
call fcn.004b5830
fmul dword [0x5ae038]
fst dword [esp + 8]
fld dword [0x623e84]
fcom st(1)
fnstsw ax
fld dword [0x623e80]
test ah, 0x41
jne 0x522a7c
fstp st(2)
fstp st(1)
fst dword [esp + 8]
jmp 0x522a91
fstp st(1)
fcom st(1)
fnstsw ax
test ah, 5
jp 0x522a8f
fstp st(1)
fst dword [esp + 8]
jmp 0x522a91
fstp st(0)
fmul dword [0x603720]
fst dword [esp + 0x10]
fld dword [0x5c0380]
fcom st(1)
fnstsw ax
fld dword [0x5adc7c]
test ah, 0x41
jne 0x522aba
fstp st(2)
fstp st(1)
fstp dword [esp + 0x10]
jmp 0x522acf
fstp st(1)
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x522acd
fstp dword [esp + 0x10]
jmp 0x522acf
fstp st(0)
fld dword [esp + 4]
fadd dword [esp + 0x20]
fst dword [esp + 0x24]
fldz
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x522aee
fstp st(1)
fstp dword [esp + 0x24]
jmp 0x522b05
fstp st(0)
fld1
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x522b03
fstp dword [esp + 0x24]
jmp 0x522b05
fstp st(0)
push 0x10
call fcn.00588cb9
add esp, 4
test eax, eax
je 0x522b1c
mov ecx, eax
call fcn.0051fa70
jmp 0x522b1e
xor eax, eax
fldz
mov dword [esi + 0x48], eax
fstp dword [eax]
fld dword [esp + 0x1c]
mov ecx, dword [esi + 0x48]
fsub dword [esp + 0x28]
fstp dword [esp + 0x1c]
mov edx, ecx
mov dword [esi + 0x44], ecx
fld dword [edx]
fadd dword [esp + 0x74]
fld qword [0x623b48]
call fcn.0058aeda
fst dword [esp + 0x2c]
fmul qword [0x623e78]
mov ecx, 0x9f9488
fsin
fmul dword [esp + 0x1c]
fadd dword [esp + 0x28]
fld dword [esp + 0x24]
fsub dword [0x5ad750]
fmul dword [0x5ae038]
fsubp st(1)
fstp dword [esp + 0x24]
call fcn.004b5830
fmul dword [0x5fc7c4]
fadd dword [esp + 0x10]
fld dword [esp + 8]
fld dword [0x603720]
fmul st(1)
fsubp st(2)
fld st(1)
fmul dword [0x5adc74]
fsubp st(2)
fxch st(1)
fst dword [esp + 0x10]
fld dword [0x5c0380]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x522bbd
fstp st(1)
fst dword [esp + 0x10]
jmp 0x522bd8
fstp st(0)
fld dword [0x5adc7c]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x522bd6
fstp st(1)
fst dword [esp + 0x10]
jmp 0x522bd8
fstp st(0)
faddp st(1)
fst dword [esp + 8]
fld dword [0x623e84]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x522bf5
fstp st(1)
fstp dword [esp + 8]
jmp 0x522c10
fstp st(0)
fld dword [0x623e80]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x522c0e
fstp dword [esp + 8]
jmp 0x522c10
fstp st(0)
mov ecx, 0x9f9488
call fcn.004b5830
fmul dword [0x623e74]
fadd dword [esp + 0x14]
fld dword [esp + 4]
fld dword [0x61d0b4]
fmul st(1)
fsubp st(2)
fld st(1)
fmul dword [0x5bf864]
fsubp st(2)
fxch st(1)
fst dword [esp + 0x14]
fld dword [0x5c0374]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x522c59
fstp st(1)
fst dword [esp + 0x14]
jmp 0x522c74
fstp st(0)
fld dword [0x5adc74]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x522c72
fstp st(1)
fst dword [esp + 0x14]
jmp 0x522c74
fstp st(0)
faddp st(1)
fst dword [esp + 4]
fld dword [0x5ad77c]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x522c93
fstp st(1)
fst dword [esp + 4]
fld1
jmp 0x522caa
fstp st(0)
fld1
fcom st(1)
fnstsw ax
test ah, 5
jp 0x522caa
fstp st(1)
fld st(0)
fst dword [esp + 4]
fxch st(1)
fld dword [esp + 0x24]
mov eax, dword [esi + 0x44]
fadd dword [esp + 8]
fstp dword [eax + 4]
mov ecx, dword [esi + 0x44]
fxch st(1)
fadd dword [esp + 0x20]
fstp dword [ecx + 8]
mov ecx, dword [esi + 0x44]
fldz
add ecx, 8
fcom dword [ecx]
fnstsw ax
test ah, 0x41
jne 0x522cdb
fstp st(1)
fstp dword [ecx]
jmp 0x522cec
fstp st(0)
fcom dword [ecx]
fnstsw ax
test ah, 5
jp 0x522cea
fstp dword [ecx]
jmp 0x522cec
fstp st(0)
mov ecx, dword [esi + 0x44]
fld dword [ecx + 8]
fstp dword [esp + 0x24]
fld dword [0x5ade90]
fcom dword [ecx + 8]
fnstsw ax
test ah, 5
jp 0x522d36
fld dword [str.ff_33]
fcom dword [ecx + 8]
fnstsw ax
test ah, 0x41
jne 0x522d34
fld dword [0x623e70]
fcomp dword [ecx + 8]
fnstsw ax
test ah, 0x41
jne 0x522d2d
fstp st(0)
fstp dword [ecx + 8]
jmp 0x522d38
fstp st(1)
fstp dword [ecx + 8]
jmp 0x522d38
fstp st(1)
fstp st(0)
mov edx, dword [esi + 0x44]
fld dword [esp + 0x78]
fcomp dword [edx]
fnstsw ax
test ah, 5
jnp 0x522e6a
mov ecx, 0x9f9488
call fcn.004b5830
fmul dword [0x5ae080]
fadd dword [esp + 0xc]
fld dword [esp + 0x18]
fld dword [0x5adc38]
fmul st(1)
fsubp st(2)
fxch st(1)
fstp dword [esp + 0xc]
fldz
fst dword [esp + 0xc]
fld dword [0x623e88]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x522d97
fstp st(1)
fst dword [esp + 0xc]
fld dword [0x5fc7e8]
jmp 0x522db2
fstp st(0)
fld dword [0x5fc7e8]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x522db2
fstp st(1)
fld st(0)
fst dword [esp + 0xc]
fxch st(1)
fld dword [0x5d32e8]
fld dword [0x623e6c]
fld dword [esp + 0x2c]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x522e0f
fcomp dword [0x623e68]
fnstsw ax
test ah, 5
jp 0x522dec
fstp st(1)
fstp st(0)
fld dword [0x5b2ef0]
fld dword [0x5b2edc]
fxch st(1)
fxch st(2)
faddp st(3)
fxch st(2)
fst dword [esp + 0x18]
fld st(2)
fchs
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x522e13
fstp st(1)
fstp st(2)
fxch st(1)
fst dword [esp + 0x18]
jmp 0x522e2c
fstp st(0)
jmp 0x522dec
fstp st(0)
fcom st(2)
fnstsw ax
test ah, 0x41
jne 0x522e28
fstp st(0)
fxch st(1)
fst dword [esp + 0x18]
jmp 0x522e2c
fstp st(2)
fxch st(1)
faddp st(1)
push 0x10
fstp dword [esp + 0x30]
call fcn.00588cb9
add esp, 4
test eax, eax
je 0x522e49
mov ecx, eax
call fcn.0051fa70
jmp 0x522e4b
xor eax, eax
mov ecx, dword [esi + 0x44]
mov dword [ecx + 0xc], eax
mov eax, dword [esi + 0x44]
fld dword [eax]
mov edx, dword [eax + 0xc]
fadd dword [esp + 0x2c]
fstp dword [edx]
mov eax, dword [esi + 0x44]
mov ecx, dword [eax + 0xc]
jmp 0x522b34
pop esi
add esp, 0x6c
ret 8