Function at 0x431350
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x6ee536
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x108
push ebx
push ebp
mov ebx, ecx
push esi
push edi
lea esi, [ebx + 0x2b4]
xor ebp, ebp
lea edi, [ebx + 0x300]
mov byte [esi + 0xc], 0
mov dword [esi], ebp
mov dword [esi + 4], ebp
mov eax, dword [edi + 4]
mov ecx, dword [eax + 4]
push ecx
mov ecx, edi
mov dword [esp + 0x38], ebx
mov dword [esp + 0x30], edi
call fcn.00427fe0
mov eax, dword [edi + 4]
mov dword [eax + 4], eax
mov eax, dword [edi + 4]
mov dword [edi + 8], ebp
mov dword [eax], eax
mov eax, dword [edi + 4]
lea edi, [ebx + 0x318]
mov dword [eax + 8], eax
mov edx, dword [edi + 4]
mov eax, dword [edx + 4]
push eax
mov ecx, edi
mov dword [esp + 0x34], edi
call fcn.0042fe40
mov eax, dword [edi + 4]
mov dword [eax + 4], eax
mov eax, dword [edi + 4]
mov dword [edi + 8], ebp
mov dword [eax], eax
mov eax, dword [edi + 4]
add ebx, 0x30c
mov dword [eax + 8], eax
mov ecx, dword [ebx + 4]
mov edx, dword [ecx + 4]
push edx
mov ecx, ebx
mov dword [esp + 0x1c], ebx
call fcn.00428020
mov eax, dword [ebx + 4]
mov dword [eax + 4], eax
mov eax, dword [ebx + 4]
mov dword [ebx + 8], ebp
mov dword [eax], eax
mov eax, dword [ebx + 4]
lea ecx, [esp + 0x54]
mov dword [eax + 8], eax
call fcn.0064e7a0
push str.datasmapsinfo.xml
mov dword [esp + 0x124], ebp
call fcn.005a8430
mov edi, eax
add esp, 4
cmp edi, ebp
mov dword [esp + 0x40], edi
jne 0x43146a
cmp dword [esp + 0xb8], 0x10
mov dword [esp + 0x120], 0xffffffff
mov dword [esp + 0x54], 0x6feca0
jb 0x4314b4
mov eax, dword [esp + 0xa4]
push eax
call fcn.0065d0d4
add esp, 4
mov dword [esp + 0xb4], ebp
jmp 0x431b1f
lea ecx, [esp + 0x54]
push ecx
push edi
call fcn.00651800
add esp, 8
test al, al
jne 0x4314c0
push edi
call fcn.005a55f0
mov eax, dword [esp + 0xbc]
add esp, 4
cmp eax, 0x10
mov dword [esp + 0x120], 0xffffffff
mov dword [esp + 0x54], 0x6feca0
jb 0x4314b4
mov edx, dword [esp + 0xa4]
push edx
call fcn.0065d0d4
add esp, 4
mov dword [esp + 0xb4], ebp
jmp 0x431b1f
push str.maps
lea ecx, [esp + 0x58]
call fcn.0064e3e0
cmp eax, ebp
je 0x431ad8
push 0x6ff724
mov ecx, eax
call fcn.0064e3e0
mov ebp, eax
test ebp, ebp
mov dword [esp + 0x28], ebp
je 0x431ad8
mov ebx, dword [esp + 0x34]
lea eax, [esp + 0x13]
push 0x6fe416
push eax
call fcn.0065c60e
add esp, 8
push 0x6fead0
mov ecx, ebp
call fcn.0064d9a0
push str.backmusic
mov ecx, ebp
mov edi, eax
call fcn.0064d9a0
test edi, edi
mov dword [esp + 0x38], eax
je 0x43153c
lea ecx, [ebx + 0x138]
push ecx
push edi
call fcn.0065dac0
add esp, 8
test eax, eax
je 0x431557
push 0x6ff724
mov ecx, ebp
call fcn.0064e420
mov ebp, eax
test ebp, ebp
jne 0x4314f4
mov dword [esp + 0x28], ebp
jmp 0x431ad8
mov eax, dword [esp + 0x38]
test eax, eax
mov dword [esp + 0x28], ebp
je 0x431577
push 0x40
push eax
lea edx, [ebx + 0x2c0]
push edx
call fcn.0065cfb0
add esp, 0xc
jmp 0x431593
lea ecx, [ebx + 0x2c0]
lea eax, [esp + 0x13]
push 0x6fe416
push ecx
mov dword [esp + 0x40], eax
call fcn.0065c60e
add esp, 8
push esi
push str.MinInterval
mov ecx, ebp
mov byte [ebx + 0x2ff], 0
call fcn.0064d9d0
test eax, eax
je 0x4315b1
mov dword [esi], 0
add ebx, 0x2b8
push ebx
push str.MaxInterval
mov ecx, ebp
call fcn.0064d9d0
test eax, eax
je 0x4315ce
mov dword [esi], 0
push str.zones
mov ecx, ebp
call fcn.0064e3e0
test eax, eax
je 0x431836
push str.zone
mov ecx, eax
call fcn.0064e3e0
mov ebp, eax
test ebp, ebp
je 0x431836
jmp 0x431600
push 0x6fead0
mov ecx, ebp
call fcn.0064d9a0
push str.backmusic
mov ecx, ebp
mov ebx, eax
call fcn.0064d9a0
mov edi, eax
test edi, edi
je 0x431625
cmp byte [edi], 0
jne 0x431629
mov edi, dword [esp + 0x38]
lea edx, [esp + 0x1c]
push edx
push 0x6ffc50
mov ecx, ebp
call fcn.0064d9d0
test eax, eax
jne 0x431820
mov eax, dword [esp + 0x1c]
lea ecx, [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x18], eax
call fcn.0042c700
push 0x40
mov esi, eax
push ebx
push esi
call fcn.0065cfb0
push 0x40
lea edx, [esi + 0x5c]
push edi
push edx
mov byte [esi + 0x3f], 0
call fcn.0065cfb0
xor eax, eax
lea ebx, [esi + 0x40]
mov dword [ebx], eax
xor ecx, ecx
mov dword [ebx + 4], ecx
xor edx, edx
xor edi, edi
mov dword [ebx + 8], edx
add esp, 0x18
mov dword [ebx + 0xc], edi
lea edi, [esi + 0x58]
push edi
push str.Priority
mov ecx, ebp
mov byte [esi + 0x9b], 0
call fcn.0064d9d0
test eax, eax
je 0x4316ad
mov dword [edi], 0
lea edi, [esi + 0x50]
push edi
push str.MinInterval
mov ecx, ebp
call fcn.0064d9d0
test eax, eax
je 0x4316c7
mov dword [edi], 0
add esi, 0x54
push esi
push str.MaxInterval
mov ecx, ebp
call fcn.0064d9d0
test eax, eax
je 0x4316e1
mov dword [esi], 0
push str.weather
mov ecx, ebp
call fcn.0064e3e0
mov esi, eax
test esi, esi
je 0x431820
mov eax, dword [esp + 0x1c]
lea ecx, [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x18], eax
call fcn.00430fe0
push str.date
mov ecx, esi
mov dword [esp + 0x18], eax
call fcn.0064e3e0
mov edi, eax
test edi, edi
je 0x431820
jmp 0x431730
lea edx, [esp + 0x20]
push edx
push str.start
mov ecx, edi
call fcn.0064d9d0
test eax, eax
jne 0x43180a
lea eax, [esp + 0x24]
push eax
push 0x700828
mov ecx, edi
call fcn.0064d9d0
test eax, eax
jne 0x43180a
xor ebx, ebx
mov ecx, dword [ebx*4 + 0x757298]
push ecx
mov ecx, edi
call fcn.0064e3e0
mov esi, eax
test esi, esi
je 0x431800
lea edx, [esp + 0x3c]
push edx
push str.level
mov ecx, esi
call fcn.0064d9d0
test eax, eax
jne 0x431800
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x20]
mov dword [esp + 0xcc], ecx
push str.backmusic
mov ecx, esi
mov dword [esp + 0xd8], eax
mov dword [esp + 0xcc], edx
mov byte [esp + 0xd4], bl
call fcn.0064d9a0
test eax, eax
je 0x4317da
cmp byte [eax], 0
je 0x4317da
push eax
lea eax, [esp + 0xdc]
push eax
jmp 0x4317e7
push str.nomusic
lea ecx, [esp + 0xdc]
push ecx
call fcn.0065c60e
mov ecx, dword [esp + 0x1c]
add esp, 8
lea edx, [esp + 0xc8]
push edx
call fcn.0042c8b0
inc ebx
cmp ebx, 3
jl 0x431764
push str.date
mov ecx, edi
call fcn.0064e420
mov edi, eax
test edi, edi
jne 0x431730
push str.zone
mov ecx, ebp
call fcn.0064e420
mov ebp, eax
test ebp, ebp
jne 0x431600
mov ecx, dword [esp + 0x28]
push str.exits
call fcn.0064e3e0
test eax, eax
je 0x4318fb
push str.exit
mov ecx, eax
call fcn.0064e3e0
mov edi, eax
test edi, edi
je 0x4318fb
push 0x6fead0
mov ecx, edi
call fcn.0064d9a0
mov ebx, eax
lea eax, [esp + 0x20]
push eax
push 0x6ffc50
mov ecx, edi
call fcn.0064d9d0
test eax, eax
jne 0x4318e5
lea ecx, [esp + 0x3c]
push ecx
push 0x700804
mov ecx, edi
call fcn.0064d9d0
test eax, eax
jne 0x4318e5
lea edx, [esp + 0x2c]
push edx
push 0x700800
mov ecx, edi
call fcn.0064d9d0
test eax, eax
jne 0x4318e5
mov eax, dword [esp + 0x20]
lea ecx, [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x28], eax
call fcn.0042c780
push 0x40
mov esi, eax
push ebx
push esi
call fcn.0065cfb0
mov byte [esi + 0x3f], 0
mov edx, dword [esp + 0x48]
mov dword [esi + 0x40], edx
mov eax, dword [esp + 0x38]
add esp, 0xc
mov dword [esi + 0x44], eax
push str.exit
mov ecx, edi
call fcn.0064e420
mov edi, eax
test edi, edi
jne 0x431862
mov ecx, dword [esp + 0x28]
push str.weather
call fcn.0064e3e0
test eax, eax
je 0x431ad8
xor ebp, ebp
mov dword [esp + 0x48], ebp
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x50], ebp
push str.date
mov ecx, eax
mov byte [esp + 0x124], 1
call fcn.0064e3e0
mov edi, eax
cmp edi, ebp
je 0x431a34
lea ecx, [ecx]
lea ecx, [esp + 0x24]
push ecx
push str.start
mov ecx, edi
call fcn.0064d9d0
test eax, eax
jne 0x431a1e
lea edx, [esp + 0x20]
push edx
push 0x700828
mov ecx, edi
call fcn.0064d9d0
test eax, eax
jne 0x431a1e
xor ebx, ebx
mov eax, dword [ebx*4 + 0x757298]
push eax
mov ecx, edi
call fcn.0064e3e0
mov esi, eax
test esi, esi
je 0x431a14
lea ecx, [esp + 0x18]
push ecx
push str.level
mov ecx, esi
call fcn.0064d9d0
test eax, eax
jne 0x431a14
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
mov dword [esp + 0xc8], ecx
push str.backmusic
mov ecx, esi
mov dword [esp + 0xd8], edx
mov dword [esp + 0xd0], eax
mov byte [esp + 0xd4], bl
call fcn.0064d9a0
test eax, eax
je 0x4319ea
cmp byte [eax], 0
je 0x4319ea
push eax
lea edx, [esp + 0xdc]
push edx
jmp 0x4319f7
push str.nomusic
lea eax, [esp + 0xdc]
push eax
call fcn.0065c60e
add esp, 8
lea ecx, [esp + 0xc8]
push ecx
lea ecx, [esp + 0x48]
call fcn.0042c8b0
mov ebp, dword [esp + 0x4c]
inc ebx
cmp ebx, 3
jl 0x431974
push str.date
mov ecx, edi
call fcn.0064e420
mov edi, eax
test edi, edi
jne 0x431940
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x304]
mov ecx, dword [eax]
cmp ecx, eax
mov dword [esp + 0x1c], ecx
je 0x431a92
mov ebx, dword [esp + 0x30]
lea esp, [esp]
mov esi, dword [esp + 0x48]
cmp esi, ebp
je 0x431a77
lea edi, [ecx + 0xc]
jmp 0x431a60
push esi
push edi
mov ecx, ebx
call fcn.00430fe0
mov ecx, eax
call fcn.0042c8b0
add esi, 0x50
cmp esi, ebp
jne 0x431a60
lea ecx, [esp + 0x1c]
call fcn.00427d50
mov eax, dword [esp + 0x34]
mov eax, dword [eax + 0x304]
mov ecx, dword [esp + 0x1c]
cmp ecx, eax
jne 0x431a50
mov ebx, dword [esp + 0x48]
cmp ebx, ebp
mov esi, ebx
je 0x431ac3
mov edi, dword [esp + 0x30]
mov dword [esp + 0x18], 0xff
push esi
lea ecx, [esp + 0x1c]
push ecx
mov ecx, edi
call fcn.00430fe0
mov ecx, eax
call fcn.0042c8b0
add esi, 0x50
cmp esi, ebp
jne 0x431aa8
test ebx, ebx
mov byte [esp + 0x120], 0
je 0x431ad8
push ebx
call fcn.0065d0d4
add esp, 4
mov edx, dword [esp + 0x40]
push edx
call fcn.005a55f0
mov eax, dword [esp + 0xbc]
add esp, 4
cmp eax, 0x10
mov dword [esp + 0x120], 0xffffffff
mov dword [esp + 0x54], 0x6feca0
jb 0x431b14
mov eax, dword [esp + 0xa4]
push eax
call fcn.0065d0d4
add esp, 4
mov dword [esp + 0xb4], 0
lea ecx, [esp + 0x54]
mov dword [esp + 0xb8], 0xf
mov byte [esp + 0xa4], 0
call fcn.0064d6b0
mov ecx, dword [esp + 0x118]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x114
ret