Function at 0x42f440
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x6c11d6
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.00427300
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.0042e260
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.00427340
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.006217e0
push str.datasmapsinfo.xml
mov dword [esp + 0x124], ebp
call fcn.0057da20
mov edi, eax
add esp, 4
cmp edi, ebp
mov dword [esp + 0x40], edi
jne 0x42f55a
cmp dword [esp + 0xb8], 0x10
mov dword [esp + 0x120], 0xffffffff
mov dword [esp + 0x54], 0x6d1ca0
jb 0x42f5a4
mov eax, dword [esp + 0xa4]
push eax
call fcn.00630114
add esp, 4
mov dword [esp + 0xb4], ebp
jmp 0x42fc0f
lea ecx, [esp + 0x54]
push ecx
push edi
call fcn.00624840
add esp, 8
test al, al
jne 0x42f5b0
push edi
call fcn.0057acc0
mov eax, dword [esp + 0xbc]
add esp, 4
cmp eax, 0x10
mov dword [esp + 0x120], 0xffffffff
mov dword [esp + 0x54], 0x6d1ca0
jb 0x42f5a4
mov edx, dword [esp + 0xa4]
push edx
call fcn.00630114
add esp, 4
mov dword [esp + 0xb4], ebp
jmp 0x42fc0f
push str.maps
lea ecx, [esp + 0x58]
call fcn.00621420
cmp eax, ebp
je 0x42fbc8
push 0x6d2628
mov ecx, eax
call fcn.00621420
mov ebp, eax
test ebp, ebp
mov dword [esp + 0x28], ebp
je 0x42fbc8
mov ebx, dword [esp + 0x34]
lea eax, [esp + 0x13]
push 0x6d1416
push eax
call fcn.0062f64e
add esp, 8
push 0x6d1ad0
mov ecx, ebp
call fcn.006209e0
push str.backmusic
mov ecx, ebp
mov edi, eax
call fcn.006209e0
test edi, edi
mov dword [esp + 0x38], eax
je 0x42f62c
lea ecx, [ebx + 0x138]
push ecx
push edi
call fcn.00630b00
add esp, 8
test eax, eax
je 0x42f647
push 0x6d2628
mov ecx, ebp
call fcn.00621460
mov ebp, eax
test ebp, ebp
jne 0x42f5e4
mov dword [esp + 0x28], ebp
jmp 0x42fbc8
mov eax, dword [esp + 0x38]
test eax, eax
mov dword [esp + 0x28], ebp
je 0x42f667
push 0x40
push eax
lea edx, [ebx + 0x2c0]
push edx
call fcn.0062fff0
add esp, 0xc
jmp 0x42f683
lea ecx, [ebx + 0x2c0]
lea eax, [esp + 0x13]
push 0x6d1416
push ecx
mov dword [esp + 0x40], eax
call fcn.0062f64e
add esp, 8
push esi
push str.MinInterval
mov ecx, ebp
mov byte [ebx + 0x2ff], 0
call fcn.00620a10
test eax, eax
je 0x42f6a1
mov dword [esi], 0
add ebx, 0x2b8
push ebx
push str.MaxInterval
mov ecx, ebp
call fcn.00620a10
test eax, eax
je 0x42f6be
mov dword [esi], 0
push str.zones
mov ecx, ebp
call fcn.00621420
test eax, eax
je 0x42f926
push str.zone
mov ecx, eax
call fcn.00621420
mov ebp, eax
test ebp, ebp
je 0x42f926
jmp 0x42f6f0
push 0x6d1ad0
mov ecx, ebp
call fcn.006209e0
push str.backmusic
mov ecx, ebp
mov ebx, eax
call fcn.006209e0
mov edi, eax
test edi, edi
je 0x42f715
cmp byte [edi], 0
jne 0x42f719
mov edi, dword [esp + 0x38]
lea edx, [esp + 0x1c]
push edx
push 0x6d2b58
mov ecx, ebp
call fcn.00620a10
test eax, eax
jne 0x42f910
mov eax, dword [esp + 0x1c]
lea ecx, [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x18], eax
call fcn.0042bd70
push 0x40
mov esi, eax
push ebx
push esi
call fcn.0062fff0
push 0x40
lea edx, [esi + 0x5c]
push edi
push edx
mov byte [esi + 0x3f], 0
call fcn.0062fff0
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.00620a10
test eax, eax
je 0x42f79d
mov dword [edi], 0
lea edi, [esi + 0x50]
push edi
push str.MinInterval
mov ecx, ebp
call fcn.00620a10
test eax, eax
je 0x42f7b7
mov dword [edi], 0
add esi, 0x54
push esi
push str.MaxInterval
mov ecx, ebp
call fcn.00620a10
test eax, eax
je 0x42f7d1
mov dword [esi], 0
push str.weather
mov ecx, ebp
call fcn.00621420
mov esi, eax
test esi, esi
je 0x42f910
mov eax, dword [esp + 0x1c]
lea ecx, [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x18], eax
call fcn.0042f0d0
push str.date
mov ecx, esi
mov dword [esp + 0x18], eax
call fcn.00621420
mov edi, eax
test edi, edi
je 0x42f910
jmp 0x42f820
lea edx, [esp + 0x20]
push edx
push str.start
mov ecx, edi
call fcn.00620a10
test eax, eax
jne 0x42f8fa
lea eax, [esp + 0x24]
push eax
push 0x6d3624
mov ecx, edi
call fcn.00620a10
test eax, eax
jne 0x42f8fa
xor ebx, ebx
mov ecx, dword [ebx*4 + 0x727258]
push ecx
mov ecx, edi
call fcn.00621420
mov esi, eax
test esi, esi
je 0x42f8f0
lea edx, [esp + 0x3c]
push edx
push str.level
mov ecx, esi
call fcn.00620a10
test eax, eax
jne 0x42f8f0
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.006209e0
test eax, eax
je 0x42f8ca
cmp byte [eax], 0
je 0x42f8ca
push eax
lea eax, [esp + 0xdc]
push eax
jmp 0x42f8d7
push str.nomusic
lea ecx, [esp + 0xdc]
push ecx
call fcn.0062f64e
mov ecx, dword [esp + 0x1c]
add esp, 8
lea edx, [esp + 0xc8]
push edx
call fcn.0042bf70
inc ebx
cmp ebx, 3
jl 0x42f854
push str.date
mov ecx, edi
call fcn.00621460
mov edi, eax
test edi, edi
jne 0x42f820
push str.zone
mov ecx, ebp
call fcn.00621460
mov ebp, eax
test ebp, ebp
jne 0x42f6f0
mov ecx, dword [esp + 0x28]
push str.exits
call fcn.00621420
test eax, eax
je 0x42f9eb
push str.exit
mov ecx, eax
call fcn.00621420
mov edi, eax
test edi, edi
je 0x42f9eb
push 0x6d1ad0
mov ecx, edi
call fcn.006209e0
mov ebx, eax
lea eax, [esp + 0x20]
push eax
push 0x6d2b58
mov ecx, edi
call fcn.00620a10
test eax, eax
jne 0x42f9d5
lea ecx, [esp + 0x3c]
push ecx
push 0x6d3600
mov ecx, edi
call fcn.00620a10
test eax, eax
jne 0x42f9d5
lea edx, [esp + 0x2c]
push edx
push 0x6d35fc
mov ecx, edi
call fcn.00620a10
test eax, eax
jne 0x42f9d5
mov eax, dword [esp + 0x20]
lea ecx, [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x28], eax
call fcn.0042bdf0
push 0x40
mov esi, eax
push ebx
push esi
call fcn.0062fff0
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.00621460
mov edi, eax
test edi, edi
jne 0x42f952
mov ecx, dword [esp + 0x28]
push str.weather
call fcn.00621420
test eax, eax
je 0x42fbc8
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.00621420
mov edi, eax
cmp edi, ebp
je 0x42fb24
lea ecx, [ecx]
lea ecx, [esp + 0x24]
push ecx
push str.start
mov ecx, edi
call fcn.00620a10
test eax, eax
jne 0x42fb0e
lea edx, [esp + 0x20]
push edx
push 0x6d3624
mov ecx, edi
call fcn.00620a10
test eax, eax
jne 0x42fb0e
xor ebx, ebx
mov eax, dword [ebx*4 + 0x727258]
push eax
mov ecx, edi
call fcn.00621420
mov esi, eax
test esi, esi
je 0x42fb04
lea ecx, [esp + 0x18]
push ecx
push str.level
mov ecx, esi
call fcn.00620a10
test eax, eax
jne 0x42fb04
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.006209e0
test eax, eax
je 0x42fada
cmp byte [eax], 0
je 0x42fada
push eax
lea edx, [esp + 0xdc]
push edx
jmp 0x42fae7
push str.nomusic
lea eax, [esp + 0xdc]
push eax
call fcn.0062f64e
add esp, 8
lea ecx, [esp + 0xc8]
push ecx
lea ecx, [esp + 0x48]
call fcn.0042bf70
mov ebp, dword [esp + 0x4c]
inc ebx
cmp ebx, 3
jl 0x42fa64
push str.date
mov ecx, edi
call fcn.00621460
mov edi, eax
test edi, edi
jne 0x42fa30
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x304]
mov ecx, dword [eax]
cmp ecx, eax
mov dword [esp + 0x1c], ecx
je 0x42fb82
mov ebx, dword [esp + 0x30]
lea esp, [esp]
mov esi, dword [esp + 0x48]
cmp esi, ebp
je 0x42fb67
lea edi, [ecx + 0xc]
jmp 0x42fb50
push esi
push edi
mov ecx, ebx
call fcn.0042f0d0
mov ecx, eax
call fcn.0042bf70
add esi, 0x50
cmp esi, ebp
jne 0x42fb50
lea ecx, [esp + 0x1c]
call fcn.00426fe0
mov eax, dword [esp + 0x34]
mov eax, dword [eax + 0x304]
mov ecx, dword [esp + 0x1c]
cmp ecx, eax
jne 0x42fb40
mov ebx, dword [esp + 0x48]
cmp ebx, ebp
mov esi, ebx
je 0x42fbb3
mov edi, dword [esp + 0x30]
mov dword [esp + 0x18], 0xff
push esi
lea ecx, [esp + 0x1c]
push ecx
mov ecx, edi
call fcn.0042f0d0
mov ecx, eax
call fcn.0042bf70
add esi, 0x50
cmp esi, ebp
jne 0x42fb98
test ebx, ebx
mov byte [esp + 0x120], 0
je 0x42fbc8
push ebx
call fcn.00630114
add esp, 4
mov edx, dword [esp + 0x40]
push edx
call fcn.0057acc0
mov eax, dword [esp + 0xbc]
add esp, 4
cmp eax, 0x10
mov dword [esp + 0x120], 0xffffffff
mov dword [esp + 0x54], 0x6d1ca0
jb 0x42fc04
mov eax, dword [esp + 0xa4]
push eax
call fcn.00630114
add esp, 4
mov dword [esp + 0xb4], 0
lea ecx, [esp + 0x54]
mov dword [esp + 0xb8], 0xf
mov byte [esp + 0xa4], 0
call fcn.006206f0
mov ecx, dword [esp + 0x118]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x114
ret