Function at 0x44a320
Capabilities:
Contain obfuscated stackstrings
Parse pe header

Disassembly:
push 0xffffffffffffffff
push 0x6e5c2b
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x18
push ebx
push ebp
push esi
push 0x43bae0
push 0x44c4a0
mov ebp, ecx
push 0x69
push 0x2c
push ebp
mov dword [esp + 0x24], ebp
call fcn.00660c33
mov al, byte [0x81ea08]
xor ebx, ebx
test al, 1
mov dword [esp + 0x2c], ebx
jne 0x44bf06
mov cl, al
push edi
or cl, 1
mov byte [0x81ea08], cl
mov ecx, 0x820b70
call fcn.0043d120
mov al, byte [esp + 0x12]
push ebx
lea ecx, [esp + 0x1c]
mov byte [esp + 0x1c], al
call fcn.00407e50
mov edi, str.abbey
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.abbey
lea ecx, [esp + 0x20]
call fcn.00415530
lea ecx, [esp + 0x18]
mov byte [esp + 0x30], 1
push ecx
mov ecx, 0x820b9c
call fcn.0040ca10
lea edx, [esp + 0x12]
lea eax, [esp + 0x13]
push edx
push eax
mov ecx, 0x820bb0
mov byte [esp + 0x38], 2
mov dword [0x820bac], ebx
call fcn.0044d290
push 1
lea ecx, [esp + 0x1c]
mov dword [0x820bc0], ebx
mov dword [0x820bc4], 1
mov byte [esp + 0x34], bl
call fcn.00407e50
mov cl, byte [esp + 0x13]
push ebx
mov byte [esp + 0x1c], cl
lea ecx, [esp + 0x1c]
call fcn.00407e50
mov edi, str.academy
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.academy
lea ecx, [esp + 0x20]
call fcn.00415530
lea edx, [esp + 0x18]
mov ecx, 0x820bc8
push edx
mov byte [esp + 0x34], 3
call fcn.0040ca10
lea eax, [esp + 0x13]
lea ecx, [esp + 0x12]
push eax
push ecx
mov ecx, 0x820bdc
mov byte [esp + 0x38], 4
mov dword [0x820bd8], ebx
call fcn.0044d290
push 1
lea ecx, [esp + 0x1c]
mov dword [0x820bec], ebx
mov dword [0x820bf0], 2
mov byte [esp + 0x34], bl
call fcn.00407e50
mov dl, byte [esp + 0x13]
push ebx
mov byte [esp + 0x1c], dl
lea ecx, [esp + 0x1c]
call fcn.00407e50
mov edi, str.arena
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.arena
lea ecx, [esp + 0x20]
call fcn.00415530
lea eax, [esp + 0x18]
mov ecx, 0x820bf4
push eax
mov byte [esp + 0x34], 5
call fcn.0040ca10
lea ecx, [esp + 0x13]
lea edx, [esp + 0x12]
push ecx
push edx
mov ecx, 0x820c08
mov byte [esp + 0x38], 6
mov dword [0x820c04], ebx
call fcn.0044d290
push 1
lea ecx, [esp + 0x1c]
mov dword [0x820c18], ebx
mov dword [0x820c1c], 3
mov byte [esp + 0x34], bl
call fcn.00407e50
mov ecx, 0x820c20
call fcn.00445850
mov ecx, 0x820c4c
call fcn.00445c20
mov al, byte [esp + 0x13]
push ebx
lea ecx, [esp + 0x1c]
mov byte [esp + 0x1c], al
call fcn.00407e50
mov edi, str.blacksmith
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.blacksmith
lea ecx, [esp + 0x20]
call fcn.00415530
lea ecx, [esp + 0x18]
mov byte [esp + 0x30], 7
push ecx
mov ecx, 0x820c78
call fcn.0040ca10
lea edx, [esp + 0x13]
lea eax, [esp + 0x12]
push edx
push eax
mov ecx, 0x820c8c
mov byte [esp + 0x38], 8
mov dword [0x820c88], ebx
call fcn.0044d290
push 1
lea ecx, [esp + 0x1c]
mov dword [0x820c9c], ebx
mov dword [0x820ca0], 6
mov byte [esp + 0x34], bl
call fcn.00407e50
mov cl, byte [esp + 0x13]
push ebx
mov byte [esp + 0x1c], cl
lea ecx, [esp + 0x1c]
call fcn.00407e50
or ecx, 0xffffffff
mov edi, str.blattner_stone
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.blattner_stone
lea ecx, [esp + 0x20]
call fcn.00415530
lea edx, [esp + 0x18]
mov ecx, 0x820ca4
push edx
mov byte [esp + 0x34], 9
call fcn.0040ca10
lea eax, [esp + 0x13]
lea ecx, [esp + 0x12]
push eax
push ecx
mov ecx, 0x820cb8
mov byte [esp + 0x38], 0xa
mov dword [0x820cb4], ebx
call fcn.0044d290
push 1
lea ecx, [esp + 0x1c]
mov dword [0x820cc8], ebx
mov dword [0x820ccc], 7
mov byte [esp + 0x34], bl
call fcn.00407e50
mov dl, byte [esp + 0x13]
push ebx
lea ecx, [esp + 0x1c]
mov byte [esp + 0x1c], dl
call fcn.00407e50
mov edi, str.border_gate
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.border_gate
lea ecx, [esp + 0x20]
call fcn.00415530
lea eax, [esp + 0x18]
mov edx, 8
push eax
mov ecx, 0x820cd0
mov byte [esp + 0x34], 0xb
call fcn.004445a0
push 1
lea ecx, [esp + 0x1c]
mov byte [esp + 0x34], bl
call fcn.00407e50
mov cl, byte [esp + 0x13]
push ebx
mov byte [esp + 0x1c], cl
lea ecx, [esp + 0x1c]
call fcn.00407e50
mov edi, str.border_guard
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.border_guard
lea ecx, [esp + 0x20]
call fcn.00415530
lea edx, [esp + 0x18]
mov ecx, 0x820cfc
push edx
mov edx, 9
mov byte [esp + 0x34], 0xc
call fcn.004445a0
push 1
lea ecx, [esp + 0x1c]
mov byte [esp + 0x34], bl
call fcn.00407e50
mov ecx, 0x820d28
call fcn.0043bf80
mov al, byte [esp + 0x13]
push ebx
lea ecx, [esp + 0x1c]
mov byte [esp + 0x1c], al
call fcn.00407e50
mov edi, str.buoy
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.buoy
lea ecx, [esp + 0x20]
call fcn.00415530
lea ecx, [esp + 0x18]
mov byte [esp + 0x30], 0xd
push ecx
mov ecx, 0x820d54
call fcn.0040ca10
lea edx, [esp + 0x13]
lea eax, [esp + 0x12]
push edx
push eax
mov ecx, 0x820d68
mov byte [esp + 0x38], 0xe
mov dword [0x820d64], ebx
call fcn.0044d290
push 1
lea ecx, [esp + 0x1c]
mov dword [0x820d78], ebx
mov dword [0x820d7c], 0xb
mov byte [esp + 0x34], bl
call fcn.00407e50
mov cl, byte [esp + 0x13]
push ebx
mov byte [esp + 0x1c], cl
lea ecx, [esp + 0x1c]
call fcn.00407e50
mov edi, str.campfire
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.campfire
lea ecx, [esp + 0x20]
call fcn.00415530
lea edx, [esp + 0x18]
mov ecx, 0x820d80
push edx
mov byte [esp + 0x34], 0xf
call fcn.0040ca10
lea eax, [esp + 0x13]
lea ecx, [esp + 0x12]
push eax
push ecx
mov ecx, 0x820d94
mov byte [esp + 0x38], 0x10
mov dword [0x820d90], ebx
call fcn.0044d290
push 1
lea ecx, [esp + 0x1c]
mov dword [0x820da4], ebx
mov dword [0x820da8], 0xc
mov byte [esp + 0x34], bl
call fcn.00407e50
mov dl, byte [esp + 0x13]
push ebx
lea ecx, [esp + 0x1c]
mov byte [esp + 0x1c], dl
call fcn.00407e50
or ecx, 0xffffffff
mov edi, str.carryover_hero
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.carryover_hero
lea ecx, [esp + 0x20]
call fcn.00415530
lea eax, [esp + 0x18]
mov ecx, 0x820dac
push eax
mov byte [esp + 0x34], 0x11
call fcn.0040ca10
lea ecx, [esp + 0x13]
lea edx, [esp + 0x12]
push ecx
push edx
mov ecx, 0x820dc0
mov byte [esp + 0x38], 0x12
mov dword [0x820dbc], ebx
call fcn.0044d290
push 1
lea ecx, [esp + 0x1c]
mov dword [0x820dd0], ebx
mov dword [0x820dd4], 0xd
mov byte [esp + 0x34], bl
call fcn.00407e50
mov al, byte [esp + 0x13]
push ebx
lea ecx, [esp + 0x1c]
mov byte [esp + 0x1c], al
call fcn.00407e50
mov edi, str.cartographer
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.cartographer
lea ecx, [esp + 0x20]
call fcn.00415530
lea ecx, [esp + 0x18]
mov byte [esp + 0x30], 0x13
push ecx
mov ecx, 0x820dd8
call fcn.0040ca10
lea edx, [esp + 0x13]
lea eax, [esp + 0x12]
push edx
push eax
mov ecx, 0x820dec
mov byte [esp + 0x38], 0x14
mov dword [0x820de8], ebx
call fcn.0044d290
push 1
lea ecx, [esp + 0x1c]
mov dword [0x820dfc], ebx
mov dword [0x820e00], 0xe
mov byte [esp + 0x34], bl
call fcn.00407e50
mov ecx, 0x820e04
call fcn.004493a0
mov cl, byte [esp + 0x13]
push ebx
mov byte [esp + 0x1c], cl
lea ecx, [esp + 0x1c]
call fcn.00407e50
mov edi, str.clover_field
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.clover_field
lea ecx, [esp + 0x20]
call fcn.00415530
lea edx, [esp + 0x18]
mov ecx, 0x820e30
push edx
mov byte [esp + 0x34], 0x15
call fcn.0040ca10
lea eax, [esp + 0x13]
lea ecx, [esp + 0x12]
push eax
push ecx
mov ecx, 0x820e44
mov byte [esp + 0x38], 0x16
mov dword [0x820e40], ebx
call fcn.0044d290
push 1
lea ecx, [esp + 0x1c]
mov dword [0x820e54], ebx
mov dword [0x820e58], 0x10
mov byte [esp + 0x34], bl
call fcn.00407e50
mov ecx, 0x820e5c
call fcn.0043c920
mov ecx, 0x820e88
call fcn.0043c5c0
mov dl, byte [esp + 0x13]
push ebx
lea ecx, [esp + 0x1c]
mov byte [esp + 0x1c], dl
call fcn.00407e50
mov edi, str.corpse
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.corpse
lea ecx, [esp + 0x20]
call fcn.00415530
lea eax, [esp + 0x18]
mov ecx, 0x820eb4
push eax
mov byte [esp + 0x34], 0x17
call fcn.0040ca10
lea ecx, [esp + 0x13]
lea edx, [esp + 0x12]
push ecx
push edx
mov ecx, 0x820ec8
mov byte [esp + 0x38], 0x18
mov dword [0x820ec4], ebx
call fcn.0044d290
push 1
lea ecx, [esp + 0x1c]
mov dword [0x820ed8], ebx
mov dword [0x820edc], 0x13
mov byte [esp + 0x34], bl
call fcn.00407e50
mov ecx, 0x820ee0
call fcn.00443270
mov ecx, 0x820f0c
call fcn.004461f0
mov ecx, 0x820f38
call fcn.0043ea00
mov al, byte [esp + 0x13]
push ebx
lea ecx, [esp + 0x1c]
mov byte [esp + 0x1c], al
call fcn.00407e50
mov edi, str.deletion_marker
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.deletion_marker
lea ecx, [esp + 0x20]
call fcn.00415530
lea ecx, [esp + 0x18]
mov byte [esp + 0x30], 0x19
push ecx
mov ecx, 0x820f64
call fcn.0040ca10
lea edx, [esp + 0x13]
lea eax, [esp + 0x12]
push edx
push eax
mov ecx, 0x820f78
mov byte [esp + 0x38], 0x1a
mov dword [0x820f74], ebx
call fcn.0044d290
push 1
lea ecx, [esp + 0x1c]
mov dword [0x820f88], ebx
mov dword [0x820f8c], 0x17
mov byte [esp + 0x34], bl
call fcn.00407e50
mov cl, byte [esp + 0x13]
push ebx
mov byte [esp + 0x1c], cl
lea ecx, [esp + 0x1c]
call fcn.00407e50
mov edi, str.dolphin_school
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.dolphin_school
lea ecx, [esp + 0x20]
call fcn.00415530
lea edx, [esp + 0x18]
mov ecx, 0x820f90
push edx
mov byte [esp + 0x34], 0x1b
call fcn.0040ca10
lea eax, [esp + 0x13]
lea ecx, [esp + 0x12]
push eax
push ecx
mov ecx, 0x820fa4
mov byte [esp + 0x38], 0x1c
mov dword [0x820fa0], ebx
call fcn.0044d290
push 1
lea ecx, [esp + 0x1c]
mov dword [0x820fb4], ebx
mov dword [0x820fb8], 0x18
mov byte [esp + 0x34], bl
call fcn.00407e50
mov dl, byte [esp + 0x13]
push ebx
lea ecx, [esp + 0x1c]
mov byte [esp + 0x1c], dl
call fcn.00407e50
mov edi, str.event_trigger
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.event_trigger
lea ecx, [esp + 0x20]
call fcn.00415530
lea eax, [esp + 0x18]
mov ecx, 0x820fbc
push eax
mov byte [esp + 0x34], 0x1d
call fcn.0040ca10
mov byte [esp + 0x30], 0x1e
lea ecx, [esp + 0x13]
lea edx, [esp + 0x12]
push ecx
push edx
mov ecx, 0x820fd0
mov dword [0x820fcc], ebx
call fcn.0044d290
push 1
lea ecx, [esp + 0x1c]
mov dword [0x820fe0], ebx
mov dword [0x820fe4], 0x19
mov byte [esp + 0x34], bl
call fcn.00407e50
mov ecx, 0x820fe8
call fcn.0043db60
mov al, byte [esp + 0x13]
push ebx
lea ecx, [esp + 0x1c]
mov byte [esp + 0x1c], al
call fcn.00407e50
mov edi, str.eye_of_the_magi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.eye_of_the_magi
lea ecx, [esp + 0x20]
call fcn.00415530
lea ecx, [esp + 0x18]
mov edx, 0x1b
push ecx
mov ecx, 0x821014
mov byte [esp + 0x34], 0x1f
call fcn.004480e0
push 1
lea ecx, [esp + 0x1c]
mov byte [esp + 0x34], bl
call fcn.00407e50
mov dl, byte [esp + 0x13]
push ebx
lea ecx, [esp + 0x1c]
mov byte [esp + 0x1c], dl
call fcn.00407e50
mov edi, str.faerie_ring
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.faerie_ring
lea ecx, [esp + 0x20]
call fcn.00415530
lea eax, [esp + 0x18]
mov ecx, 0x821040
push eax
mov byte [esp + 0x34], 0x20
call fcn.0040ca10
lea ecx, [esp + 0x13]
lea edx, [esp + 0x12]
push ecx
push edx
mov ecx, 0x821054
mov byte [esp + 0x38], 0x21
mov dword [0x821050], ebx
call fcn.0044d290
push 1
lea ecx, [esp + 0x1c]
mov dword [0x821064], ebx
mov dword [0x821068], 0x1c
mov byte [esp + 0x34], bl
call fcn.00407e50
mov al, byte [esp + 0x13]
push ebx
mov byte [esp + 0x1c], al
lea ecx, [esp + 0x1c]
call fcn.00407e50
mov edi, str.ferry
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.ferry
lea ecx, [esp + 0x20]
call fcn.00415530
lea ecx, [esp + 0x18]
mov edx, 0x1d
push ecx
mov ecx, 0x82106c
mov byte [esp + 0x34], 0x22
call fcn.004454d0
push 1
lea ecx, [esp + 0x1c]
mov byte [esp + 0x34], bl
call fcn.00407e50
mov dl, byte [esp + 0x13]
push ebx
lea ecx, [esp + 0x1c]
mov byte [esp + 0x1c], dl
call fcn.00407e50
mov edi, str.flotsam
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.flotsam
lea ecx, [esp + 0x20]
call fcn.00415530
lea eax, [esp + 0x18]
mov ecx, 0x821098
push eax
mov byte [esp + 0x34], 0x23
call fcn.0040ca10
lea ecx, [esp + 0x13]
lea edx, [esp + 0x12]
push ecx
push edx
mov ecx, 0x8210ac
mov byte [esp + 0x38], 0x24
mov dword [0x8210a8], ebx
call fcn.0044d290
push 1
lea ecx, [esp + 0x1c]
mov dword [0x8210bc], ebx
mov dword [0x8210c0], 0x1e
mov byte [esp + 0x34], bl
call fcn.00407e50
mov ecx, 0x8210c4
call fcn.00442080
mov ecx, 0x8210f0
call fcn.00449810
mov al, byte [esp + 0x13]
push ebx
lea ecx, [esp + 0x1c]
mov byte [esp + 0x1c], al
call fcn.00407e50
mov edi, str.gateway
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.gateway
lea ecx, [esp + 0x20]
call fcn.00415530
lea ecx, [esp + 0x18]
mov byte [esp + 0x30], 0x25
push ecx
mov edx, 0x21
mov ecx, 0x82111c
call fcn.004454d0
push 1
lea ecx, [esp + 0x1c]
mov byte [esp + 0x34], bl
call fcn.00407e50
mov dl, byte [esp + 0x13]
push ebx
lea ecx, [esp + 0x1c]
mov byte [esp + 0x1c], dl
call fcn.00407e50
mov edi, str.hut_of_the_magi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.hut_of_the_magi
lea ecx, [esp + 0x20]
call fcn.00415530
lea eax, [esp + 0x18]
mov edx, 0x22
push eax
mov ecx, 0x821148
mov byte [esp + 0x34], 0x26
call fcn.004480e0
push 1
lea ecx, [esp + 0x1c]
mov byte [esp + 0x34], bl
call fcn.00407e50
mov cl, byte [esp + 0x13]
push ebx
mov byte [esp + 0x1c], cl
lea ecx, [esp + 0x1c]
call fcn.00407e50
mov edi, str.idol_of_fortune
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.idol_of_fortune
lea ecx, [esp + 0x20]
call fcn.00415530
lea edx, [esp + 0x18]
mov ecx, 0x821174
push edx
mov byte [esp + 0x34], 0x27
call fcn.0040ca10
lea eax, [esp + 0x13]
lea ecx, [esp + 0x12]
push eax
push ecx
mov ecx, 0x821188
mov byte [esp + 0x38], 0x28
mov dword [0x821184], ebx
call fcn.0044d290
push 1
lea ecx, [esp + 0x1c]
mov dword [0x821198], ebx
mov dword [0x82119c], 0x23
mov byte [esp + 0x34], bl
call fcn.00407e50
mov dl, byte [esp + 0x13]
push ebx
lea ecx, [esp + 0x1c]
mov byte [esp + 0x1c], dl
call fcn.00407e50
mov edi, str.kelp_beds
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.kelp_beds
lea ecx, [esp + 0x20]
call fcn.00415530
lea eax, [esp + 0x18]
mov ecx, 0x8211a0
push eax
mov byte [esp + 0x34], 0x29
call fcn.0040ca10
lea ecx, [esp + 0x13]
lea edx, [esp + 0x12]
push ecx
push edx
mov ecx, 0x8211b4
mov byte [esp + 0x38], 0x2a
mov dword [0x8211b0], ebx
call fcn.0044d290
push 1
lea ecx, [esp + 0x1c]
mov dword [0x8211c4], ebx
mov dword [0x8211c8], 0x24
mov byte [esp + 0x34], bl
call fcn.00407e50
mov ecx, 0x8211cc
call fcn.00444a50
mov al, byte [esp + 0x13]
push ebx
lea ecx, [esp + 0x1c]
mov byte [esp + 0x1c], al
call fcn.00407e50
mov edi, str.lighthouse
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.lighthouse
lea ecx, [esp + 0x20]
call fcn.00415530
lea ecx, [esp + 0x18]
mov byte [esp + 0x30], 0x2b
push ecx
mov ecx, 0x8211f8
call fcn.0040ca10
lea edx, [esp + 0x13]
lea eax, [esp + 0x12]
push edx
push eax
mov ecx, 0x82120c
mov byte [esp + 0x38], 0x2c
mov dword [0x821208], ebx
call fcn.0044d290
push 1
lea ecx, [esp + 0x1c]
mov dword [0x82121c], ebx
mov dword [0x821220], 0x26
mov byte [esp + 0x34], bl
call fcn.00407e50
mov ecx, 0x821224
call fcn.00441d60
mov ecx, 0x821250
call fcn.00442ec0
mov ecx, 0x82127c
call fcn.0043e080
mov cl, byte [esp + 0x13]
push ebx
mov byte [esp + 0x1c], cl
lea ecx, [esp + 0x1c]
call fcn.00407e50
mov edi, str.medicine_wagon
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.medicine_wagon
lea ecx, [esp + 0x20]
call fcn.00415530
lea edx, [esp + 0x18]
mov ecx, 0x8212a8
push edx
mov byte [esp + 0x34], 0x2d
call fcn.0040ca10
lea eax, [esp + 0x13]
lea ecx, [esp + 0x12]
push eax
push ecx
mov ecx, 0x8212bc
mov byte [esp + 0x38], 0x2e
mov dword [0x8212b8], ebx
call fcn.0044d290
push 1
lea ecx, [esp + 0x1c]
mov dword [0x8212cc], ebx
mov dword [0x8212d0], 0x2a
mov byte [esp + 0x34], bl
call fcn.00407e50
mov dl, byte [esp + 0x13]
push ebx
lea ecx, [esp + 0x1c]
mov byte [esp + 0x1c], dl
call fcn.00407e50
mov edi, str.mercenary_camp
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.mercenary_camp
lea ecx, [esp + 0x20]
call fcn.00415530
lea eax, [esp + 0x18]
mov ecx, 0x8212d4
push eax
mov byte [esp + 0x34], 0x2f
call fcn.0040ca10
lea ecx, [esp + 0x13]
lea edx, [esp + 0x12]
push ecx
push edx
mov ecx, 0x8212e8
mov byte [esp + 0x38], 0x30
mov dword [0x8212e4], ebx
call fcn.0044d290
push 1
lea ecx, [esp + 0x1c]
mov dword [0x8212f8], ebx
mov dword [0x8212fc], 0x2b
mov byte [esp + 0x34], bl
call fcn.00407e50
mov ecx, 0x821300
call fcn.0043cc00
mov ecx, 0x82132c
call fcn.00442850
mov al, byte [esp + 0x13]
push ebx
lea ecx, [esp + 0x1c]
mov byte [esp + 0x1c], al
call fcn.00407e50
mov edi, str.nothing
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.nothing
lea ecx, [esp + 0x20]
call fcn.00415530
mov byte [esp + 0x30], 0x31
lea ecx, [esp + 0x18]
push ecx
mov ecx, 0x821358
call fcn.0040ca10
lea edx, [esp + 0x13]
lea eax, [esp + 0x12]
push edx
push eax
mov ecx, 0x82136c
mov byte [esp + 0x38], 0x32
mov dword [0x821368], ebx
call fcn.0044d290
push 1
lea ecx, [esp + 0x1c]
mov dword [0x82137c], ebx
mov dword [0x821380], 0x2e
mov byte [esp + 0x34], bl
call fcn.00407e50
mov ecx, 0x821384
call fcn.00445310
mov ecx, 0x8213b0
call fcn.004453f0
mov cl, byte [esp + 0x13]
push ebx
mov byte [esp + 0x1c], cl
lea ecx, [esp + 0x1c]
call fcn.00407e50
mov edi, str.ocean_bottle
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.ocean_bottle
lea ecx, [esp + 0x20]
call fcn.00415530
lea edx, [esp + 0x18]
mov ecx, 0x8213dc
push edx
mov byte [esp + 0x34], 0x33
call fcn.0040ca10
lea eax, [esp + 0x13]
lea ecx, [esp + 0x12]
push eax
push ecx
mov ecx, 0x8213f0
mov byte [esp + 0x38], 0x34
mov dword [0x8213ec], ebx
call fcn.0044d290
push 1
lea ecx, [esp + 0x1c]
mov dword [0x821400], ebx
mov dword [0x821404], 0x31
mov byte [esp + 0x34], bl
call fcn.00407e50
mov dl, byte [esp + 0x13]
push ebx
lea ecx, [esp + 0x1c]
mov byte [esp + 0x1c], dl
call fcn.00407e50
mov edi, str.outpost
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.outpost
lea ecx, [esp + 0x20]
call fcn.00415530
lea eax, [esp + 0x18]
mov edx, 0x32
push eax
mov ecx, 0x821408
mov byte [esp + 0x34], 0x35
call fcn.00444310
mov byte [esp + 0x30], bl
push 1
lea ecx, [esp + 0x1c]
call fcn.00407e50
mov cl, byte [esp + 0x13]
push ebx
mov byte [esp + 0x1c], cl
lea ecx, [esp + 0x1c]
call fcn.00407e50
mov edi, str.oyster
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.oyster
lea ecx, [esp + 0x20]
call fcn.00415530
lea edx, [esp + 0x18]
mov ecx, 0x821434
push edx
mov byte [esp + 0x34], 0x36
call fcn.0040ca10
lea eax, [esp + 0x13]
lea ecx, [esp + 0x12]
push eax
push ecx
mov ecx, 0x821448
mov byte [esp + 0x38], 0x37
mov dword [0x821444], ebx
call fcn.0044d290
push 1
lea ecx, [esp + 0x1c]
mov dword [0x821458], ebx
mov dword [0x82145c], 0x33
mov byte [esp + 0x34], bl
call fcn.00407e50
mov dl, byte [esp + 0x13]
push ebx
lea ecx, [esp + 0x1c]
mov byte [esp + 0x1c], dl
call fcn.00407e50
mov edi, str.pandoras_box
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.pandoras_box
lea ecx, [esp + 0x20]
call fcn.00415530
lea eax, [esp + 0x18]
mov ecx, 0x821460
push eax
mov byte [esp + 0x34], 0x38
call fcn.0040ca10
lea ecx, [esp + 0x13]
lea edx, [esp + 0x12]
push ecx
push edx
mov ecx, 0x821474
mov byte [esp + 0x38], 0x39
mov dword [0x821470], ebx
call fcn.0044d290
push 1
lea ecx, [esp + 0x1c]
mov dword [0x821484], ebx
mov dword [0x821488], 0x34
mov byte [esp + 0x34], bl
call fcn.00407e50
mov al, byte [esp + 0x13]
push ebx
lea ecx, [esp + 0x1c]
mov byte [esp + 0x1c], al
call fcn.00407e50
mov edi, str.path_arrow
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.path_arrow
lea ecx, [esp + 0x20]
call fcn.00415530
lea ecx, [esp + 0x18]
mov byte [esp + 0x30], 0x3a
push ecx
mov ecx, 0x82148c
call fcn.0040ca10
lea edx, [esp + 0x13]
lea eax, [esp + 0x12]
push edx
push eax
mov ecx, 0x8214a0
mov byte [esp + 0x38], 0x3b
mov dword [0x82149c], ebx
call fcn.0044d290
push 1
lea ecx, [esp + 0x1c]
mov dword [0x8214b0], ebx
mov dword [0x8214b4], 0x35
mov byte [esp + 0x34], bl
call fcn.00407e50
mov ecx, 0x8214b8
call fcn.00442b70
mov cl, byte [esp + 0x13]
push ebx
mov byte [esp + 0x1c], cl
lea ecx, [esp + 0x1c]
call fcn.00407e50
mov edi, str.port
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.port
lea ecx, [esp + 0x20]
call fcn.00415530
lea edx, [esp + 0x18]
mov ecx, 0x8214e4
push edx
mov byte [esp + 0x34], 0x3c
call fcn.0040ca10
lea eax, [esp + 0x13]
lea ecx, [esp + 0x12]
push eax
push ecx
mov ecx, 0x8214f8
mov byte [esp + 0x38], 0x3d
mov dword [0x8214f4], ebx
call fcn.0044d290
push 1
lea ecx, [esp + 0x1c]
mov dword [0x821508], ebx
mov dword [0x82150c], 0x37
mov byte [esp + 0x34], bl
call fcn.00407e50
mov dl, byte [esp + 0x13]
push ebx
lea ecx, [esp + 0x1c]
mov byte [esp + 0x1c], dl
call fcn.00407e50
mov edi, str.prison
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.prison
lea ecx, [esp + 0x20]
call fcn.00415530
lea eax, [esp + 0x18]
mov ecx, 0x821510
push eax
mov byte [esp + 0x34], 0x3e
call fcn.0040ca10
lea ecx, [esp + 0x13]
lea edx, [esp + 0x12]
push ecx
push edx
mov ecx, 0x821524
mov byte [esp + 0x38], 0x3f
mov dword [0x821520], ebx
call fcn.0044d290
push 1
lea ecx, [esp + 0x1c]
mov dword [0x821534], ebx
mov dword [0x821538], 0x38
mov byte [esp + 0x34], bl
call fcn.00407e50
mov al, byte [esp + 0x13]
push ebx
lea ecx, [esp + 0x1c]
mov byte [esp + 0x1c], al
call fcn.00407e50
mov edi, str.quest_gate
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.quest_gate
lea ecx, [esp + 0x20]
call fcn.00415530
lea ecx, [esp + 0x18]
mov byte [esp + 0x30], 0x40
push ecx
mov ecx, 0x82153c
call fcn.0040ca10
lea edx, [esp + 0x13]
lea eax, [esp + 0x12]
push edx
push eax
mov ecx, 0x821550
mov byte [esp + 0x38], 0x41
mov dword [0x82154c], ebx
call fcn.0044d290
push 1
lea ecx, [esp + 0x1c]
mov dword [0x821560], ebx
mov dword [0x821564], 0x39
mov byte [esp + 0x34], bl
call fcn.00407e50
mov cl, byte [esp + 0x13]
push ebx
mov byte [esp + 0x1c], cl
lea ecx, [esp + 0x1c]
call fcn.00407e50
mov edi, str.quest_guard
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.quest_guard
lea ecx, [esp + 0x20]
call fcn.00415530
lea edx, [esp + 0x18]
mov ecx, 0x821568
push edx
mov byte [esp + 0x34], 0x42
call fcn.0040ca10
lea eax, [esp + 0x13]
lea ecx, [esp + 0x12]
push eax
push ecx
mov ecx, 0x82157c
mov byte [esp + 0x38], 0x43
mov dword [0x821578], ebx
call fcn.0044d290
push 1
lea ecx, [esp + 0x1c]
mov dword [0x82158c], ebx
mov dword [0x821590], 0x3a
mov byte [esp + 0x34], bl
call fcn.00407e50
mov ecx, 0x821594
call fcn.00445f00
mov ecx, 0x8215c0
call fcn.00447dc0
mov dl, byte [esp + 0x13]
push ebx
lea ecx, [esp + 0x1c]
mov byte [esp + 0x1c], dl
call fcn.00407e50
mov edi, str.random_conservatory
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.random_conservatory
lea ecx, [esp + 0x20]
call fcn.00415530
lea eax, [esp + 0x18]
mov ecx, 0x8215ec
push eax
mov byte [esp + 0x34], 0x44
call fcn.0040ca10
lea ecx, [esp + 0x13]
lea edx, [esp + 0x12]
push ecx
push edx
mov ecx, 0x821600
mov byte [esp + 0x38], 0x45
mov dword [0x8215fc], ebx
call fcn.0044d290
push 1
lea ecx, [esp + 0x1c]
mov dword [0x821610], ebx
mov dword [0x821614], 0x3e
mov byte [esp + 0x34], bl
call fcn.00407e50
mov al, byte [esp + 0x13]
push ebx
lea ecx, [esp + 0x1c]
mov byte [esp + 0x1c], al
call fcn.00407e50
mov edi, str.random_material_pile
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.random_material_pile
lea ecx, [esp + 0x20]
call fcn.00415530
lea ecx, [esp + 0x18]
mov byte [esp + 0x30], 0x46
push ecx
mov ecx, 0x821618
call fcn.0040ca10
lea edx, [esp + 0x13]
mov byte [esp + 0x30], 0x47
mov dword [0x821628], ebx
push edx
lea eax, [esp + 0x16]
push eax
mov ecx, 0x82162c
call fcn.0044d290
push 1
lea ecx, [esp + 0x1c]
mov dword [0x82163c], ebx
mov dword [0x821640], 0x3f
mov byte [esp + 0x34], bl
call fcn.00407e50
mov ecx, 0x821644
call fcn.00449af0
mov cl, byte [esp + 0x13]
push ebx
mov byte [esp + 0x1c], cl
lea ecx, [esp + 0x1c]
call fcn.00407e50
mov edi, str.random_potion
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.random_potion
lea ecx, [esp + 0x20]
call fcn.00415530
lea edx, [esp + 0x18]
mov ecx, 0x821670
push edx
mov byte [esp + 0x34], 0x48
call fcn.0040ca10
lea eax, [esp + 0x13]
lea ecx, [esp + 0x12]
push eax
push ecx
mov ecx, 0x821684
mov byte [esp + 0x38], 0x49
mov dword [0x821680], ebx
call fcn.0044d290
push 1
lea ecx, [esp + 0x1c]
mov dword [0x821694], ebx
mov dword [0x821698], 0x41
mov byte [esp + 0x34], bl
call fcn.00407e50
mov dl, byte [esp + 0x13]
push ebx
lea ecx, [esp + 0x1c]
mov byte [esp + 0x1c], dl
call fcn.00407e50
mov edi, str.random_random_monster
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.random_random_monster
lea ecx, [esp + 0x20]
call fcn.00415530
lea eax, [esp + 0x18]
mov ecx, 0x82169c
push eax
mov byte [esp + 0x34], 0x4a
call fcn.0040ca10
lea ecx, [esp + 0x13]
lea edx, [esp + 0x12]
push ecx
push edx
mov ecx, 0x8216b0
mov byte [esp + 0x38], 0x4b
mov dword [0x8216ac], ebx
call fcn.0044d290
mov dword [0x8216c0], ebx
mov dword [0x8216c4], 0x42
mov byte [esp + 0x30], bl
push 1
lea ecx, [esp + 0x1c]
call fcn.00407e50
mov ecx, 0x8216c8
call fcn.0043bc30
mov al, byte [esp + 0x13]
push ebx
lea ecx, [esp + 0x1c]
mov byte [esp + 0x1c], al
call fcn.00407e50
mov edi, str.random_staff
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.random_staff
lea ecx, [esp + 0x20]
call fcn.00415530
lea ecx, [esp + 0x18]
mov byte [esp + 0x30], 0x4c
push ecx
mov ecx, 0x8216f4
call fcn.0040ca10
lea edx, [esp + 0x13]
lea eax, [esp + 0x12]
push edx
push eax
mov ecx, 0x821708
mov byte [esp + 0x38], 0x4d
mov dword [0x821704], ebx
call fcn.0044d290
push 1
lea ecx, [esp + 0x1c]
mov dword [0x821718], ebx
mov dword [0x82171c], 0x44
mov byte [esp + 0x34], bl
call fcn.00407e50
mov cl, byte [esp + 0x13]
push ebx
mov byte [esp + 0x1c], cl
lea ecx, [esp + 0x1c]
call fcn.00407e50
mov edi, str.random_teacher
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.random_teacher
lea ecx, [esp + 0x20]
call fcn.00415530
lea edx, [esp + 0x18]
mov ecx, 0x821720
push edx
mov byte [esp + 0x34], 0x4e
call fcn.0040ca10
lea eax, [esp + 0x13]
lea ecx, [esp + 0x12]
push eax
push ecx
mov ecx, 0x821734
mov byte [esp + 0x38], 0x4f
mov dword [0x821730], ebx
call fcn.0044d290
push 1
lea ecx, [esp + 0x1c]
mov dword [0x821744], ebx
mov dword [0x821748], 0x45
mov byte [esp + 0x34], bl
call fcn.00407e50
mov dl, byte [esp + 0x13]
push ebx
lea ecx, [esp + 0x1c]
mov byte [esp + 0x1c], dl
call fcn.00407e50
mov edi, str.random_temple
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.random_temple
lea ecx, [esp + 0x20]
call fcn.00415530
lea eax, [esp + 0x18]
mov ecx, 0x82174c
push eax
push 0x46
mov byte [esp + 0x38], 0x50
call fcn.0044bf40
push 1
lea ecx, [esp + 0x1c]
mov byte [esp + 0x34], bl
call fcn.00407e50
mov cl, byte [esp + 0x13]
push ebx
mov byte [esp + 0x1c], cl
lea ecx, [esp + 0x1c]
call fcn.00407e50
mov edi, str.random_tome
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.random_tome
lea ecx, [esp + 0x20]
call fcn.00415530
lea edx, [esp + 0x18]
mov ecx, 0x821778
push edx
push 0x47
mov byte [esp + 0x38], 0x51
call fcn.0044bf40
push 1
lea ecx, [esp + 0x1c]
mov byte [esp + 0x34], bl
call fcn.00407e50
lea eax, [esp + 0x13]
lea ecx, [esp + 0x18]
push eax
push str.random_town
call fcn.0044d1d0
lea ecx, [esp + 0x18]
mov edx, 0x48
push ecx
mov ecx, 0x8217a4
mov byte [esp + 0x34], 0x52
call fcn.00444310
push 1
lea ecx, [esp + 0x1c]
mov byte [esp + 0x34], bl
call fcn.00407e50
lea edx, [esp + 0x13]
lea ecx, [esp + 0x18]
push edx
push str.random_weekly_material_generator
call fcn.0044d1d0
lea eax, [esp + 0x18]
mov ecx, 0x8217d0
push eax
push 0x49
mov byte [esp + 0x38], 0x53
call fcn.0044bf40
push 1
lea ecx, [esp + 0x1c]
mov byte [esp + 0x34], bl
call fcn.00407e50
lea ecx, [esp + 0x13]
push ecx
push str.rainbow
lea ecx, [esp + 0x20]
call fcn.0044d1d0
lea edx, [esp + 0x18]
mov ecx, 0x8217fc
push edx
push 0x3b
mov byte [esp + 0x38], 0x54
call fcn.0044bf40
push 1
lea ecx, [esp + 0x1c]
mov byte [esp + 0x34], bl
call fcn.00407e50
lea eax, [esp + 0x13]
lea ecx, [esp + 0x18]
push eax
push str.sacred_grove
call fcn.0044d1d0
lea ecx, [esp + 0x18]
mov byte [esp + 0x30], 0x55
push ecx
push 0x4a
mov ecx, 0x821828
call fcn.0044bf40
push 1
lea ecx, [esp + 0x1c]
mov byte [esp + 0x34], bl
call fcn.00407e50
lea edx, [esp + 0x13]
lea ecx, [esp + 0x18]
push edx
push str.sanctuary
call fcn.0044d1d0
lea eax, [esp + 0x18]
mov ecx, 0x821854
push eax
push 0x4b
mov byte [esp + 0x38], 0x56
call fcn.0044bf40
push 1
lea ecx, [esp + 0x1c]
mov byte [esp + 0x34], bl
call fcn.00407e50
mov ecx, 0x821880
call fcn.00442430
mov ecx, 0x8218ac
call fcn.00448780
lea ecx, [esp + 0x13]
push ecx
push str.selection_ring
lea ecx, [esp + 0x20]
call fcn.0044d1d0
lea edx, [esp + 0x18]
mov ecx, 0x8218d8
push edx
push 0x4e
mov byte [esp + 0x38], 0x57
call fcn.0044bf40
push 1
lea ecx, [esp + 0x1c]
mov byte [esp + 0x34], bl
call fcn.00407e50
lea eax, [esp + 0x13]
lea ecx, [esp + 0x18]
push eax
push str.ship
call fcn.0044d1d0
lea ecx, [esp + 0x18]
mov byte [esp + 0x30], 0x58
push ecx
push 0x4f
mov ecx, 0x821904
call fcn.0044bf40
mov byte [esp + 0x30], bl
push 1
lea ecx, [esp + 0x1c]
call fcn.00407e50
lea edx, [esp + 0x13]
lea ecx, [esp + 0x18]
push edx
push str.shipwreck_survivor
call fcn.0044d1d0
lea eax, [esp + 0x18]
mov ecx, 0x821930
push eax
push 0x50
mov byte [esp + 0x38], 0x59
call fcn.0044bf40
push 1
lea ecx, [esp + 0x1c]
mov byte [esp + 0x34], bl
call fcn.00407e50
lea ecx, [esp + 0x13]
push ecx
push str.shipyard
lea ecx, [esp + 0x20]
call fcn.0044d1d0
lea edx, [esp + 0x18]
mov ecx, 0x82195c
push edx
push 0x51
mov byte [esp + 0x38], 0x5a
call fcn.0044bf40
push 1
lea ecx, [esp + 0x1c]
mov byte [esp + 0x34], bl
call fcn.00407e50
mov ecx, 0x821988
call fcn.0043b5c0
lea eax, [esp + 0x13]
lea ecx, [esp + 0x18]
push eax
push str.sign
call fcn.0044d1d0
lea ecx, [esp + 0x18]
mov byte [esp + 0x30], 0x5b
push ecx
push 0x53
mov ecx, 0x8219b4
call fcn.0044bf40
push 1
lea ecx, [esp + 0x1c]
mov byte [esp + 0x34], bl
call fcn.00407e50
lea edx, [esp + 0x13]
lea ecx, [esp + 0x18]
push edx
push str.sphinx
call fcn.0044d1d0
lea eax, [esp + 0x18]
mov ecx, 0x8219e0
push eax
push 0x54
mov byte [esp + 0x38], 0x5c
call fcn.0044bf40
push 1
lea ecx, [esp + 0x1c]
mov byte [esp + 0x34], bl
call fcn.00407e50
lea ecx, [esp + 0x13]
push ecx
push str.stagecoach
lea ecx, [esp + 0x20]
call fcn.0044d1d0
lea edx, [esp + 0x18]
mov ecx, 0x821a0c
push edx
mov edx, 0x55
mov byte [esp + 0x34], 0x5d
call fcn.004454d0
mov byte [esp + 0x30], bl
push 1
lea ecx, [esp + 0x1c]
call fcn.00407e50
mov ecx, 0x821a38
call fcn.00449e10
mov ecx, 0x821a64
call fcn.0044a0f0
lea eax, [esp + 0x13]
lea ecx, [esp + 0x18]
push eax
push str.tavern
call fcn.0044d1d0
lea ecx, [esp + 0x18]
mov byte [esp + 0x30], 0x5e
push ecx
push 0x58
mov ecx, 0x821a90
call fcn.0044bf40
push 1
lea ecx, [esp + 0x1c]
mov byte [esp + 0x34], bl
call fcn.00407e50
mov ecx, 0x821abc
call fcn.00441900
lea edx, [esp + 0x13]
lea ecx, [esp + 0x18]
push edx
push str.teleporter_entrance
call fcn.0044d1d0
lea eax, [esp + 0x18]
mov edx, 0x5a
push eax
mov ecx, 0x821ae8
mov byte [esp + 0x34], 0x5f
call fcn.004454d0
push 1
lea ecx, [esp + 0x1c]
mov byte [esp + 0x34], bl
call fcn.00407e50
lea ecx, [esp + 0x13]
push ecx
push str.teleporter_exit
lea ecx, [esp + 0x20]
call fcn.0044d1d0
lea edx, [esp + 0x18]
mov ecx, 0x821b14
push edx
mov edx, 0x5b
mov byte [esp + 0x34], 0x60
call fcn.004454d0
push 1
lea ecx, [esp + 0x1c]
mov byte [esp + 0x34], bl
call fcn.00407e50
mov ecx, 0x821b40
call fcn.0043c260
lea eax, [esp + 0x13]
lea ecx, [esp + 0x18]
push eax
push str.toll_gate
call fcn.0044d1d0
lea ecx, [esp + 0x18]
mov byte [esp + 0x30], 0x61
push ecx
push 0x5d
mov ecx, 0x821b6c
call fcn.0044bf40
push 1
lea ecx, [esp + 0x1c]
mov byte [esp + 0x34], bl
call fcn.00407e50
mov ecx, 0x821b98
call fcn.00443b20
mov ecx, 0x821bc4
call fcn.00443e30
lea edx, [esp + 0x13]
push edx
push str.trading_post
lea ecx, [esp + 0x20]
call fcn.0044d1d0
lea eax, [esp + 0x18]
mov ecx, 0x821bf0
push eax
push 0x60
mov byte [esp + 0x38], 0x62
call fcn.0044bf40
push 1
lea ecx, [esp + 0x1c]
mov byte [esp + 0x34], bl
call fcn.00407e50
lea ecx, [esp + 0x13]
push ecx
push 0x7e08b8
lea ecx, [esp + 0x20]
call fcn.0044d1d0
lea edx, [esp + 0x18]
mov ecx, 0x821c1c
push edx
push 0x61
mov byte [esp + 0x38], 0x63
call fcn.0044bf40
push 1
lea ecx, [esp + 0x1c]
mov byte [esp + 0x34], bl
call fcn.00407e50
mov ecx, 0x821c48
call fcn.00448460
lea eax, [esp + 0x13]
lea ecx, [esp + 0x18]
push eax
push str.tree_of_knowledge
call fcn.0044d1d0
lea ecx, [esp + 0x18]
mov byte [esp + 0x30], 0x64
push ecx
push 0x63
mov ecx, 0x821c74
call fcn.0044bf40
push 1
lea ecx, [esp + 0x1c]
mov byte [esp + 0x34], bl
call fcn.00407e50
mov ecx, 0x821ca0
call fcn.0043d640
mov ecx, 0x821ccc
call fcn.00448fd0
mov ecx, 0x821cf8
call fcn.0043e610
lea edx, [esp + 0x13]
lea ecx, [esp + 0x18]
push edx
push str.windmill
call fcn.0044d1d0
lea eax, [esp + 0x18]
mov ecx, 0x821d24
push eax
push 0x67
mov byte [esp + 0x38], 0x65
call fcn.0044bf40
push 1
lea ecx, [esp + 0x1c]
mov byte [esp + 0x34], bl
call fcn.00407e50
lea ecx, [esp + 0x13]
push ecx
push str.whirlpool
lea ecx, [esp + 0x20]
call fcn.0044d1d0
lea edx, [esp + 0x18]
mov ecx, 0x821d50
push edx
push 0x68
mov byte [esp + 0x38], 0x66
call fcn.0044bf40
push 1
lea ecx, [esp + 0x1c]
mov byte [esp + 0x34], bl
call fcn.00407e50
push 0x44c0e0
call fcn.006601e7
add esp, 4
pop edi
mov esi, 0x820b98
lea eax, [esi - 0x28]
push eax
mov eax, dword [esi]
lea ecx, [eax + eax*4]
lea edx, [eax + ecx*2]
lea ecx, [ebp + edx*4]
call fcn.0044c100
add esi, 0x2c
cmp esi, 0x821da4
jb 0x44bf0b
mov ecx, dword [esp + 0x24]
mov eax, ebp
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x24
ret