Function at 0x43ea00
Capabilities:
Parse pe header

Disassembly:
push 0xffffffffffffffff
push 0x6e4401
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x2c
mov al, byte [0x821e99]
push ebx
push esi
mov esi, ecx
xor ebx, ebx
push edi
test al, 1
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], ebx
jne 0x43eaf8
mov dl, al
mov al, byte [esp + 0xe]
or dl, 1
push ebx
lea ecx, [esp + 0x1c]
mov byte [0x821e99], dl
mov byte [esp + 0x1c], al
call fcn.00407e50
mov edi, str.grass
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.grass
lea ecx, [esp + 0x20]
call fcn.00415530
lea ecx, [esp + 0x18]
mov dword [esp + 0x40], 1
push ecx
mov ecx, 0x81f018
call fcn.0040ca10
lea ecx, [esp + 0x18]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
lea ecx, [esp + 0x28]
mov dl, byte [esp + 0xe]
push ebx
mov byte [esp + 0x2c], dl
call fcn.00407e50
mov edi, str.snow
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.snow
lea ecx, [esp + 0x30]
call fcn.00415530
lea eax, [esp + 0x28]
mov ecx, 0x81f028
push eax
mov dword [esp + 0x44], 2
call fcn.0040ca10
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
push 0x4418e0
call fcn.006601e7
add esp, 4
mov al, byte [0x821e99]
test al, 2
jne 0x43eccb
mov cl, byte [esp + 0xe]
mov dl, al
or dl, 2
mov byte [esp + 0x28], cl
push ebx
lea ecx, [esp + 0x2c]
mov byte [0x821e99], dl
call fcn.00407e50
mov edi, str.dirt
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.dirt
lea ecx, [esp + 0x30]
call fcn.00415530
lea edx, [esp + 0x28]
mov ecx, 0x81f7a0
push edx
mov dword [esp + 0x44], 3
call fcn.0040ca10
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
lea ecx, [esp + 0x28]
mov al, byte [esp + 0xe]
push ebx
mov byte [esp + 0x2c], al
call fcn.00407e50
mov edi, str.lava
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.lava
lea ecx, [esp + 0x30]
call fcn.00415530
lea ecx, [esp + 0x28]
mov dword [esp + 0x40], 4
push ecx
mov ecx, 0x81f7b0
call fcn.0040ca10
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
lea ecx, [esp + 0x28]
mov dl, byte [esp + 0xe]
push ebx
mov byte [esp + 0x2c], dl
call fcn.00407e50
mov edi, str.rough
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.rough
lea ecx, [esp + 0x30]
call fcn.00415530
lea eax, [esp + 0x28]
mov ecx, 0x81f7c0
push eax
mov dword [esp + 0x44], 5
call fcn.0040ca10
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
mov cl, byte [esp + 0xe]
push ebx
mov byte [esp + 0x2c], cl
lea ecx, [esp + 0x2c]
call fcn.00407e50
mov edi, str.snow
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.snow
lea ecx, [esp + 0x30]
call fcn.00415530
lea edx, [esp + 0x28]
mov ecx, 0x81f7d0
push edx
mov dword [esp + 0x44], 6
call fcn.0040ca10
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
lea ecx, [esp + 0x28]
mov al, byte [esp + 0xe]
push ebx
mov byte [esp + 0x2c], al
call fcn.00407e50
mov edi, str.swamp
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.swamp
lea ecx, [esp + 0x30]
call fcn.00415530
lea ecx, [esp + 0x28]
mov dword [esp + 0x40], 7
push ecx
mov ecx, 0x81f7e0
call fcn.0040ca10
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
push 0x4418c0
call fcn.006601e7
add esp, 4
mov al, byte [0x821e99]
test al, 4
jne 0x43f3fe
mov dl, al
push ebx
or dl, 4
lea ecx, [esp + 0x2c]
mov byte [0x821e99], dl
mov dl, byte [esp + 0x12]
mov byte [esp + 0x2c], dl
call fcn.00407e50
mov edi, str.grass_1
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.grass_1
lea ecx, [esp + 0x30]
call fcn.00415530
lea eax, [esp + 0x28]
mov ecx, 0x81f038
push eax
mov dword [esp + 0x44], 8
call fcn.0040ca10
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
mov cl, byte [esp + 0xe]
push ebx
mov byte [esp + 0x2c], cl
lea ecx, [esp + 0x2c]
call fcn.00407e50
mov edi, str.grass_2
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.grass_2
lea ecx, [esp + 0x30]
call fcn.00415530
lea edx, [esp + 0x28]
mov ecx, 0x81f048
push edx
mov dword [esp + 0x44], 9
call fcn.0040ca10
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
lea ecx, [esp + 0x28]
mov al, byte [esp + 0xe]
push ebx
mov byte [esp + 0x2c], al
call fcn.00407e50
mov edi, str.grass_3
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.grass_3
lea ecx, [esp + 0x30]
call fcn.00415530
lea ecx, [esp + 0x28]
mov dword [esp + 0x40], 0xa
push ecx
mov ecx, 0x81f058
call fcn.0040ca10
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
mov dl, byte [esp + 0xe]
push ebx
mov byte [esp + 0x2c], dl
lea ecx, [esp + 0x2c]
call fcn.00407e50
mov edi, str.grass_4
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.grass_4
lea ecx, [esp + 0x30]
call fcn.00415530
lea eax, [esp + 0x28]
mov ecx, 0x81f068
push eax
mov dword [esp + 0x44], 0xb
call fcn.0040ca10
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
mov cl, byte [esp + 0xe]
push ebx
mov byte [esp + 0x2c], cl
lea ecx, [esp + 0x2c]
call fcn.00407e50
mov edi, str.grass_5
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.grass_5
lea ecx, [esp + 0x30]
call fcn.00415530
lea edx, [esp + 0x28]
mov ecx, 0x81f078
push edx
mov dword [esp + 0x44], 0xc
call fcn.0040ca10
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
lea ecx, [esp + 0x28]
mov al, byte [esp + 0xe]
push ebx
mov byte [esp + 0x2c], al
call fcn.00407e50
mov edi, str.grass_6
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.grass_6
lea ecx, [esp + 0x30]
call fcn.00415530
lea ecx, [esp + 0x28]
mov dword [esp + 0x40], 0xd
push ecx
mov ecx, 0x81f088
call fcn.0040ca10
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
lea ecx, [esp + 0x28]
mov dl, byte [esp + 0xe]
push ebx
mov byte [esp + 0x2c], dl
call fcn.00407e50
mov edi, str.grass_7
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.grass_7
lea ecx, [esp + 0x30]
call fcn.00415530
lea eax, [esp + 0x28]
mov ecx, 0x81f098
push eax
mov dword [esp + 0x44], 0xe
call fcn.0040ca10
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
mov cl, byte [esp + 0xe]
push ebx
mov byte [esp + 0x2c], cl
lea ecx, [esp + 0x2c]
call fcn.00407e50
mov edi, str.grass_8
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.grass_8
lea ecx, [esp + 0x30]
call fcn.00415530
lea edx, [esp + 0x28]
mov ecx, 0x81f0a8
push edx
mov dword [esp + 0x44], 0xf
call fcn.0040ca10
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
lea ecx, [esp + 0x28]
mov al, byte [esp + 0xe]
push ebx
mov byte [esp + 0x2c], al
call fcn.00407e50
mov edi, str.grass_9
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.grass_9
lea ecx, [esp + 0x30]
call fcn.00415530
lea ecx, [esp + 0x28]
mov dword [esp + 0x40], 0x10
push ecx
mov ecx, 0x81f0b8
call fcn.0040ca10
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
lea ecx, [esp + 0x28]
mov dl, byte [esp + 0xe]
push ebx
mov byte [esp + 0x2c], dl
call fcn.00407e50
mov edi, str.grass_10
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.grass_10
lea ecx, [esp + 0x30]
call fcn.00415530
lea eax, [esp + 0x28]
mov ecx, 0x81f0c8
push eax
mov dword [esp + 0x44], 0x11
call fcn.0040ca10
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
mov cl, byte [esp + 0xe]
push ebx
mov byte [esp + 0x2c], cl
lea ecx, [esp + 0x2c]
call fcn.00407e50
mov edi, str.grass_11
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.grass_11
lea ecx, [esp + 0x30]
call fcn.00415530
lea edx, [esp + 0x28]
mov ecx, 0x81f0d8
push edx
mov dword [esp + 0x44], 0x12
call fcn.0040ca10
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
lea ecx, [esp + 0x28]
mov al, byte [esp + 0xe]
push ebx
mov byte [esp + 0x2c], al
call fcn.00407e50
mov edi, str.snow_1
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.snow_1
lea ecx, [esp + 0x30]
call fcn.00415530
lea ecx, [esp + 0x28]
mov dword [esp + 0x40], 0x13
push ecx
mov ecx, 0x81f0e8
call fcn.0040ca10
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
lea ecx, [esp + 0x28]
mov dl, byte [esp + 0xe]
push ebx
mov byte [esp + 0x2c], dl
call fcn.00407e50
mov edi, str.snow_2
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.snow_2
lea ecx, [esp + 0x30]
call fcn.00415530
lea eax, [esp + 0x28]
mov ecx, 0x81f0f8
push eax
mov dword [esp + 0x44], 0x14
call fcn.0040ca10
push 1
lea ecx, [esp + 0x2c]
mov byte [esp + 0x44], bl
call fcn.00407e50
mov cl, byte [esp + 0xe]
push ebx
mov byte [esp + 0x2c], cl
lea ecx, [esp + 0x2c]
call fcn.00407e50
mov edi, str.snow_3
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.snow_3
lea ecx, [esp + 0x30]
call fcn.00415530
lea edx, [esp + 0x28]
mov ecx, 0x81f108
push edx
mov dword [esp + 0x44], 0x15
call fcn.0040ca10
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
lea ecx, [esp + 0x28]
mov al, byte [esp + 0xe]
push ebx
mov byte [esp + 0x2c], al
call fcn.00407e50
mov edi, str.snow_4
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.snow_4
lea ecx, [esp + 0x30]
call fcn.00415530
lea ecx, [esp + 0x28]
mov dword [esp + 0x40], 0x16
push ecx
mov ecx, 0x81f118
call fcn.0040ca10
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
lea ecx, [esp + 0x28]
mov dl, byte [esp + 0xe]
push ebx
mov byte [esp + 0x2c], dl
call fcn.00407e50
mov edi, str.snow_5
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.snow_5
lea ecx, [esp + 0x30]
call fcn.00415530
lea eax, [esp + 0x28]
mov ecx, 0x81f128
push eax
mov dword [esp + 0x44], 0x17
call fcn.0040ca10
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
mov cl, byte [esp + 0xe]
mov byte [esp + 0x28], cl
push ebx
lea ecx, [esp + 0x2c]
call fcn.00407e50
mov edi, str.snow_6
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.snow_6
lea ecx, [esp + 0x30]
call fcn.00415530
lea edx, [esp + 0x28]
mov ecx, 0x81f138
push edx
mov dword [esp + 0x44], 0x18
call fcn.0040ca10
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
lea ecx, [esp + 0x28]
mov al, byte [esp + 0xe]
push ebx
mov byte [esp + 0x2c], al
call fcn.00407e50
mov edi, str.snow_7
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.snow_7
lea ecx, [esp + 0x30]
call fcn.00415530
lea ecx, [esp + 0x28]
mov dword [esp + 0x40], 0x19
push ecx
mov ecx, 0x81f148
call fcn.0040ca10
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
lea ecx, [esp + 0x28]
mov dl, byte [esp + 0xe]
push ebx
mov byte [esp + 0x2c], dl
call fcn.00407e50
mov edi, str.snow_8
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.snow_8
lea ecx, [esp + 0x30]
call fcn.00415530
lea eax, [esp + 0x28]
mov ecx, 0x81f158
push eax
mov dword [esp + 0x44], 0x1a
call fcn.0040ca10
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
mov cl, byte [esp + 0xe]
push ebx
mov byte [esp + 0x2c], cl
lea ecx, [esp + 0x2c]
call fcn.00407e50
or ecx, 0xffffffff
mov edi, str.snow_9
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.snow_9
lea ecx, [esp + 0x30]
call fcn.00415530
lea edx, [esp + 0x28]
mov ecx, 0x81f168
push edx
mov dword [esp + 0x44], 0x1b
call fcn.0040ca10
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
lea ecx, [esp + 0x28]
mov al, byte [esp + 0xe]
push ebx
mov byte [esp + 0x2c], al
call fcn.00407e50
mov edi, str.snow_10
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.snow_10
lea ecx, [esp + 0x30]
call fcn.00415530
lea ecx, [esp + 0x28]
mov dword [esp + 0x40], 0x1c
push ecx
mov ecx, 0x81f178
call fcn.0040ca10
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
push 0x4418a0
call fcn.006601e7
add esp, 4
mov al, byte [0x821e99]
test al, 8
jne 0x43f4cf
mov dl, al
push ebx
or dl, 8
lea ecx, [esp + 0x2c]
mov byte [0x821e99], dl
mov dl, byte [esp + 0x12]
mov byte [esp + 0x2c], dl
call fcn.00407e50
mov edi, str.sand
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.sand
lea ecx, [esp + 0x30]
call fcn.00415530
lea eax, [esp + 0x28]
mov ecx, 0x81ea10
push eax
mov dword [esp + 0x44], 0x1d
call fcn.0040ca10
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
mov cl, byte [esp + 0xe]
push ebx
mov byte [esp + 0x2c], cl
lea ecx, [esp + 0x2c]
call fcn.00407e50
mov edi, str.snow
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.snow
lea ecx, [esp + 0x30]
call fcn.00415530
lea edx, [esp + 0x28]
mov ecx, 0x81ea20
push edx
mov dword [esp + 0x44], 0x1e
call fcn.0040ca10
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
push 0x441880
call fcn.006601e7
add esp, 4
mov al, byte [0x821e99]
test al, 0x10
jne 0x43f6a2
mov dl, al
mov al, byte [esp + 0xe]
or dl, 0x10
push ebx
lea ecx, [esp + 0x2c]
mov byte [0x821e99], dl
mov byte [esp + 0x2c], al
call fcn.00407e50
mov edi, str.blue
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.blue
lea ecx, [esp + 0x30]
call fcn.00415530
lea ecx, [esp + 0x28]
mov dword [esp + 0x40], 0x1f
push ecx
mov ecx, 0x81f6f8
call fcn.0040ca10
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
lea ecx, [esp + 0x28]
mov dl, byte [esp + 0xe]
push ebx
mov byte [esp + 0x2c], dl
call fcn.00407e50
mov edi, str.purple
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.purple
lea ecx, [esp + 0x30]
call fcn.00415530
lea eax, [esp + 0x28]
mov ecx, 0x81f708
push eax
mov dword [esp + 0x44], 0x20
call fcn.0040ca10
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
mov cl, byte [esp + 0xe]
push ebx
mov byte [esp + 0x2c], cl
lea ecx, [esp + 0x2c]
call fcn.00407e50
mov edi, 0x7dfae8
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x7dfae8
lea ecx, [esp + 0x30]
call fcn.00415530
lea edx, [esp + 0x28]
mov ecx, 0x81f718
push edx
mov dword [esp + 0x44], 0x21
call fcn.0040ca10
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
mov al, byte [esp + 0xe]
push ebx
mov byte [esp + 0x2c], al
lea ecx, [esp + 0x2c]
call fcn.00407e50
mov edi, str.white
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.white
lea ecx, [esp + 0x30]
call fcn.00415530
lea ecx, [esp + 0x28]
mov dword [esp + 0x40], 0x22
push ecx
mov ecx, 0x81f728
call fcn.0040ca10
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
lea ecx, [esp + 0x28]
mov dl, byte [esp + 0xe]
push ebx
mov byte [esp + 0x2c], dl
call fcn.00407e50
mov edi, str.yellow
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.yellow
lea ecx, [esp + 0x30]
call fcn.00415530
lea eax, [esp + 0x28]
mov ecx, 0x81f738
push eax
mov dword [esp + 0x44], 0x23
call fcn.0040ca10
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
push 0x441860
call fcn.006601e7
add esp, 4
mov al, byte [0x821e99]
test al, 0x20
jne 0x43f7c9
mov cl, byte [esp + 0xe]
mov dl, al
or dl, 0x20
mov byte [esp + 0x28], cl
push ebx
lea ecx, [esp + 0x2c]
mov byte [0x821e99], dl
call fcn.00407e50
mov edi, str.dead
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.dead
lea ecx, [esp + 0x30]
call fcn.00415530
lea edx, [esp + 0x28]
mov ecx, 0x822748
push edx
mov dword [esp + 0x44], 0x24
call fcn.0040ca10
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
lea ecx, [esp + 0x28]
mov al, byte [esp + 0xe]
push ebx
mov byte [esp + 0x2c], al
call fcn.00407e50
mov edi, str.green
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.green
lea ecx, [esp + 0x30]
call fcn.00415530
lea ecx, [esp + 0x28]
mov dword [esp + 0x40], 0x25
push ecx
mov ecx, 0x822758
call fcn.0040ca10
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
lea ecx, [esp + 0x28]
mov dl, byte [esp + 0xe]
push ebx
mov byte [esp + 0x2c], dl
call fcn.00407e50
mov edi, str.snow
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.snow
lea ecx, [esp + 0x30]
call fcn.00415530
lea eax, [esp + 0x28]
mov ecx, 0x822768
push eax
mov dword [esp + 0x44], 0x26
call fcn.0040ca10
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
push 0x441840
call fcn.006601e7
add esp, 4
mov al, byte [0x821e99]
test al, 0x40
jne 0x43faf4
mov cl, byte [esp + 0xe]
mov dl, al
or dl, 0x40
mov byte [esp + 0x28], cl
push ebx
lea ecx, [esp + 0x2c]
mov byte [0x821e99], dl
call fcn.00407e50
mov edi, str.dark_grass
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.dark_grass
lea ecx, [esp + 0x30]
call fcn.00415530
lea edx, [esp + 0x28]
mov ecx, 0x826b38
push edx
mov dword [esp + 0x44], 0x27
call fcn.0040ca10
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
lea ecx, [esp + 0x28]
mov al, byte [esp + 0xe]
push ebx
mov byte [esp + 0x2c], al
call fcn.00407e50
mov edi, str.desert
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.desert
lea ecx, [esp + 0x30]
call fcn.00415530
lea ecx, [esp + 0x28]
mov dword [esp + 0x40], 0x28
push ecx
mov ecx, 0x826b48
call fcn.0040ca10
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
lea ecx, [esp + 0x28]
mov dl, byte [esp + 0xe]
push ebx
mov byte [esp + 0x2c], dl
call fcn.00407e50
mov edi, str.dirt
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.dirt
lea ecx, [esp + 0x30]
call fcn.00415530
lea eax, [esp + 0x28]
mov ecx, 0x826b58
push eax
mov dword [esp + 0x44], 0x29
call fcn.0040ca10
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
mov cl, byte [esp + 0xe]
push ebx
mov byte [esp + 0x2c], cl
lea ecx, [esp + 0x2c]
call fcn.00407e50
mov edi, str.grass
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.grass
lea ecx, [esp + 0x30]
call fcn.00415530
lea edx, [esp + 0x28]
mov ecx, 0x826b68
push edx
mov dword [esp + 0x44], 0x2a
call fcn.0040ca10
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
lea ecx, [esp + 0x28]
mov al, byte [esp + 0xe]
push ebx
mov byte [esp + 0x2c], al
call fcn.00407e50
mov edi, str.lava
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.lava
lea ecx, [esp + 0x30]
call fcn.00415530
lea ecx, [esp + 0x28]
mov dword [esp + 0x40], 0x2b
push ecx
mov ecx, 0x826b78
call fcn.0040ca10
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
lea ecx, [esp + 0x28]
mov dl, byte [esp + 0xe]
push ebx
mov byte [esp + 0x2c], dl
call fcn.00407e50
mov edi, str.rough
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.rough
lea ecx, [esp + 0x30]
call fcn.00415530
lea eax, [esp + 0x28]
mov ecx, 0x826b88
push eax
mov dword [esp + 0x44], 0x2c
call fcn.0040ca10
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
mov cl, byte [esp + 0xe]
push ebx
mov byte [esp + 0x2c], cl
lea ecx, [esp + 0x2c]
call fcn.00407e50
mov edi, str.snow
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.snow
lea ecx, [esp + 0x30]
call fcn.00415530
lea edx, [esp + 0x28]
mov ecx, 0x826b98
push edx
mov dword [esp + 0x44], 0x2d
call fcn.0040ca10
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
lea ecx, [esp + 0x28]
mov al, byte [esp + 0xe]
push ebx
mov byte [esp + 0x2c], al
call fcn.00407e50
mov edi, str.subterranean
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.subterranean
lea ecx, [esp + 0x30]
call fcn.00415530
lea ecx, [esp + 0x28]
mov dword [esp + 0x40], 0x2e
push ecx
mov ecx, 0x826ba8
call fcn.0040ca10
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
lea ecx, [esp + 0x28]
mov dl, byte [esp + 0xe]
push ebx
mov byte [esp + 0x2c], dl
call fcn.00407e50
mov edi, str.water
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.water
lea ecx, [esp + 0x30]
call fcn.00415530
lea eax, [esp + 0x28]
mov ecx, 0x826bb8
push eax
mov dword [esp + 0x44], 0x2f
call fcn.0040ca10
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
push 0x441820
call fcn.006601e7
add esp, 4
mov al, byte [0x821e99]
test al, 0x80
jne 0x43fbc5
mov cl, byte [esp + 0xe]
mov dl, al
or dl, 0x80
mov byte [esp + 0x28], cl
push ebx
lea ecx, [esp + 0x2c]
mov byte [0x821e99], dl
call fcn.00407e50
mov edi, str.grass
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.grass
lea ecx, [esp + 0x30]
call fcn.00415530
lea edx, [esp + 0x28]
mov ecx, 0x825458
push edx
mov dword [esp + 0x44], 0x30
call fcn.0040ca10
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
lea ecx, [esp + 0x28]
mov al, byte [esp + 0xe]
push ebx
mov byte [esp + 0x2c], al
call fcn.00407e50
mov edi, str.snow
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.snow
lea ecx, [esp + 0x30]
call fcn.00415530
lea ecx, [esp + 0x28]
mov dword [esp + 0x40], 0x31
push ecx
mov ecx, 0x825468
call fcn.0040ca10
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
push 0x441800
call fcn.006601e7
add esp, 4
mov al, byte [0x825ae1]
test al, 1
jne 0x43ff9c
mov dl, al
push ebx
or dl, 1
lea ecx, [esp + 0x2c]
mov byte [0x825ae1], dl
mov dl, byte [esp + 0x12]
mov byte [esp + 0x2c], dl
call fcn.00407e50
mov edi, str.dark_snow
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.dark_snow
lea ecx, [esp + 0x30]
call fcn.00415530
lea eax, [esp + 0x28]
mov ecx, 0x81f648
push eax
mov dword [esp + 0x44], 0x32
call fcn.0040ca10
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
mov cl, byte [esp + 0xe]
push ebx
mov byte [esp + 0x2c], cl
lea ecx, [esp + 0x2c]
call fcn.00407e50
mov edi, str.dirt
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.dirt
lea ecx, [esp + 0x30]
call fcn.00415530
lea edx, [esp + 0x28]
mov ecx, 0x81f658
push edx
mov dword [esp + 0x44], 0x33
call fcn.0040ca10
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
lea ecx, [esp + 0x28]
mov al, byte [esp + 0xe]
push ebx
mov byte [esp + 0x2c], al
call fcn.00407e50
mov edi, str.grass
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.grass
lea ecx, [esp + 0x30]
call fcn.00415530
lea ecx, [esp + 0x28]
mov dword [esp + 0x40], 0x34
push ecx
mov ecx, 0x81f668
call fcn.0040ca10
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
mov dl, byte [esp + 0xe]
push ebx
mov byte [esp + 0x2c], dl
lea ecx, [esp + 0x2c]
call fcn.00407e50
mov edi, str.lava
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.lava
lea ecx, [esp + 0x30]
call fcn.00415530
lea eax, [esp + 0x28]
mov ecx, 0x81f678
push eax
mov dword [esp + 0x44], 0x35
call fcn.0040ca10
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
mov cl, byte [esp + 0xe]
push ebx
mov byte [esp + 0x2c], cl
lea ecx, [esp + 0x2c]
call fcn.00407e50
mov edi, str.rough
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.rough
lea ecx, [esp + 0x30]
call fcn.00415530
lea edx, [esp + 0x28]
mov ecx, 0x81f688
push edx
mov dword [esp + 0x44], 0x36
call fcn.0040ca10
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
lea ecx, [esp + 0x28]
mov al, byte [esp + 0xe]
push ebx
mov byte [esp + 0x2c], al
call fcn.00407e50
mov edi, str.sand
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.sand
lea ecx, [esp + 0x30]
call fcn.00415530
lea ecx, [esp + 0x28]
mov dword [esp + 0x40], 0x37
push ecx
mov ecx, 0x81f698
call fcn.0040ca10
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
lea ecx, [esp + 0x28]
mov dl, byte [esp + 0xe]
push ebx
mov byte [esp + 0x2c], dl
call fcn.00407e50
mov edi, str.snow
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.snow
lea ecx, [esp + 0x30]
call fcn.00415530
lea eax, [esp + 0x28]
mov ecx, 0x81f6a8
push eax
mov dword [esp + 0x44], 0x38
call fcn.0040ca10
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
mov cl, byte [esp + 0xe]
push ebx
mov byte [esp + 0x2c], cl
lea ecx, [esp + 0x2c]
call fcn.00407e50
mov edi, str.stalagmite
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.stalagmite
lea ecx, [esp + 0x30]
call fcn.00415530
lea edx, [esp + 0x28]
mov ecx, 0x81f6b8
push edx
mov dword [esp + 0x44], 0x39
call fcn.0040ca10
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
lea ecx, [esp + 0x28]
mov al, byte [esp + 0xe]
push ebx
mov byte [esp + 0x2c], al
call fcn.00407e50
mov edi, str.subterranean
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.subterranean
lea ecx, [esp + 0x30]
call fcn.00415530
lea ecx, [esp + 0x28]
mov dword [esp + 0x40], 0x3a
push ecx
mov ecx, 0x81f6c8
call fcn.0040ca10
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
lea ecx, [esp + 0x28]
mov dl, byte [esp + 0xe]
push ebx
mov byte [esp + 0x2c], dl
call fcn.00407e50
mov edi, str.swamp
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.swamp
lea ecx, [esp + 0x30]
call fcn.00415530
lea eax, [esp + 0x28]
mov ecx, 0x81f6d8
push eax
mov dword [esp + 0x44], 0x3b
call fcn.0040ca10
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
mov cl, byte [esp + 0xe]
push ebx
mov byte [esp + 0x2c], cl
lea ecx, [esp + 0x2c]
call fcn.00407e50
mov edi, str.water
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.water
lea ecx, [esp + 0x30]
call fcn.00415530
lea edx, [esp + 0x28]
mov ecx, 0x81f6e8
push edx
mov dword [esp + 0x44], 0x3c
call fcn.0040ca10
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
push 0x4417e0
call fcn.006601e7
add esp, 4
mov al, byte [0x825ae1]
test al, 2
jne 0x4400c3
mov dl, al
mov al, byte [esp + 0xe]
or dl, 2
push ebx
lea ecx, [esp + 0x2c]
mov byte [0x825ae1], dl
mov byte [esp + 0x2c], al
call fcn.00407e50
mov edi, str.grass
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.grass
lea ecx, [esp + 0x30]
call fcn.00415530
lea ecx, [esp + 0x28]
mov dword [esp + 0x40], 0x3d
push ecx
mov ecx, 0x822000
call fcn.0040ca10
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
lea ecx, [esp + 0x28]
mov dl, byte [esp + 0xe]
push ebx
mov byte [esp + 0x2c], dl
call fcn.00407e50
mov edi, str.rough
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.rough
lea ecx, [esp + 0x30]
call fcn.00415530
lea eax, [esp + 0x28]
mov ecx, 0x822010
push eax
mov dword [esp + 0x44], 0x3e
call fcn.0040ca10
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
mov cl, byte [esp + 0xe]
push ebx
mov byte [esp + 0x2c], cl
lea ecx, [esp + 0x2c]
call fcn.00407e50
mov edi, str.snow
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.snow
lea ecx, [esp + 0x30]
call fcn.00415530
lea edx, [esp + 0x28]
mov ecx, 0x822020
push edx
mov dword [esp + 0x44], 0x3f
call fcn.0040ca10
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
push 0x4417c0
call fcn.006601e7
add esp, 4
mov al, byte [0x825ae1]
test al, 4
jne 0x440194
mov dl, al
mov al, byte [esp + 0xe]
or dl, 4
push ebx
lea ecx, [esp + 0x2c]
mov byte [0x825ae1], dl
mov byte [esp + 0x2c], al
call fcn.00407e50
mov edi, str.grass
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.grass
lea ecx, [esp + 0x30]
call fcn.00415530
lea ecx, [esp + 0x28]
mov dword [esp + 0x40], 0x40
push ecx
mov ecx, 0x820b50
call fcn.0040ca10
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
lea ecx, [esp + 0x28]
mov dl, byte [esp + 0xe]
push ebx
mov byte [esp + 0x2c], dl
call fcn.00407e50
mov edi, str.snow
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.snow
lea ecx, [esp + 0x30]
call fcn.00415530
lea eax, [esp + 0x28]
mov ecx, 0x820b60
push eax
mov dword [esp + 0x44], 0x41
call fcn.0040ca10
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
push 0x4417a0
call fcn.006601e7
add esp, 4
mov al, byte [0x825ae1]
test al, 8
jne 0x44056b
mov cl, byte [esp + 0xe]
mov dl, al
or dl, 8
mov byte [esp + 0x28], cl
push ebx
lea ecx, [esp + 0x2c]
mov byte [0x825ae1], dl
call fcn.00407e50
mov edi, str.autumn
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.autumn
lea ecx, [esp + 0x30]
call fcn.00415530
lea edx, [esp + 0x28]
mov ecx, 0x825ae8
push edx
mov dword [esp + 0x44], 0x42
call fcn.0040ca10
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
lea ecx, [esp + 0x28]
mov al, byte [esp + 0xe]
push ebx
mov byte [esp + 0x2c], al
call fcn.00407e50
mov edi, str.deciduous
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.deciduous
lea ecx, [esp + 0x30]
call fcn.00415530
lea ecx, [esp + 0x28]
mov dword [esp + 0x40], 0x43
push ecx
mov ecx, 0x825af8
call fcn.0040ca10
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
lea ecx, [esp + 0x28]
mov dl, byte [esp + 0xe]
push ebx
mov byte [esp + 0x2c], dl
call fcn.00407e50
mov edi, str.dead
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.dead
lea ecx, [esp + 0x30]
call fcn.00415530
lea eax, [esp + 0x28]
mov ecx, 0x825b08
push eax
mov dword [esp + 0x44], 0x44
call fcn.0040ca10
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
mov cl, byte [esp + 0xe]
push ebx
mov byte [esp + 0x2c], cl
lea ecx, [esp + 0x2c]
call fcn.00407e50
mov edi, str.desert
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.desert
lea ecx, [esp + 0x30]
call fcn.00415530
lea edx, [esp + 0x28]
mov ecx, 0x825b18
push edx
mov dword [esp + 0x44], 0x45
call fcn.0040ca10
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
lea ecx, [esp + 0x28]
mov al, byte [esp + 0xe]
push ebx
mov byte [esp + 0x2c], al
call fcn.00407e50
mov edi, str.evil
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.evil
lea ecx, [esp + 0x30]
call fcn.00415530
lea ecx, [esp + 0x28]
mov dword [esp + 0x40], 0x46
push ecx
mov ecx, 0x825b28
call fcn.0040ca10
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
lea ecx, [esp + 0x28]
mov dl, byte [esp + 0xe]
push ebx
mov byte [esp + 0x2c], dl
call fcn.00407e50
mov edi, str.palm
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.palm
lea ecx, [esp + 0x30]
call fcn.00415530
lea eax, [esp + 0x28]
mov ecx, 0x825b38
push eax
mov dword [esp + 0x44], 0x47
call fcn.0040ca10
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
mov cl, byte [esp + 0xe]
push ebx
mov byte [esp + 0x2c], cl
lea ecx, [esp + 0x2c]
call fcn.00407e50
mov edi, str.pine
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.pine
lea ecx, [esp + 0x30]
call fcn.00415530
lea edx, [esp + 0x28]
mov ecx, 0x825b48
push edx
mov dword [esp + 0x44], 0x48
call fcn.0040ca10
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
lea ecx, [esp + 0x28]
mov al, byte [esp + 0xe]
push ebx
mov byte [esp + 0x2c], al
call fcn.00407e50
mov edi, str.rough
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.rough
lea ecx, [esp + 0x30]
call fcn.00415530
lea ecx, [esp + 0x28]
mov dword [esp + 0x40], 0x49
push ecx
mov ecx, 0x825b58
call fcn.0040ca10
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
lea ecx, [esp + 0x28]
mov dl, byte [esp + 0xe]
push ebx
mov byte [esp + 0x2c], dl
call fcn.00407e50
mov edi, str.snow
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.snow
lea ecx, [esp + 0x30]
call fcn.00415530
lea eax, [esp + 0x28]
mov ecx, 0x825b68
push eax
mov dword [esp + 0x44], 0x4a
call fcn.0040ca10
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
mov cl, byte [esp + 0xe]
push ebx
mov byte [esp + 0x2c], cl
lea ecx, [esp + 0x2c]
call fcn.00407e50
mov edi, str.swamp
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.swamp
lea ecx, [esp + 0x30]
call fcn.00415530
lea edx, [esp + 0x28]
mov ecx, 0x825b78
push edx
mov dword [esp + 0x44], 0x4b
call fcn.0040ca10
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
lea ecx, [esp + 0x28]
mov al, byte [esp + 0xe]
push ebx
mov byte [esp + 0x2c], al
call fcn.00407e50
mov edi, str.subterranean
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.subterranean
lea ecx, [esp + 0x30]
call fcn.00415530
lea ecx, [esp + 0x28]
mov dword [esp + 0x40], 0x4c
push ecx
mov ecx, 0x825b88
call fcn.0040ca10
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
push 0x441780
call fcn.006601e7
add esp, 4
mov al, byte [0x825ae1]
test al, 0x10
jne 0x44063c
mov dl, al
push ebx
or dl, 0x10
lea ecx, [esp + 0x2c]
mov byte [0x825ae1], dl
mov dl, byte [esp + 0x12]
mov byte [esp + 0x2c], dl
call fcn.00407e50
mov edi, str.grass
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.grass
lea ecx, [esp + 0x30]
call fcn.00415530
lea eax, [esp + 0x28]
mov ecx, 0x825be0
push eax
mov dword [esp + 0x44], 0x4d
call fcn.0040ca10
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
mov cl, byte [esp + 0xe]
push ebx
mov byte [esp + 0x2c], cl
lea ecx, [esp + 0x2c]
call fcn.00407e50
mov edi, str.snow
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.snow
lea ecx, [esp + 0x30]
call fcn.00415530
lea edx, [esp + 0x28]
mov ecx, 0x825bf0
push edx
mov dword [esp + 0x44], 0x4e
call fcn.0040ca10
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
push 0x441760
call fcn.006601e7
add esp, 4
mov al, byte [0x825ae1]
test al, 0x20
jne 0x44070d
mov dl, al
mov al, byte [esp + 0xe]
or dl, 0x20
push ebx
lea ecx, [esp + 0x2c]
mov byte [0x825ae1], dl
mov byte [esp + 0x2c], al
call fcn.00407e50
mov edi, str.cavern
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.cavern
lea ecx, [esp + 0x30]
call fcn.00415530
lea ecx, [esp + 0x28]
mov dword [esp + 0x40], 0x4f
push ecx
mov ecx, 0x821dd0
call fcn.0040ca10
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
lea ecx, [esp + 0x28]
mov dl, byte [esp + 0xe]
push ebx
mov byte [esp + 0x2c], dl
call fcn.00407e50
mov edi, str.stone
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.stone
lea ecx, [esp + 0x30]
call fcn.00415530
lea eax, [esp + 0x28]
mov ecx, 0x821de0
push eax
mov dword [esp + 0x44], 0x50
call fcn.0040ca10
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
push 0x441740
call fcn.006601e7
add esp, 4
mov al, byte [0x825ae1]
test al, 0x40
jne 0x4407de
mov cl, byte [esp + 0xe]
mov dl, al
or dl, 0x40
mov byte [esp + 0x28], cl
push ebx
lea ecx, [esp + 0x2c]
mov byte [0x825ae1], dl
call fcn.00407e50
mov edi, str.good
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.good
lea ecx, [esp + 0x30]
call fcn.00415530
lea edx, [esp + 0x28]
mov ecx, 0x821f20
push edx
mov dword [esp + 0x44], 0x51
call fcn.0040ca10
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
lea ecx, [esp + 0x28]
mov al, byte [esp + 0xe]
push ebx
mov byte [esp + 0x2c], al
call fcn.00407e50
mov edi, str.evil
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.evil
lea ecx, [esp + 0x30]
call fcn.00415530
lea ecx, [esp + 0x28]
mov dword [esp + 0x40], 0x52
push ecx
mov ecx, 0x821f30
call fcn.0040ca10
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
push 0x441720
call fcn.006601e7
add esp, 4
mov al, byte [0x825ae1]
test al, 0x80
jne 0x4416a3
mov dl, al
push ebx
or dl, 0x80
lea ecx, [esp + 0x2c]
mov byte [0x825ae1], dl
mov dl, byte [esp + 0x12]
mov byte [esp + 0x2c], dl
call fcn.00407e50
mov edi, str.bird
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.bird
lea ecx, [esp + 0x30]
call fcn.00415530
lea eax, [esp + 0x28]
mov ecx, 0x822040
push eax
mov dword [esp + 0x44], 0x53
call fcn.0040ca10
lea ecx, [esp + 0xe]
lea edx, [esp + 0xf]
push ecx
push edx
mov ecx, 0x822054
mov byte [esp + 0x48], 0x54
mov dword [0x822050], ebx
call fcn.0044d290
lea ecx, [esp + 0x28]
mov dword [0x822064], ebx
push 1
mov byte [esp + 0x44], bl
call fcn.00407e50
lea ecx, [esp + 0x28]
mov al, byte [esp + 0xf]
push ebx
mov byte [esp + 0x2c], al
call fcn.00407e50
mov edi, str.bones
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.bones
lea ecx, [esp + 0x30]
call fcn.00415530
lea ecx, [esp + 0x28]
mov dword [esp + 0x40], 0x55
push ecx
mov ecx, 0x822068
call fcn.0040ca10
lea edx, [esp + 0xf]
lea eax, [esp + 0xe]
push edx
push eax
mov ecx, 0x82207c
mov byte [esp + 0x48], 0x56
mov dword [0x822078], ebx
call fcn.0044d290
lea ecx, [esp + 0x28]
mov dword [0x82208c], ebx
push 1
mov byte [esp + 0x44], bl
call fcn.00407e50
mov cl, byte [esp + 0xf]
push ebx
mov byte [esp + 0x2c], cl
lea ecx, [esp + 0x2c]
call fcn.00407e50
or ecx, 0xffffffff
mov edi, str.cactus
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.cactus
lea ecx, [esp + 0x30]
call fcn.00415530
lea edx, [esp + 0x28]
mov ecx, 0x822090
push edx
mov dword [esp + 0x44], 0x57
call fcn.0040ca10
lea eax, [esp + 0xf]
lea ecx, [esp + 0xe]
push eax
push ecx
mov ecx, 0x8220a4
mov byte [esp + 0x48], 0x58
mov dword [0x8220a0], ebx
call fcn.0044d290
lea ecx, [esp + 0x28]
mov dword [0x8220b4], ebx
push 1
mov byte [esp + 0x44], bl
call fcn.00407e50
lea ecx, [esp + 0x28]
mov dl, byte [esp + 0xf]
push ebx
mov byte [esp + 0x2c], dl
call fcn.00407e50
mov edi, str.cattail
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.cattail
lea ecx, [esp + 0x30]
call fcn.00415530
lea eax, [esp + 0x28]
mov ecx, 0x8220b8
push eax
mov dword [esp + 0x44], 0x59
call fcn.0040ca10
lea ecx, [esp + 0xf]
lea edx, [esp + 0xe]
push ecx
push edx
mov ecx, 0x8220cc
mov byte [esp + 0x48], 0x5a
mov dword [0x8220c8], 2
call fcn.0044d290
mov eax, dword [0x8220c8]
xor esi, esi
cmp eax, ebx
mov byte [esp + 0x40], 0x5b
mov dword [0x8220dc], 0x81f018
jle 0x440a0f
xor edi, edi
mov eax, dword [0x8220dc]
lea ecx, [edi + eax]
push ecx
mov ecx, 0x8220cc
call fcn.0044d340
mov dword [eax], esi
mov eax, dword [0x8220c8]
inc esi
add edi, 0x10
cmp esi, eax
jl 0x4409ed
push 1
lea ecx, [esp + 0x2c]
mov byte [esp + 0x44], bl
call fcn.00407e50
lea ecx, [esp + 0x28]
mov dl, byte [esp + 0xf]
push ebx
mov byte [esp + 0x2c], dl
call fcn.00407e50
mov edi, str.chicken
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.chicken
lea ecx, [esp + 0x30]
call fcn.00415530
lea eax, [esp + 0x28]
mov ecx, 0x8220e0
push eax
mov dword [esp + 0x44], 0x5c
call fcn.0040ca10
lea ecx, [esp + 0xf]
lea edx, [esp + 0xe]
push ecx
push edx
mov ecx, 0x8220f4
mov byte [esp + 0x48], 0x5d
mov dword [0x8220f0], ebx
call fcn.0044d290
lea ecx, [esp + 0x28]
mov dword [0x822104], ebx
push 1
mov byte [esp + 0x44], bl
call fcn.00407e50
lea ecx, [esp + 0x28]
mov al, byte [esp + 0xf]
push ebx
mov byte [esp + 0x2c], al
call fcn.00407e50
mov edi, str.cliff
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.cliff
lea ecx, [esp + 0x30]
call fcn.00415530
lea ecx, [esp + 0x28]
mov dword [esp + 0x40], 0x5e
push ecx
mov ecx, 0x822108
call fcn.0040ca10
lea edx, [esp + 0xf]
lea eax, [esp + 0xe]
push edx
push eax
mov ecx, 0x82211c
mov byte [esp + 0x48], 0x5f
mov dword [0x822118], 5
call fcn.0044d290
mov eax, dword [0x822118]
xor esi, esi
cmp eax, ebx
mov byte [esp + 0x40], 0x60
mov dword [0x82212c], 0x81f7a0
jle 0x440b42
xor edi, edi
mov ecx, dword [0x82212c]
lea edx, [edi + ecx]
mov ecx, 0x82211c
push edx
call fcn.0044d340
mov dword [eax], esi
mov eax, dword [0x822118]
inc esi
add edi, 0x10
cmp esi, eax
jl 0x440b1f
push 1
lea ecx, [esp + 0x2c]
mov byte [esp + 0x44], bl
call fcn.00407e50
lea ecx, [esp + 0x28]
mov al, byte [esp + 0xf]
push ebx
mov byte [esp + 0x2c], al
call fcn.00407e50
mov edi, str.crack
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.crack
lea ecx, [esp + 0x30]
call fcn.00415530
lea ecx, [esp + 0x28]
mov dword [esp + 0x40], 0x61
push ecx
mov ecx, 0x822130
call fcn.0040ca10
lea edx, [esp + 0xf]
lea eax, [esp + 0xe]
push edx
push eax
mov ecx, 0x822144
mov byte [esp + 0x48], 0x62
mov dword [0x822140], ebx
call fcn.0044d290
lea ecx, [esp + 0x28]
mov dword [0x822154], ebx
push 1
mov byte [esp + 0x44], bl
call fcn.00407e50
mov cl, byte [esp + 0xf]
push ebx
mov byte [esp + 0x2c], cl
lea ecx, [esp + 0x2c]
call fcn.00407e50
mov edi, str.crocodile
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.crocodile
lea ecx, [esp + 0x30]
call fcn.00415530
lea edx, [esp + 0x28]
mov ecx, 0x822158
push edx
mov dword [esp + 0x44], 0x63
call fcn.0040ca10
lea eax, [esp + 0xf]
lea ecx, [esp + 0xe]
push eax
push ecx
mov ecx, 0x82216c
mov byte [esp + 0x48], 0x64
mov dword [0x822168], ebx
call fcn.0044d290
lea ecx, [esp + 0x28]
mov dword [0x82217c], ebx
push 1
mov byte [esp + 0x44], bl
call fcn.00407e50
lea ecx, [esp + 0x28]
mov dl, byte [esp + 0xf]
push ebx
mov byte [esp + 0x2c], dl
call fcn.00407e50
mov edi, str.crops
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.crops
lea ecx, [esp + 0x30]
call fcn.00415530
lea eax, [esp + 0x28]
mov ecx, 0x822180
push eax
mov dword [esp + 0x44], 0x65
call fcn.0040ca10
lea ecx, [esp + 0xf]
lea edx, [esp + 0xe]
push ecx
push edx
mov ecx, 0x822194
mov byte [esp + 0x48], 0x66
mov dword [0x822190], 0x15
call fcn.0044d290
mov eax, dword [0x822190]
xor esi, esi
cmp eax, ebx
mov byte [esp + 0x40], 0x67
mov dword [0x8221a4], 0x81f038
jle 0x440cef
xor edi, edi
mov eax, dword [0x8221a4]
lea ecx, [edi + eax]
push ecx
mov ecx, 0x822194
call fcn.0044d340
mov dword [eax], esi
mov eax, dword [0x822190]
inc esi
add edi, 0x10
cmp esi, eax
jl 0x440ccd
push 1
lea ecx, [esp + 0x2c]
mov byte [esp + 0x44], bl
call fcn.00407e50
lea ecx, [esp + 0x28]
mov dl, byte [esp + 0xf]
push ebx
mov byte [esp + 0x2c], dl
call fcn.00407e50
mov edi, str.crow
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.crow
lea ecx, [esp + 0x30]
call fcn.00415530
lea eax, [esp + 0x28]
mov ecx, 0x8221a8
push eax
mov dword [esp + 0x44], 0x68
call fcn.0040ca10
lea ecx, [esp + 0xf]
lea edx, [esp + 0xe]
push ecx
push edx
mov ecx, 0x8221bc
mov byte [esp + 0x48], 0x69
mov dword [0x8221b8], ebx
call fcn.0044d290
lea ecx, [esp + 0x28]
mov dword [0x8221cc], ebx
push 1
mov byte [esp + 0x44], bl
call fcn.00407e50
lea ecx, [esp + 0x28]
mov al, byte [esp + 0xf]
push ebx
mov byte [esp + 0x2c], al
call fcn.00407e50
mov edi, str.deer
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.deer
lea ecx, [esp + 0x30]
call fcn.00415530
lea ecx, [esp + 0x28]
mov dword [esp + 0x40], 0x6a
push ecx
mov ecx, 0x8221d0
call fcn.0040ca10
lea edx, [esp + 0xf]
lea eax, [esp + 0xe]
push edx
push eax
mov ecx, 0x8221e4
mov byte [esp + 0x48], 0x6b
mov dword [0x8221e0], ebx
call fcn.0044d290
lea ecx, [esp + 0x28]
mov dword [0x8221f4], ebx
push 1
mov byte [esp + 0x44], bl
call fcn.00407e50
mov cl, byte [esp + 0xf]
push ebx
mov byte [esp + 0x2c], cl
lea ecx, [esp + 0x2c]
call fcn.00407e50
mov edi, str.duck
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.duck
lea ecx, [esp + 0x30]
call fcn.00415530
lea edx, [esp + 0x28]
mov ecx, 0x8221f8
push edx
mov dword [esp + 0x44], 0x6c
call fcn.0040ca10
lea eax, [esp + 0xf]
lea ecx, [esp + 0xe]
push eax
push ecx
mov ecx, 0x82220c
mov byte [esp + 0x48], 0x6d
mov dword [0x822208], ebx
call fcn.0044d290
lea ecx, [esp + 0x28]
mov dword [0x82221c], ebx
push 1
mov byte [esp + 0x44], bl
call fcn.00407e50
lea ecx, [esp + 0x28]
mov dl, byte [esp + 0xf]
push ebx
mov byte [esp + 0x2c], dl
call fcn.00407e50
mov edi, str.dune
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.dune
lea ecx, [esp + 0x30]
call fcn.00415530
lea eax, [esp + 0x28]
mov ecx, 0x822220
push eax
mov dword [esp + 0x44], 0x6e
call fcn.0040ca10
lea ecx, [esp + 0xf]
lea edx, [esp + 0xe]
push ecx
push edx
mov ecx, 0x822234
mov byte [esp + 0x48], 0x6f
mov dword [0x822230], 2
call fcn.0044d290
mov eax, dword [0x822230]
xor esi, esi
cmp eax, ebx
mov byte [esp + 0x40], 0x70
mov dword [0x822244], 0x81ea10
jle 0x440f16
xor edi, edi
mov eax, dword [0x822244]
mov ecx, 0x822234
add eax, edi
push eax
call fcn.0044d340
mov dword [eax], esi
mov eax, dword [0x822230]
inc esi
add edi, 0x10
cmp esi, eax
jl 0x440ef5
push 1
lea ecx, [esp + 0x2c]
mov byte [esp + 0x44], bl
call fcn.00407e50
lea ecx, [esp + 0xf]
push ecx
push str.fish
lea ecx, [esp + 0x30]
call fcn.0044d1d0
lea edx, [esp + 0x28]
mov ecx, 0x822248
push edx
mov dword [esp + 0x44], 0x71
call fcn.0043e450
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
lea eax, [esp + 0xf]
lea ecx, [esp + 0x28]
push eax
push str.frog
call fcn.0044d1d0
lea ecx, [esp + 0x28]
mov dword [esp + 0x40], 0x72
push ecx
mov ecx, 0x822270
call fcn.0043e450
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
lea edx, [esp + 0xf]
lea ecx, [esp + 0x28]
push edx
push str.flower
call fcn.0044d1d0
push 0x81f6f8
lea eax, [esp + 0x2c]
push 5
push eax
mov ecx, 0x822298
mov dword [esp + 0x4c], 0x73
call fcn.0044c2c0
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
lea ecx, [esp + 0xf]
push ecx
push str.garden
lea ecx, [esp + 0x30]
call fcn.0044d1d0
lea edx, [esp + 0x28]
mov ecx, 0x8222c0
push edx
mov dword [esp + 0x44], 0x74
call fcn.0043e450
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
lea eax, [esp + 0xf]
lea ecx, [esp + 0x28]
push eax
push str.geyser
call fcn.0044d1d0
lea ecx, [esp + 0x28]
mov dword [esp + 0x40], 0x75
push ecx
mov ecx, 0x8222e8
call fcn.0043e450
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
lea edx, [esp + 0xf]
lea ecx, [esp + 0x28]
push edx
push str.iceberg
call fcn.0044d1d0
lea eax, [esp + 0x28]
mov ecx, 0x822310
push eax
mov dword [esp + 0x44], 0x76
call fcn.0043e450
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
lea ecx, [esp + 0xf]
push ecx
push str.ice_flow
lea ecx, [esp + 0x30]
call fcn.0044d1d0
lea edx, [esp + 0x28]
mov ecx, 0x822338
push edx
mov dword [esp + 0x44], 0x77
call fcn.0043e450
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
lea eax, [esp + 0xf]
lea ecx, [esp + 0x28]
push eax
push str.kelp
call fcn.0044d1d0
lea ecx, [esp + 0x28]
mov dword [esp + 0x40], 0x78
push ecx
mov ecx, 0x822360
call fcn.0043e450
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
lea edx, [esp + 0xf]
lea ecx, [esp + 0x28]
push edx
push str.lake
call fcn.0044d1d0
lea eax, [esp + 0x28]
mov ecx, 0x822388
push eax
mov dword [esp + 0x44], 0x79
call fcn.0043e450
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
lea ecx, [esp + 0xf]
push ecx
push str.lava
lea ecx, [esp + 0x30]
call fcn.0044d1d0
lea edx, [esp + 0x28]
mov ecx, 0x8223b0
push edx
mov dword [esp + 0x44], 0x7a
call fcn.0043e450
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
lea eax, [esp + 0xf]
lea ecx, [esp + 0x28]
push eax
push str.lillypad
call fcn.0044d1d0
lea ecx, [esp + 0x28]
mov dword [esp + 0x40], 0x7b
push ecx
mov ecx, 0x8223d8
call fcn.0043e450
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
lea edx, [esp + 0xf]
lea ecx, [esp + 0x28]
push edx
push 0x7df978
call fcn.0044d1d0
push 0x822748
lea eax, [esp + 0x2c]
push 3
push eax
mov ecx, 0x822400
mov dword [esp + 0x4c], 0x7c
call fcn.0044c2c0
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
lea ecx, [esp + 0xf]
push ecx
push str.moss
lea ecx, [esp + 0x30]
call fcn.0044d1d0
lea edx, [esp + 0x28]
mov ecx, 0x822428
push edx
mov dword [esp + 0x44], 0x7d
call fcn.0043e450
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
lea eax, [esp + 0xf]
lea ecx, [esp + 0x28]
push eax
push str.mountain
call fcn.0044d1d0
push 0x826b38
lea ecx, [esp + 0x2c]
push 9
push ecx
mov ecx, 0x822450
mov dword [esp + 0x4c], 0x7e
call fcn.0044c2c0
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
lea edx, [esp + 0xf]
lea ecx, [esp + 0x28]
push edx
push 0x7df960
call fcn.0044d1d0
lea eax, [esp + 0x28]
mov ecx, 0x822478
push eax
mov dword [esp + 0x44], 0x7f
call fcn.0043e450
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
lea ecx, [esp + 0xf]
push ecx
push str.mushroom
lea ecx, [esp + 0x30]
call fcn.0044d1d0
mov dword [esp + 0x40], 0x80
lea edx, [esp + 0x28]
push edx
mov ecx, 0x8224a0
call fcn.0043e450
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
lea eax, [esp + 0xf]
lea ecx, [esp + 0x28]
push eax
push 0x7df950
call fcn.0044d1d0
lea ecx, [esp + 0x28]
mov dword [esp + 0x40], 0x81
push ecx
mov ecx, 0x8224c8
call fcn.0043e450
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
lea edx, [esp + 0xf]
lea ecx, [esp + 0x28]
push edx
push str.reed
call fcn.0044d1d0
push 0x825458
lea eax, [esp + 0x2c]
push 2
push eax
mov ecx, 0x8224f0
mov dword [esp + 0x4c], 0x82
call fcn.0044c2c0
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
lea ecx, [esp + 0xf]
push ecx
push str.rock
lea ecx, [esp + 0x30]
call fcn.0044d1d0
push 0x81f648
lea edx, [esp + 0x2c]
push 0xb
push edx
mov ecx, 0x822518
mov dword [esp + 0x4c], 0x83
call fcn.0044c2c0
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
lea eax, [esp + 0xf]
lea ecx, [esp + 0x28]
push eax
push str.rooster
call fcn.0044d1d0
lea ecx, [esp + 0x28]
mov dword [esp + 0x40], 0x84
push ecx
mov ecx, 0x822540
call fcn.0043e450
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
lea edx, [esp + 0xf]
lea ecx, [esp + 0x28]
push edx
push str.shark
call fcn.0044d1d0
lea eax, [esp + 0x28]
mov dword [esp + 0x40], 0x85
push eax
mov ecx, 0x822568
call fcn.0043e450
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
lea ecx, [esp + 0xf]
push ecx
push str.shrub
lea ecx, [esp + 0x30]
call fcn.0044d1d0
push 0x822000
lea edx, [esp + 0x2c]
push 3
push edx
mov ecx, 0x822590
mov dword [esp + 0x4c], 0x86
call fcn.0044c2c0
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
lea eax, [esp + 0xf]
lea ecx, [esp + 0x28]
push eax
push str.songbird
call fcn.0044d1d0
lea ecx, [esp + 0x28]
mov dword [esp + 0x40], 0x87
push ecx
mov ecx, 0x8225b8
call fcn.0043e450
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
lea edx, [esp + 0xf]
lea ecx, [esp + 0x28]
push edx
push str.stump
call fcn.0044d1d0
push 0x820b50
lea eax, [esp + 0x2c]
push 2
push eax
mov ecx, 0x8225e0
mov dword [esp + 0x4c], 0x88
call fcn.0044c2c0
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
lea ecx, [esp + 0xf]
push ecx
push str.tree
lea ecx, [esp + 0x30]
call fcn.0044d1d0
push 0x825ae8
lea edx, [esp + 0x2c]
push 0xb
push edx
mov ecx, 0x822608
mov dword [esp + 0x4c], 0x89
call fcn.0044c2c0
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
lea eax, [esp + 0xf]
lea ecx, [esp + 0x28]
push eax
push str.tuft
call fcn.0044d1d0
push 0x825be0
mov dword [esp + 0x44], 0x8a
push 2
lea ecx, [esp + 0x30]
push ecx
mov ecx, 0x822630
call fcn.0044c2c0
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
lea edx, [esp + 0xf]
lea ecx, [esp + 0x28]
push edx
push str.wall
call fcn.0044d1d0
push 0x821dd0
lea eax, [esp + 0x2c]
push 2
push eax
mov ecx, 0x822658
mov dword [esp + 0x4c], 0x8b
call fcn.0044c2c0
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
lea ecx, [esp + 0xf]
push ecx
push str.waterfall
lea ecx, [esp + 0x30]
call fcn.0044d1d0
lea edx, [esp + 0x28]
mov ecx, 0x822680
push edx
mov dword [esp + 0x44], 0x8c
call fcn.0043e450
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
lea eax, [esp + 0xf]
lea ecx, [esp + 0x28]
push eax
push str.burnt_building
call fcn.0044d1d0
lea ecx, [esp + 0x28]
mov dword [esp + 0x40], 0x8d
push ecx
mov ecx, 0x8226a8
call fcn.0043e450
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
lea edx, [esp + 0xf]
lea ecx, [esp + 0x28]
push edx
push str.column
call fcn.0044d1d0
push 0x821f20
lea eax, [esp + 0x2c]
push 2
push eax
mov ecx, 0x8226d0
mov dword [esp + 0x4c], 0x8e
call fcn.0044c2c0
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
lea ecx, [esp + 0xf]
push ecx
push str.vine
lea ecx, [esp + 0x30]
call fcn.0044d1d0
lea edx, [esp + 0x28]
mov dword [esp + 0x40], 0x8f
push edx
mov ecx, 0x8226f8
call fcn.0043e450
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
lea eax, [esp + 0xf]
lea ecx, [esp + 0x28]
push eax
push str.whale
call fcn.0044d1d0
lea ecx, [esp + 0x28]
mov dword [esp + 0x40], 0x90
push ecx
mov ecx, 0x822720
call fcn.0043e450
lea ecx, [esp + 0x28]
mov byte [esp + 0x40], bl
push 1
call fcn.00407e50
push 0x441700
call fcn.006601e7
mov esi, dword [esp + 0x14]
add esp, 4
lea edx, [esp + 0xf]
lea ecx, [esp + 0x28]
push edx
push str.decorative
call fcn.0044d1d0
push 0x822040
lea eax, [esp + 0x2c]
push 0x2d
push eax
push 0x16
mov ecx, esi
mov dword [esp + 0x50], 0x91
call fcn.0044c620
mov dword [esp + 0x14], 1
push 1
lea ecx, [esp + 0x2c]
mov byte [esp + 0x44], bl
call fcn.00407e50
mov eax, esi
mov ecx, dword [esp + 0x38]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0x38
ret