Function at 0x505770
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x72d9f7
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x254
push ebx
push esi
mov dword [esp + 0x28], ecx
xor esi, esi
push edi
mov ecx, 0x7cb478
mov dword [esp + 0xc], 0
xor edi, edi
xor ebx, ebx
mov dword [esp + 0x10], esi
mov dword [esp + 0x24], esi
call fcn.004d51b0
mov ecx, 0x7cb478
mov dword [esp + 0x1c], eax
call fcn.004d51e0
mov ecx, dword [0x7cebec]
test ecx, ecx
mov dword [esp + 0x30], eax
je 0x5057e6
mov edi, dword [ecx + 0x10]
call fcn.004e5460
mov ecx, dword [0x7cebec]
mov dword [esp + 0x10], eax
mov eax, dword [0x7cebf4]
test eax, eax
je 0x50582e
lea ecx, [eax + 4]
call fcn.004ee8b0
cmp eax, 0x41455243
je 0x505816
cmp eax, 0x5f43504e
mov ecx, dword [0x7cebec]
jne 0x505829
call fcn.004e5750
mov esi, eax
mov ebx, esi
jmp 0x505823
mov ecx, dword [0x7cebec]
call fcn.004e5750
mov esi, eax
mov ecx, dword [0x7cebec]
mov eax, dword [0x7cebf4]
mov edx, dword [ebp + 8]
add edx, 0xfffff000
cmp edx, 0x1bc
mov dword [esp + 0x20], edx
ja case.0x505847.4115
jmp dword [edx*4 + 0x50d648]
movsx eax, byte [0x7ceb99]
lea ecx, [eax - 0x46]
cmp ecx, 0x2d
mov eax, dword [0x7cebf8]
ja case.0x50586a.74
xor edx, edx
mov dl, byte [ecx + 0x50dd50]
jmp dword [edx*4 + 0x50dd3c]
mov ecx, dword [eax]
mov edx, dword [0x7ce9c8]
movsx ecx, word [ecx + edx*2]
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
fstp dword [esp + 0x30]
jmp 0x5058c6
mov edx, dword [eax + 4]
mov ecx, dword [0x7ce9c8]
fild dword [edx + ecx*4]
fstp dword [esp + 0x30]
jmp 0x5058c6
mov edx, dword [eax + 8]
mov ecx, dword [0x7ce9c8]
fld dword [edx + ecx*4]
fstp dword [esp + 0x30]
jmp 0x5058c6
mov edx, dword [0x7ce9c8]
fld dword [edx + 0x34]
fstp dword [esp + 0x30]
jmp 0x5058c6
mov dword [esp + 0x30], 0
movsx ecx, byte [0x7ceb98]
add ecx, 0xffffffba
cmp ecx, 0x2d
ja case.0x5058dd.74
xor edx, edx
mov dl, byte [ecx + 0x50dd94]
jmp dword [edx*4 + 0x50dd80]
mov ecx, dword [eax]
mov edx, dword [0x7ce9c4]
movsx ecx, word [ecx + edx*2]
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
fstp dword [esp + 0x24]
jmp 0x505939
mov edx, dword [eax + 4]
mov ecx, dword [0x7ce9c4]
fild dword [edx + ecx*4]
fstp dword [esp + 0x24]
jmp 0x505939
mov edx, dword [eax + 8]
mov ecx, dword [0x7ce9c4]
fld dword [edx + ecx*4]
fstp dword [esp + 0x24]
jmp 0x505939
mov edx, dword [0x7ce9c4]
fld dword [edx + 0x34]
fstp dword [esp + 0x24]
jmp 0x505939
mov dword [esp + 0x24], 0
movsx ecx, byte [0x7ceb97]
add ecx, 0xffffffba
cmp ecx, 0x2d
ja case.0x505950.74
xor edx, edx
mov dl, byte [ecx + 0x50ddd8]
jmp dword [edx*4 + 0x50ddc4]
mov ecx, dword [eax]
mov edx, dword [0x7ce9c0]
movsx ecx, word [ecx + edx*2]
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
fstp dword [esp + 0x2c]
jmp 0x5059ac
mov edx, dword [eax + 4]
mov ecx, dword [0x7ce9c0]
fild dword [edx + ecx*4]
fstp dword [esp + 0x2c]
jmp 0x5059ac
mov edx, dword [eax + 8]
mov ecx, dword [0x7ce9c0]
fld dword [edx + ecx*4]
fstp dword [esp + 0x2c]
jmp 0x5059ac
mov edx, dword [0x7ce9c0]
fld dword [edx + 0x34]
fstp dword [esp + 0x2c]
jmp 0x5059ac
mov dword [esp + 0x2c], 0
movsx ecx, byte [0x7ceb96]
add ecx, 0xffffffba
cmp ecx, 0x2d
ja case.0x5059c3.74
xor edx, edx
mov dl, byte [ecx + 0x50de1c]
jmp dword [edx*4 + 0x50de08]
mov ecx, dword [eax]
mov edx, dword [0x7ce9bc]
movsx ecx, word [ecx + edx*2]
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
jmp 0x505a0d
mov edx, dword [eax + 4]
mov ecx, dword [0x7ce9bc]
fild dword [edx + ecx*4]
jmp 0x505a0d
mov edx, dword [eax + 8]
mov ecx, dword [0x7ce9bc]
fld dword [edx + ecx*4]
jmp 0x505a0d
mov edx, dword [0x7ce9bc]
fld dword [edx + 0x34]
jmp 0x505a0d
fld dword [0x746468]
movsx ecx, byte [0x7ceb95]
add ecx, 0xffffffba
cmp ecx, 0x2d
ja case.0x505a24.74
xor edx, edx
mov dl, byte [ecx + 0x50de60]
jmp dword [edx*4 + 0x50de4c]
mov ecx, dword [eax]
mov edx, dword [0x7ce9b8]
movsx ecx, word [ecx + edx*2]
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
jmp 0x505a6e
mov edx, dword [eax + 4]
mov ecx, dword [0x7ce9b8]
fild dword [edx + ecx*4]
jmp 0x505a6e
mov edx, dword [eax + 8]
mov ecx, dword [0x7ce9b8]
fld dword [edx + ecx*4]
jmp 0x505a6e
mov edx, dword [0x7ce9b8]
fld dword [edx + 0x34]
jmp 0x505a6e
fld dword [0x746468]
movsx ecx, byte [0x7ceb94]
add ecx, 0xffffffba
cmp ecx, 0x2d
ja case.0x505a85.74
xor edx, edx
mov dl, byte [ecx + 0x50dea4]
jmp dword [edx*4 + 0x50de90]
mov ecx, dword [eax]
mov edx, dword [0x7ce9b4]
movsx ecx, word [ecx + edx*2]
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
jmp 0x505acf
mov edx, dword [eax + 4]
mov ecx, dword [0x7ce9b4]
fild dword [edx + ecx*4]
jmp 0x505acf
mov edx, dword [eax + 8]
mov ecx, dword [0x7ce9b4]
fld dword [edx + ecx*4]
jmp 0x505acf
mov edx, dword [0x7ce9b4]
fld dword [edx + 0x34]
jmp 0x505acf
fld dword [0x746468]
movsx ecx, byte [0x7ceb93]
add ecx, 0xffffffba
cmp ecx, 0x2d
ja case.0x505ae6.74
xor edx, edx
mov dl, byte [ecx + 0x50dee8]
jmp dword [edx*4 + 0x50ded4]
mov ecx, dword [eax]
mov edx, dword [0x7ce9b0]
movsx ecx, word [ecx + edx*2]
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
jmp 0x505b30
mov edx, dword [eax + 4]
mov ecx, dword [0x7ce9b0]
fild dword [edx + ecx*4]
jmp 0x505b30
mov edx, dword [eax + 8]
mov ecx, dword [0x7ce9b0]
fld dword [edx + ecx*4]
jmp 0x505b30
mov edx, dword [0x7ce9b0]
fld dword [edx + 0x34]
jmp 0x505b30
fld dword [0x746468]
movsx ecx, byte [0x7ceb92]
add ecx, 0xffffffba
cmp ecx, 0x2d
ja case.0x505b47.74
xor edx, edx
mov dl, byte [ecx + 0x50df2c]
jmp dword [edx*4 + 0x50df18]
mov ecx, dword [eax]
mov edx, dword [0x7ce9ac]
movsx ecx, word [ecx + edx*2]
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
jmp 0x505b91
mov edx, dword [eax + 4]
mov ecx, dword [0x7ce9ac]
fild dword [edx + ecx*4]
jmp 0x505b91
mov edx, dword [eax + 8]
mov ecx, dword [0x7ce9ac]
fld dword [edx + ecx*4]
jmp 0x505b91
mov edx, dword [0x7ce9ac]
fld dword [edx + 0x34]
jmp 0x505b91
fld dword [0x746468]
movsx ecx, byte [0x7ceb91]
add ecx, 0xffffffba
cmp ecx, 0x2d
ja case.0x505ba8.74
xor edx, edx
mov dl, byte [ecx + 0x50df70]
jmp dword [edx*4 + 0x50df5c]
mov ecx, dword [eax]
mov edx, dword [0x7ce9a8]
movsx ecx, word [ecx + edx*2]
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
jmp 0x505bf2
mov edx, dword [eax + 4]
mov ecx, dword [0x7ce9a8]
fild dword [edx + ecx*4]
jmp 0x505bf2
mov edx, dword [eax + 8]
mov ecx, dword [0x7ce9a8]
fld dword [edx + ecx*4]
jmp 0x505bf2
mov edx, dword [0x7ce9a8]
fld dword [edx + 0x34]
jmp 0x505bf2
fld dword [0x746468]
movsx ecx, byte [0x7ceb90]
add ecx, 0xffffffba
cmp ecx, 0x2d
ja case.0x505c09.74
xor edx, edx
mov dl, byte [ecx + 0x50dfb4]
jmp dword [edx*4 + 0x50dfa0]
mov eax, dword [eax]
mov ecx, dword [0x7ce9a4]
movsx edx, word [eax + ecx*2]
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
jmp 0x505c52
mov eax, dword [eax + 4]
mov ecx, dword [0x7ce9a4]
fild dword [eax + ecx*4]
jmp 0x505c52
mov edx, dword [eax + 8]
mov eax, dword [0x7ce9a4]
fld dword [edx + eax*4]
jmp 0x505c52
mov ecx, dword [0x7ce9a4]
fld dword [ecx + 0x34]
jmp 0x505c52
fld dword [0x746468]
fld dword [esp + 0x30]
sub esp, 8
fstp qword [esp]
sub esp, 8
fld dword [esp + 0x34]
sub esp, 8
fstp qword [esp + 8]
mov esi, dword [esp + 0x34]
fld dword [esp + 0x44]
sub esp, 8
fstp qword [esp + 8]
sub esp, 8
fxch st(6)
sub esp, 8
fstp qword [esp + 0x10]
sub esp, 8
fxch st(4)
sub esp, 8
fstp qword [esp + 0x18]
sub esp, 8
fxch st(2)
sub esp, 8
fstp qword [esp + 0x20]
fstp qword [esp + 0x18]
fstp qword [esp + 0x10]
fstp qword [esp + 8]
fstp qword [esp]
push 0x7ce6f8
push esi
call dword [sym.imp.MSVCRT.dll_sprintf]
mov ecx, dword [0x7c67dc]
add esp, 0x58
call fcn.0040ff20
mov edx, dword [eax + 0x560]
mov eax, dword [0x7c67dc]
mov ecx, dword [eax + 0x40]
push esi
push edx
call fcn.0040be50
mov eax, dword [0x7cebc8]
test eax, eax
jne 0x505d1f
mov al, byte [0x7cebdc]
test al, al
je 0x505d08
mov ecx, dword [0x7c6568]
mov edx, dword [0x7c67dc]
push ecx
push edx
call fcn.0040f970
add esp, 8
jmp 0x50d62d
mov eax, dword [0x7c6568]
push 1
push 0
push eax
call fcn.005f90c0
add esp, 0xc
jmp 0x50d62d
mov ecx, dword [0x7cea14]
mov edx, dword [0x7cea10]
mov eax, dword [0x7cea0c]
push 0
push ecx
mov ecx, dword [0x7cea08]
push edx
mov edx, dword [0x7cea04]
push eax
mov eax, dword [0x7cea00]
push ecx
mov ecx, dword [0x7ce9fc]
push edx
mov edx, dword [0x7ce9f8]
push eax
mov eax, dword [0x7ce9f4]
push ecx
mov ecx, dword [0x7ce9f0]
push edx
mov edx, dword [0x7c6568]
push eax
push ecx
push edx
call fcn.005f1aa0
add esp, 0x30
jmp 0x50d62d
call fcn.005f2160
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fst dword [esp + 0xc]
fcomp dword [0x7464b8]
fnstsw ax
test ah, 0x40
jne 0x50d62d
call fcn.005f2170
jmp 0x50d62d
test ecx, ecx
je 0x50d62d
mov esi, dword [ebp + 0x10]
test esi, esi
mov dword [esp + 0xc], 0x7f7fffff
jne 0x505dc1
mov esi, dword [0x7ce6f8]
mov ecx, dword [0x7c67e0]
mov eax, dword [ecx]
cmp esi, dword [eax + 0xb384]
jne 0x505dd8
call fcn.0048e350
jmp 0x505ddf
mov ecx, esi
call fcn.004eb670
mov ecx, dword [0x7cebec]
mov ebx, eax
mov eax, dword [0x7c67e0]
mov edx, dword [eax]
cmp ecx, dword [edx + 0xb384]
jne 0x505dff
mov ecx, eax
call fcn.0048e350
jmp 0x505e04
call fcn.004eb670
test ebx, ebx
mov edi, eax
je 0x505e2a
test edi, edi
je 0x505e2a
mov ecx, ebx
call fcn.004e22f0
test al, al
jne 0x505e24
mov ecx, edi
call fcn.004e22f0
test al, al
je 0x505e2e
cmp ebx, edi
jne 0x505e61
jmp 0x505e2e
test esi, esi
je 0x505e61
mov eax, dword [0x7cebec]
fld dword [esi + 0x38]
fsub dword [eax + 0x38]
fld dword [esi + 0x3c]
fsub dword [eax + 0x3c]
fld dword [esi + 0x40]
fsub dword [eax + 0x40]
fld st(2)
fmul st(3)
fld st(1)
fmul st(2)
faddp st(1)
fld st(2)
fmul st(3)
faddp st(1)
fsqrt
fstp dword [esp + 0xc]
fstp st(0)
fstp st(0)
fstp st(0)
mov al, byte [0x7cebdc]
test al, al
je 0x50d62d
fld dword [esp + 0xc]
mov eax, dword [str.GetDistance]
sub esp, 8
fstp qword [esp]
jmp 0x50d58e
test edi, edi
jne 0x505e95
mov eax, dword [0x7cec18]
test eax, eax
je 0x505eca
mov ecx, dword [0x7cebf0]
test ecx, ecx
je 0x505eca
mov eax, dword [ebp + 0x10]
test eax, eax
jne 0x505ea9
mov eax, dword [0x7ce6f8]
test eax, eax
je 0x505eca
push ecx
mov ecx, dword [0x7c67e0]
push eax
call fcn.0048bbd0
test eax, eax
mov dword [esp + 0xc], 0
je 0x505eca
mov dword [esp + 0xc], 0x3f800000
mov al, byte [0x7cebdc]
test al, al
je 0x50d62d
fld dword [esp + 0xc]
mov edx, dword [str.GetSoundPlaying]
mov eax, dword [0x7c67dc]
sub esp, 8
fstp qword [esp]
push edx
push str._s_____0.2f
push eax
call fcn.0040f970
add esp, 0x14
jmp 0x50d62d
mov esi, dword [0x7ce6f8]
test esi, esi
je 0x50d62d
mov ecx, dword [0x7c67dc]
mov eax, dword [ecx + 0x34]
push 1
push 0x3f800000
jmp 0x50607c
test edi, edi
je 0x505f2b
mov edi, ecx
jmp 0x505f3e
mov eax, dword [0x7cec18]
test eax, eax
je 0x50d62d
mov edi, dword [0x7cebf0]
test edi, edi
je 0x50d62d
mov esi, dword [0x7ce6f8]
test esi, esi
je 0x50d62d
mov ecx, dword [0x7c67dc]
mov eax, dword [ecx + 0x34]
push 0
push 0
push 0x3f800000
jmp 0x5060f4
mov eax, dword [0x7ce6f8]
test eax, eax
je 0x50d62d
push ecx
mov ecx, dword [0x7c67e0]
push eax
call fcn.0048c0d0
jmp 0x50d62d
test edi, edi
je 0x505f92
mov esi, ecx
jmp 0x505fa5
mov eax, dword [0x7cec18]
test eax, eax
je 0x50d62d
mov esi, dword [0x7cebf0]
test esi, esi
je 0x50d62d
mov ecx, dword [0x7c67dc]
mov edi, dword [0x7ce6f8]
call fcn.0040ff20
mov eax, dword [eax + 0x14]
fld dword [eax + 0x38]
add eax, 0x38
test edi, edi
fsub dword [esi + 0x38]
fld dword [eax + 4]
fsub dword [esi + 0x3c]
fstp dword [esp + 0x38]
fld dword [eax + 8]
fsub dword [esi + 0x40]
je 0x50d629
fld dword [esp + 0x38]
fld st(2)
fmulp st(3)
fld st(0)
fmul st(1)
faddp st(3)
fld st(1)
fmul st(2)
faddp st(3)
fxch st(2)
fsqrt
fxch st(2)
fstp st(0)
fstp st(0)
fcomp dword [0x74664c]
fnstsw ax
test ah, 1
je 0x50d62d
mov ecx, dword [0x7c67dc]
mov eax, dword [ecx + 0x34]
xor edx, edx
mov dl, byte [eax + 0x290]
xor ecx, ecx
mov cl, byte [eax + 0x298]
mov eax, 0x10624dd3
push 0
push 0
push 0x3f800000
imul ecx, edx
imul ecx
mov ecx, dword [0x7c67e0]
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
push edx
push 1
push esi
push edi
call fcn.0048bd40
jmp 0x50d62d
mov esi, dword [0x7ce6f8]
test esi, esi
je 0x50d62d
mov ecx, dword [0x7c67dc]
mov edx, dword [0x7cea4c]
mov eax, dword [ecx + 0x34]
push 1
push edx
xor edx, edx
mov dl, byte [eax + 0x298]
xor ecx, ecx
mov cl, byte [eax + 0x290]
mov eax, 0x10624dd3
imul edx, ecx
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
push edx
push 0
mov ecx, esi
call fcn.00510a40
jmp 0x50d62d
test edi, edi
je 0x5060b7
mov edi, ecx
jmp 0x5060ca
mov eax, dword [0x7cec18]
test eax, eax
je 0x50d62d
mov edi, dword [0x7cebf0]
test edi, edi
je 0x50d62d
mov esi, dword [0x7ce6f8]
test esi, esi
je 0x50d62d
mov ecx, dword [0x7c67dc]
mov edx, dword [0x7cea4c]
mov eax, dword [ecx + 0x34]
push 0
push 0
push edx
xor edx, edx
mov dl, byte [eax + 0x298]
xor ecx, ecx
mov cl, byte [eax + 0x290]
mov eax, 0x10624dd3
imul edx, ecx
mov ecx, dword [0x7c67e0]
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
push edx
push 0
push edi
push esi
call fcn.0048bd40
jmp 0x50d62d
test edi, edi
je 0x506135
mov esi, ecx
jmp 0x506148
mov eax, dword [0x7cec18]
test eax, eax
je 0x50d62d
mov esi, dword [0x7cebf0]
test esi, esi
je 0x50d62d
mov ecx, dword [0x7c67dc]
mov edi, dword [0x7ce6f8]
call fcn.0040ff20
mov eax, dword [eax + 0x14]
fld dword [eax + 0x38]
add eax, 0x38
test edi, edi
fsub dword [esi + 0x38]
fld dword [eax + 4]
fsub dword [esi + 0x3c]
fstp dword [esp + 0x38]
fld dword [eax + 8]
fsub dword [esi + 0x40]
je 0x50d629
fld dword [esp + 0x38]
fld st(2)
fmulp st(3)
fld st(0)
fmul st(1)
faddp st(3)
fld st(1)
fmul st(2)
faddp st(3)
fxch st(2)
fsqrt
fxch st(2)
fstp st(0)
fstp st(0)
fcomp dword [0x74664c]
fnstsw ax
test ah, 1
je 0x50d62d
mov ecx, dword [0x7c67dc]
mov eax, dword [ecx + 0x34]
mov edx, dword [0x7cea4c]
push 0
push 0
push edx
xor edx, edx
mov dl, byte [eax + 0x290]
xor ecx, ecx
mov cl, byte [eax + 0x298]
mov eax, 0x10624dd3
imul ecx, edx
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
and edx, 0xff
mov dword [esp + 0x1c], edx
fild dword [esp + 0x1c]
fmul dword [0x7cea48]
call sub.MSVCRT.dll__ftol
mov ecx, dword [0x7c67e0]
push eax
push 1
push esi
push edi
call fcn.0048bd40
jmp 0x50d62d
push 0x7ce6f8
call fcn.0045c930
add esp, 4
jmp 0x50d62d
test ecx, ecx
je 0x50d62d
test esi, esi
je 0x50d62d
mov eax, dword [esi + 0x10]
shr eax, 2
and al, 1
je 0x50625c
mov ecx, dword [esi + 0x14]
test ecx, ecx
je 0x50625c
mov ecx, dword [ecx + 8]
shr ecx, 0xb
test cl, 1
jne 0x50d62d
test al, al
je 0x50d62d
mov byte [esi + 0xdc], 0xff
mov edx, dword [esi + 0x10]
shr edx, 9
test dl, 1
jne 0x506282
push 0x7de6cc
mov ecx, esi
call fcn.0055eba0
mov ecx, esi
call fcn.00561a20
mov eax, dword [0x7cea48]
mov dword [esi + 0x12c], eax
mov ecx, dword [0x7cea4c]
mov dword [esi + 0x130], ecx
mov edx, dword [0x7cea50]
mov dword [esi + 0x134], edx
mov byte [esi + 0xdc], 0xb
jmp 0x50d62d
test ecx, ecx
je 0x50d62d
test esi, esi
je 0x506310
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
cmp esi, eax
jne 0x50630a
push 1
push 0
sub esp, 0xc
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x7ceb08
call fcn.0040a7e0
sub esp, 0xc
mov ecx, esp
mov dword [esp + 0x30], esp
push 0x7cea48
call fcn.0040a7e0
call fcn.0045cef0
add esp, 0x20
jmp 0x50d62d
mov ecx, dword [0x7cebec]
call fcn.004eb670
mov esi, eax
test esi, esi
je 0x50635c
mov ecx, esi
call fcn.004e22f0
test al, al
jne 0x50638a
mov ecx, esi
call fcn.004db9d0
fld dword [0x7cea48]
mov edi, eax
call sub.MSVCRT.dll__ftol
sar eax, 0xd
cmp eax, edi
jne 0x50635c
mov ecx, esi
call fcn.004db9f0
fld dword [0x7cea4c]
mov edi, eax
call sub.MSVCRT.dll__ftol
sar eax, 0xd
cmp eax, edi
je 0x50638a
mov eax, dword [0x7c67e0]
fld dword [0x7cea4c]
mov esi, dword [eax]
call sub.MSVCRT.dll__ftol
fld dword [0x7cea48]
sar eax, 0xd
push eax
call sub.MSVCRT.dll__ftol
sar eax, 0xd
push eax
mov ecx, esi
call fcn.004baa10
mov esi, eax
test esi, esi
je 0x50d62d
mov ecx, dword [0x7ceb10]
mov edx, dword [0x7cebec]
push ecx
push 0x7cea48
push esi
push edx
call fcn.0050edd0
add esp, 0x10
jmp 0x50d62d
test ecx, ecx
je 0x50d62d
test esi, esi
je 0x50640c
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
cmp esi, eax
jne 0x506406
push 0x7ce6f8
sub esp, 0xc
mov ecx, esp
mov dword [esp + 0x20], esp
push 0x7ceb08
call fcn.0040a7e0
sub esp, 0xc
mov ecx, esp
mov dword [esp + 0x2c], esp
push 0x7cea48
call fcn.0040a7e0
call fcn.0045c970
add esp, 0x1c
jmp 0x50d62d
mov ecx, dword [0x7cebec]
call fcn.004eb670
mov esi, eax
test esi, esi
je 0x506431
mov eax, dword [esi]
push 0x7ce6f8
mov ecx, esi
call dword [eax + 0x20]
push eax
call dword [sym.imp.MSVCRT.dll__stricmp]
add esp, 8
test eax, eax
je 0x506445
mov ecx, dword [0x7c67e0]
mov ecx, dword [ecx]
push 0x7ce6f8
call fcn.004ba9b0
mov esi, eax
test esi, esi
je 0x50d62d
mov ecx, esi
call fcn.004e22f0
test al, al
jne 0x5064bd
mov ecx, esi
call fcn.004db9d0
fld dword [0x7cea48]
mov edi, eax
call sub.MSVCRT.dll__ftol
sar eax, 0xd
cmp eax, edi
jne 0x50648e
mov ecx, esi
call fcn.004db9f0
fld dword [0x7cea4c]
mov edi, eax
call sub.MSVCRT.dll__ftol
sar eax, 0xd
cmp eax, edi
je 0x5064bd
mov edx, dword [0x7c67e0]
fld dword [0x7cea4c]
mov esi, dword [edx]
call sub.MSVCRT.dll__ftol
fld dword [0x7cea48]
sar eax, 0xd
push eax
call sub.MSVCRT.dll__ftol
sar eax, 0xd
push eax
mov ecx, esi
call fcn.004baa10
mov esi, eax
test esi, esi
je 0x50d62d
mov eax, dword [0x7ceb10]
mov ecx, dword [0x7cebec]
push eax
push 0x7cea48
push esi
push ecx
call fcn.0050edd0
add esp, 0x10
jmp 0x50d62d
push 0
push 0x7ce6f8
call fcn.0045d2d0
add esp, 8
jmp 0x50d62d
mov edx, dword [0x7c67e0]
mov eax, dword [0x7cebbc]
mov ecx, dword [edx]
mov edx, dword [0x7cebb8]
push eax
push edx
call fcn.004baa10
push eax
push 0x7ce6f8
call fcn.0045d2d0
add esp, 8
jmp 0x50d62d
test edi, edi
je 0x50d62d
mov eax, dword [edi + 0x2c]
push eax
mov ecx, 0x7ce970
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
call fcn.006e7cd0
mov ecx, dword [edi + 0x30]
mov dword [0x7cea48], ecx
mov edx, dword [edi + 0x34]
mov dword [0x7cea4c], edx
mov eax, dword [edi + 0x38]
mov dword [0x7cea50], eax
movsx eax, byte [ebp + 0xc]
sub eax, 0x58
je 0x506689
dec eax
je 0x50660b
dec eax
jne 0x50671d
fld dword [0x7ce978]
mov ecx, dword [0x7cebac]
fld dword [0x7ce984]
mov edx, dword [0x7c67dc]
fstp dword [esp + 0x14]
fld dword [0x7ce990]
mov dword [esp + 0x20], ecx
fstp dword [esp + 0x18]
fld dword [esp + 0x20]
fmul st(1)
fstp dword [esp + 0x10]
fstp st(0)
fld dword [esp + 0x20]
fmul dword [esp + 0x14]
fstp dword [esp + 0x14]
fld dword [esp + 0x20]
fmul dword [esp + 0x18]
fstp dword [esp + 0x18]
fld dword [edx + 0x2c]
fld st(0)
fmul dword [esp + 0x10]
fstp dword [esp + 0x34]
fld st(0)
fmul dword [esp + 0x14]
fstp dword [esp + 0x38]
fmul dword [esp + 0x18]
fld dword [esp + 0x34]
fadd dword [0x7cea48]
fstp dword [0x7cea48]
fld dword [esp + 0x38]
jmp 0x506705
fld dword [0x7ce974]
mov eax, dword [0x7cebac]
fld dword [0x7ce980]
mov ecx, dword [0x7c67dc]
fstp dword [esp + 0x14]
fld dword [0x7ce98c]
mov dword [esp + 0x20], eax
fstp dword [esp + 0x18]
fld dword [esp + 0x20]
fmul st(1)
fstp dword [esp + 0x10]
fstp st(0)
fld dword [esp + 0x20]
fmul dword [esp + 0x14]
fstp dword [esp + 0x14]
fld dword [esp + 0x20]
fmul dword [esp + 0x18]
fstp dword [esp + 0x18]
fld dword [ecx + 0x2c]
fld st(0)
fmul dword [esp + 0x10]
fstp dword [esp + 0x34]
fld st(0)
fmul dword [esp + 0x14]
fstp dword [esp + 0x38]
fmul dword [esp + 0x18]
fld dword [esp + 0x34]
fadd dword [0x7cea48]
fstp dword [0x7cea48]
fld dword [esp + 0x38]
jmp 0x506705
fld dword [0x7ce970]
mov edx, dword [0x7cebac]
fld dword [0x7ce97c]
mov eax, dword [0x7c67dc]
fstp dword [esp + 0x14]
fld dword [0x7ce988]
mov dword [esp + 0x20], edx
fstp dword [esp + 0x18]
fld dword [esp + 0x20]
fmul st(1)
fstp dword [esp + 0x10]
fstp st(0)
fld dword [esp + 0x20]
fmul dword [esp + 0x14]
fstp dword [esp + 0x14]
fld dword [esp + 0x20]
fmul dword [esp + 0x18]
fstp dword [esp + 0x18]
fld dword [eax + 0x2c]
fld st(0)
fmul dword [esp + 0x10]
fstp dword [esp + 0x34]
fld st(0)
fmul dword [esp + 0x14]
fstp dword [esp + 0x38]
fmul dword [esp + 0x18]
fld dword [esp + 0x34]
fadd dword [0x7cea48]
fstp dword [0x7cea48]
fld dword [esp + 0x38]
fadd dword [0x7cea4c]
fstp dword [0x7cea4c]
fadd dword [0x7cea50]
fstp dword [0x7cea50]
test esi, esi
je 0x506732
lea ecx, [esp + 0x10]
push ecx
mov ecx, esi
call fcn.0055ea90
jmp 0x50d62d
mov esi, dword [0x7cebec]
test esi, esi
je 0x50676f
mov ecx, esi
call fcn.0050e390
test al, al
jne 0x50676f
mov ecx, esi
call fcn.0050f580
mov ecx, eax
add ecx, 4
call fcn.004ee8b0
cmp eax, 0x524f4f44
jg 0x50678e
je 0x506795
cmp eax, 0x43544e43
je 0x506795
cmp eax, 0x49544341
je 0x506795
push 0x7cea48
mov ecx, edi
call fcn.0050e000
mov ecx, dword [0x7cebec]
test ecx, ecx
je 0x5070bb
jmp 0x5070ae
cmp eax, 0x54415453
jne 0x50676f
lea edx, [esp + 0x10]
push edx
lea eax, [esp + 0x12c]
push eax
mov ecx, edi
call fcn.0050e100
mov ecx, eax
call fcn.00438820
push eax
mov ecx, edi
call fcn.0050e040
mov edx, dword [0x7cebec]
mov eax, dword [0x7c67dc]
xor ecx, ecx
mov cl, byte [0x7cebdd]
push ecx
mov ecx, dword [eax + 0x5c]
push edx
call fcn.00563a20
jmp 0x50d62d
test edi, edi
je 0x50d62d
push 0x7de6cc
lea ecx, [esp + 0x14]
call fcn.0040a7e0
mov ecx, edi
call fcn.004195e0
push eax
mov ecx, 0x7cea48
call fcn.0040a7e0
movsx eax, byte [ebp + 0xc]
sub eax, 0x58
je 0x50685f
dec eax
je 0x506838
dec eax
jne 0x506883
mov ecx, dword [0x7cebac]
mov dword [esp + 0x18], ecx
mov ecx, dword [0x7c67dc]
call fcn.0050f590
fadd dword [esp + 0x18]
fadd dword [0x7cea50]
fstp dword [0x7cea50]
jmp 0x506883
mov edx, dword [0x7cebac]
mov ecx, dword [0x7c67dc]
mov dword [esp + 0x14], edx
call fcn.0050f590
fmul dword [esp + 0x14]
fadd dword [0x7cea4c]
fstp dword [0x7cea4c]
jmp 0x506883
mov eax, dword [0x7cebac]
mov ecx, dword [0x7c67dc]
mov dword [esp + 0x10], eax
call fcn.0050f590
fmul dword [esp + 0x10]
fadd dword [0x7cea48]
fstp dword [0x7cea48]
mov eax, dword [0x7cebec]
test eax, eax
je 0x50676f
push eax
call fcn.004f7210
add esp, 4
test al, al
je 0x50676f
lea ecx, [esp + 0x10]
push ecx
lea edx, [esp + 0x108]
push edx
mov ecx, edi
call fcn.0050e100
mov ecx, eax
call fcn.00438820
push eax
mov ecx, edi
call fcn.0050e040
mov ecx, dword [0x7cebec]
mov edx, dword [0x7c67dc]
xor eax, eax
mov al, byte [0x7cebdd]
push eax
push ecx
mov ecx, dword [edx + 0x5c]
call fcn.00563a20
jmp 0x50d62d
test edi, edi
je 0x50d62d
call fcn.004e5970
mov esi, eax
movsx eax, byte [ebp + 0xc]
sub eax, 0x58
je 0x5069ff
dec eax
je 0x506989
dec eax
jne 0x506a64
mov ecx, dword [0x7c67dc]
call fcn.0050f590
fmul dword [0x7cebac]
fmul dword [0x7464f0]
fadd dword [esi + 8]
fst dword [esi + 8]
fcomp dword [0x7469c4]
fnstsw ax
test ah, 1
jne 0x506953
fld dword [esi + 8]
fsub dword [0x7469c4]
fst dword [esi + 8]
fcomp dword [0x7469c4]
fnstsw ax
test ah, 1
je 0x50693a
fld dword [esi + 8]
fcomp dword [0x746468]
fnstsw ax
test ah, 1
je 0x506a64
fld dword [esi + 8]
fadd dword [0x7469c4]
fld st(0)
fxch st(1)
fcomp dword [0x746468]
fnstsw ax
test ah, 1
jne 0x50696a
fstp dword [esi + 8]
jmp 0x506a64
mov ecx, dword [0x7c67dc]
call fcn.0050f590
fmul dword [0x7cebac]
fmul dword [0x7464f0]
fadd dword [esi + 4]
fst dword [esi + 4]
fcomp dword [0x7469c4]
fnstsw ax
test ah, 1
jne 0x5069cc
fld dword [esi + 4]
fsub dword [0x7469c4]
fst dword [esi + 4]
fcomp dword [0x7469c4]
fnstsw ax
test ah, 1
je 0x5069b3
fld dword [esi + 4]
fcomp dword [0x746468]
fnstsw ax
test ah, 1
je 0x506a64
fld dword [esi + 4]
fadd dword [0x7469c4]
fld st(0)
fxch st(1)
fcomp dword [0x746468]
fnstsw ax
test ah, 1
jne 0x5069e3
fstp dword [esi + 4]
jmp 0x506a64
mov ecx, dword [0x7c67dc]
call fcn.0050f590
fmul dword [0x7cebac]
fmul dword [0x7464f0]
fadd dword [esi]
fst dword [esi]
fcomp dword [0x7469c4]
fnstsw ax
test ah, 1
jne 0x506a3e
fld dword [esi]
fsub dword [0x7469c4]
fst dword [esi]
fcomp dword [0x7469c4]
fnstsw ax
test ah, 1
je 0x506a27
fld dword [esi]
fcomp dword [0x746468]
fnstsw ax
test ah, 1
je 0x506a64
fld dword [esi]
fadd dword [0x7469c4]
fst dword [esi]
fcomp dword [0x746468]
fnstsw ax
test ah, 1
jne 0x506a4d
mov ecx, dword [0x7cebec]
push 1
lea eax, [esp + 0x168]
push eax
call fcn.004e8450
push eax
mov ecx, edi
call fcn.0050e020
mov ecx, dword [0x7cebec]
test ecx, ecx
je 0x506a94
call fcn.004e4ce0
test eax, eax
jne 0x506aa1
push 1
push 0
push 0
mov ecx, edi
call fcn.006eb000
mov eax, dword [0x7cebec]
test eax, eax
je 0x50d62d
push eax
call fcn.004f7210
add esp, 4
test al, al
je 0x50d62d
jmp 0x5067b8
test edi, edi
je 0x50d62d
lea ecx, [esp + 0x68]
call fcn.0050f440
mov ecx, edi
call fcn.0050e030
push eax
mov ecx, 0x7ce970
call fcn.006e7cd0
movsx eax, byte [ebp + 0xc]
sub eax, 0x58
je 0x506b42
dec eax
je 0x506b1c
dec eax
jne 0x506b66
mov ecx, dword [0x7c67dc]
call fcn.0050f590
fmul dword [0x7cebac]
push ecx
lea ecx, [esp + 0x6c]
fmul dword [0x7464f0]
fstp dword [esp]
call fcn.006e7da0
jmp 0x506b66
mov ecx, dword [0x7c67dc]
call fcn.0050f590
fmul dword [0x7cebac]
push ecx
lea ecx, [esp + 0x6c]
fmul dword [0x7464f0]
fstp dword [esp]
call fcn.006e7d60
jmp 0x506b66
mov ecx, dword [0x7c67dc]
call fcn.0050f590
fmul dword [0x7cebac]
push ecx
lea ecx, [esp + 0x6c]
fmul dword [0x7464f0]
fstp dword [esp]
call fcn.006e7d20
push 0x7ce970
lea ecx, [esp + 0x21c]
push ecx
lea ecx, [esp + 0x70]
call fcn.006e80a0
push eax
mov ecx, 0x7ce970
call fcn.006e7cd0
push 0x7ce970
mov ecx, edi
call fcn.0050e020
mov ecx, dword [0x7cebec]
test ecx, ecx
je 0x506ba6
call fcn.004e4ce0
test eax, eax
jne 0x506bb3
push 1
push 0
push 0
mov ecx, edi
call fcn.006eb000
mov eax, dword [0x7cebec]
test eax, eax
je 0x50d62d
push eax
call fcn.004f7210
add esp, 4
test al, al
je 0x50d62d
mov eax, dword [0x7cebec]
mov ecx, dword [0x7c67dc]
mov ecx, dword [ecx + 0x5c]
xor edx, edx
mov dl, byte [0x7cebdd]
push edx
push eax
call fcn.00563a20
jmp 0x50d62d
fld dword [ebp + 0x10]
fcomp dword [0x746468]
fnstsw ax
test ah, 1
jne 0x506c15
mov edx, dword [ebp + 0x10]
push edx
call fcn.0050dff0
fstp dword [esp + 0x10]
add esp, 4
jmp 0x506c1d
mov dword [esp + 0xc], 0xbf800000
mov al, byte [0x7cebdc]
test al, al
je 0x50d62d
fld dword [esp + 0xc]
mov eax, dword [str.GetSquareRoot]
sub esp, 8
fstp qword [esp]
jmp 0x50d58e
test edi, edi
je 0x50d62d
mov ecx, edi
call fcn.004195e0
push eax
mov ecx, 0x7cea48
call fcn.0040a7e0
movsx eax, byte [ebp + 0xc]
sub eax, 0x58
je 0x506c7e
dec eax
je 0x506c73
dec eax
jne 0x506c88
mov edx, dword [0x7cea50]
mov dword [esp + 0xc], edx
jmp 0x506c88
mov eax, dword [0x7cea4c]
mov dword [esp + 0xc], eax
jmp 0x506c88
mov ecx, dword [0x7cea48]
mov dword [esp + 0xc], ecx
mov al, byte [0x7cebdc]
test al, al
je 0x50d62d
fld dword [esp + 0xc]
mov edx, dword [str.GetPos]
mov eax, dword [0x7c67dc]
sub esp, 8
fstp qword [esp]
push edx
push str._s_____0.2f
push eax
call fcn.0040f970
add esp, 0x14
jmp 0x50d62d
test edi, edi
je 0x50d62d
mov ecx, edi
call fcn.004195e0
push eax
mov ecx, 0x7cea48
call fcn.0040a7e0
movsx eax, byte [ebp + 0xc]
sub eax, 0x58
je 0x506d03
dec eax
je 0x506cf5
dec eax
jne 0x506d0d
mov ecx, dword [0x7cebac]
mov dword [0x7cea50], ecx
jmp 0x506d0d
mov edx, dword [0x7cebac]
mov dword [0x7cea4c], edx
jmp 0x506d0d
mov eax, dword [0x7cebac]
mov dword [0x7cea48], eax
push 0x7cea48
mov ecx, edi
call fcn.0050e000
mov ecx, dword [0x7cebec]
test ecx, ecx
je 0x506d2c
call fcn.004e4ce0
test eax, eax
jne 0x506d39
push 1
push 0
push 0
mov ecx, edi
call fcn.006eb000
mov ecx, dword [0x7cebec]
test ecx, ecx
je 0x50d62d
push 0x7cea48
call fcn.0045e5c0
mov ecx, eax
add ecx, 0x10
call fcn.0040a7e0
jmp 0x50d62d
test ecx, ecx
je 0x506d9b
movsx eax, byte [ebp + 0xc]
sub eax, 0x58
je 0x506d8f
dec eax
je 0x506d81
dec eax
jne 0x506d9b
call fcn.0045e5c0
mov ecx, dword [eax + 0x18]
mov dword [esp + 0xc], ecx
jmp 0x506d9b
call fcn.0045e5c0
mov edx, dword [eax + 0x14]
mov dword [esp + 0xc], edx
jmp 0x506d9b
call fcn.0045e5c0
mov eax, dword [eax + 0x10]
mov dword [esp + 0xc], eax
mov al, byte [0x7cebdc]
test al, al
je 0x50d62d
fld dword [esp + 0xc]
mov ecx, dword [str.GetStartingPos]
mov edx, dword [0x7c67dc]
sub esp, 8
fstp qword [esp]
push ecx
push str._s_____0.2f
push edx
call fcn.0040f970
add esp, 0x14
jmp 0x50d62d
movsx eax, byte [ebp + 0xc]
sub eax, 0x58
je 0x506e05
dec eax
je 0x506df3
dec eax
jne 0x506e1e
lea eax, [esp + 0xe0]
push eax
call fcn.004e58f0
fld dword [eax + 8]
jmp 0x506e14
lea edx, [esp + 0xc8]
push edx
call fcn.004e58f0
fld dword [eax + 4]
jmp 0x506e14
lea eax, [esp + 0xf8]
push eax
call fcn.004e58f0
fld dword [eax]
fmul dword [0x74a280]
fstp dword [esp + 0xc]
mov al, byte [0x7cebdc]
test al, al
je 0x50d62d
fld dword [esp + 0xc]
mov ecx, dword [str.GetAngle]
mov edx, dword [0x7c67dc]
sub esp, 8
fstp qword [esp]
push ecx
push str._s_____0.2f
push edx
call fcn.0040f970
add esp, 0x14
jmp 0x50d62d
movsx eax, byte [ebp + 0xc]
sub eax, 0x58
je 0x506ea0
dec eax
je 0x506e82
dec eax
jne 0x506ec1
fld dword [0x7cebac]
fmul dword [0x7464f0]
fstp dword [esp + 0x1c]
call fcn.004e5970
mov ecx, dword [esp + 0x1c]
mov dword [eax + 8], ecx
jmp 0x506ebb
fld dword [0x7cebac]
fmul dword [0x7464f0]
fstp dword [esp + 0x1c]
call fcn.004e5970
mov edx, dword [esp + 0x1c]
mov dword [eax + 4], edx
jmp 0x506ebb
fld dword [0x7cebac]
fmul dword [0x7464f0]
fstp dword [esp + 0x1c]
call fcn.004e5970
mov ecx, dword [esp + 0x1c]
mov dword [eax], ecx
mov ecx, dword [0x7cebec]
test edi, edi
je 0x50d62d
push 1
lea edx, [esp + 0x1d4]
push edx
call fcn.004e8450
push eax
mov ecx, edi
call fcn.0050e020
jmp 0x50677b
movsx eax, byte [ebp + 0xc]
sub eax, 0x58
je 0x506f08
dec eax
je 0x506efe
dec eax
jne 0x506f1a
call fcn.0045e5c0
fld dword [eax + 0xc]
jmp 0x506f10
call fcn.0045e5c0
fld dword [eax + 8]
jmp 0x506f10
call fcn.0045e5c0
fld dword [eax + 4]
fmul dword [0x74a280]
fstp dword [esp + 0xc]
mov al, byte [0x7cebdc]
test al, al
je 0x50d62d
fld dword [esp + 0xc]
mov eax, dword [str.GetStartingAngle]
sub esp, 8
fstp qword [esp]
jmp 0x50d58e
test edi, edi
je 0x50d62d
lea ecx, [esp + 0x68]
call fcn.0050f440
push 0x7de664
mov ecx, 0x7ce970
call fcn.006e7cd0
mov ecx, dword [0x7cebec]
call fcn.0045e5c0
sub esp, 0xc
add eax, 0x10
mov ecx, esp
mov dword [esp + 0x1c], esp
push eax
call fcn.0040a7e0
mov ecx, dword [0x7cebec]
lea edx, [esp + 0x14c]
push edx
call fcn.004e59f0
mov ecx, dword [0x7cebec]
call fcn.0045e5c0
sub esp, 0xc
add eax, 4
mov ecx, esp
mov dword [esp + 0x1c], esp
push eax
call fcn.0040a7e0
mov ecx, dword [0x7cebec]
lea eax, [esp + 0x11c]
push eax
call fcn.004e59a0
lea ecx, [esp + 0x158]
push ecx
mov ecx, dword [0x7cebec]
call fcn.004e58f0
mov edx, dword [eax]
push edx
lea ecx, [esp + 0x6c]
call fcn.006e7d20
push 0x7ce970
lea eax, [esp + 0x18c]
push eax
lea ecx, [esp + 0x70]
call fcn.006e80a0
push eax
mov ecx, 0x7ce970
call fcn.006e7cd0
lea ecx, [esp + 0x14c]
push ecx
mov ecx, dword [0x7cebec]
call fcn.004e58f0
mov edx, dword [eax + 4]
push edx
lea ecx, [esp + 0x6c]
call fcn.006e7d60
push 0x7ce970
lea eax, [esp + 0x1b0]
push eax
lea ecx, [esp + 0x70]
call fcn.006e80a0
push eax
mov ecx, 0x7ce970
call fcn.006e7cd0
lea ecx, [esp + 0x134]
push ecx
mov ecx, dword [0x7cebec]
call fcn.004e58f0
mov edx, dword [eax + 8]
push edx
lea ecx, [esp + 0x6c]
call fcn.006e7da0
push 0x7ce970
lea eax, [esp + 0x1f8]
push eax
lea ecx, [esp + 0x70]
call fcn.006e80a0
push eax
mov ecx, 0x7ce970
call fcn.006e7cd0
lea ecx, [esp + 0x11c]
push ecx
mov ecx, dword [0x7cebec]
call fcn.004e5930
push eax
mov ecx, edi
call fcn.0050e000
push 0x7ce970
mov ecx, edi
call fcn.0050e020
mov ecx, dword [0x7cebec]
test ecx, ecx
je 0x5070bb
call fcn.004e4ce0
test eax, eax
jne 0x50d62d
push 1
push 0
push 0
mov ecx, edi
call fcn.006eb000
jmp 0x50d62d
mov edx, dword [0x7c67dc]
mov ecx, dword [edx + 0xa8]
call fcn.0050f570
fstp dword [esp + 0xc]
mov al, byte [0x7cebdc]
test al, al
je 0x50d62d
fld dword [esp + 0xc]
mov eax, dword [str.GetCurrentTime]
sub esp, 8
fstp qword [esp]
jmp 0x50d58e
mov ecx, dword [0x7c67dc]
call fcn.0050f590
fstp dword [esp + 0xc]
mov al, byte [0x7cebdc]
test al, al
je 0x50d62d
fld dword [esp + 0xc]
mov edx, dword [str.GetSecondsPassed]
mov eax, dword [0x7c67dc]
sub esp, 8
fstp qword [esp]
push edx
push str._s_____0.2f
push eax
call fcn.0040f970
add esp, 0x14
jmp 0x50d62d
test ecx, ecx
je 0x50d62d
test esi, esi
je 0x50d62d
mov edx, dword [esi]
push 1
mov ecx, esi
call dword [edx + 0x50]
jmp 0x50d62d
test ecx, ecx
je 0x50d62d
call fcn.004e4ce0
test eax, eax
je 0x50d62d
test esi, esi
je 0x507195
mov al, byte [0x7a91c0]
test al, al
jne 0x50718c
push 0
jmp 0x50718e
push 1
mov ecx, esi
call fcn.0050f840
mov eax, dword [0x7cebe0]
xor ecx, ecx
mov cl, byte [0x7a91c0]
push 0xffffffffffffffff
push eax
push 0
push ecx
mov ecx, dword [0x7cebec]
call fcn.004e4ce0
mov ecx, eax
call fcn.00470ae0
jmp 0x50c5fb
test ecx, ecx
je 0x50d62d
call fcn.004e4ce0
test eax, eax
je 0x50d62d
test esi, esi
je 0x5071ee
mov al, byte [0x7a91c0]
test al, al
jne 0x5071e5
push 0
jmp 0x5071e7
push 1
mov ecx, esi
call fcn.0050f840
mov eax, dword [0x7cebd8]
mov ecx, dword [0x7cebe0]
xor edx, edx
mov dl, byte [0x7a91c0]
push eax
push ecx
mov ecx, dword [0x7cebec]
push 0
push edx
call fcn.004e4ce0
mov ecx, eax
call fcn.00470ae0
mov al, byte [0x7cebdd]
test al, al
jne 0x50d62d
mov ecx, dword [0x7cebec]
mov eax, dword [ecx]
push 1
call dword [eax + 0x14]
jmp 0x50d62d
test ecx, ecx
je 0x50d62d
call fcn.004e4ce0
test eax, eax
je 0x50d62d
mov ecx, dword [0x7cebec]
push 0xffff
call fcn.004e4ce0
mov ecx, eax
call fcn.0046c850
jmp 0x50d62d
test ecx, ecx
je 0x50d62d
push 1
call fcn.004e55a0
mov ecx, dword [0x7cebec]
push 2
call fcn.004e55a0
mov ecx, dword [0x7cebec]
push 1
call fcn.004e5650
mov ecx, dword [0x7cebec]
push eax
call fcn.004e9610
mov ecx, dword [0x7cebec]
push 2
call fcn.004e55e0
jmp 0x50d62d
test ecx, ecx
je 0x50d62d
push 2
call fcn.004e5520
mov ecx, dword [0x7cebec]
push 1
and eax, 0xff
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fstp dword [esp + 0x10]
call fcn.004e55e0
mov ecx, dword [0x7cebec]
push 2
call fcn.004e55e0
jmp 0x50d62d
mov eax, dword [0x7ce6f8]
test eax, eax
mov dword [0x7cec04], eax
je 0x50d62d
lea ecx, [eax + 4]
call fcn.004ee8b0
cmp eax, 0x52464552
jne 0x50d62d
mov ecx, dword [0x7cec04]
call fcn.0045e5c0
mov ecx, dword [eax]
add ecx, 4
call fcn.004ee8b0
cmp eax, 0x5f43504e
je 0x50734f
mov ecx, dword [0x7cec04]
call fcn.0045e5c0
mov ecx, dword [eax]
add ecx, 4
call fcn.004ee8b0
cmp eax, 0x41455243
jne 0x50d62d
test esi, esi
je 0x50d62d
mov ecx, dword [0x7cec04]
call fcn.004e5750
mov edi, eax
test edi, edi
je 0x50d62d
mov ecx, esi
call fcn.0050f710
test al, al
je 0x50738e
push edi
mov ecx, esi
call fcn.00521b60
mov ecx, eax
call fcn.0047e7d0
test al, al
jne 0x50d62d
push 1
mov ecx, esi
call fcn.00556e50
mov ecx, edi
call fcn.00556de0
cmp eax, 0xffffffff
je 0x5073a7
test eax, eax
jne 0x5073b9
push 0
mov ecx, edi
call fcn.00556e50
push 1
mov ecx, edi
call fcn.0050f670
push edi
mov ecx, esi
call fcn.00530470
jmp 0x50d62d
test esi, esi
je 0x50d62d
mov ecx, esi
call fcn.0050f710
test al, al
je 0x50d62d
mov ecx, esi
call fcn.005564f0
jmp 0x50d62d
push ecx
mov ecx, dword [0x7ce6f8]
push ecx
mov ecx, dword [0x7c67dc]
call fcn.0040fa80
jmp 0x50d62d
mov edx, dword [0x7ce6f8]
mov ecx, dword [0x7c67dc]
push edx
call fcn.0040fb00
jmp 0x50d62d
mov eax, dword [ebp + 0x10]
test eax, eax
jne 0x507439
cmp byte [0x7ce6fd], 0x4d
jne 0x50d62d
mov eax, dword [0x7ce6ff]
test eax, eax
je 0x50d62d
mov ecx, dword [0x7c67dc]
push eax
call fcn.0040fb90
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
mov al, byte [0x7cebdc]
test al, al
fstp dword [esp + 0xc]
je 0x50d62d
fld dword [esp + 0xc]
mov eax, dword [str.ScriptRunning]
mov ecx, dword [0x7c67dc]
sub esp, 8
fstp qword [esp]
push eax
push str._s_____0.0f
push ecx
call fcn.0040f970
add esp, 0x14
jmp 0x50d62d
mov ecx, dword [0x7c67e0]
call fcn.0050e4d0
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
mov al, byte [0x7cebdc]
test al, al
fstp dword [esp + 0xc]
je 0x50d62d
fld dword [esp + 0xc]
mov edx, dword [str.CellChanged]
mov eax, dword [0x7c67dc]
sub esp, 8
fstp qword [esp]
push edx
push str._s_____0.0f
push eax
call fcn.0040f970
add esp, 0x14
jmp 0x50d62d
mov ecx, dword [0x7c67dc]
call fcn.0050f900
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
mov al, byte [0x7cebdc]
test al, al
fstp dword [esp + 0xc]
je 0x50d62d
fld dword [esp + 0xc]
mov ecx, dword [str.MenuMode]
mov edx, dword [0x7c67dc]
sub esp, 8
fstp qword [esp]
push ecx
push str._s_____0.0f
push edx
call fcn.0040f970
add esp, 0x14
jmp 0x50d62d
push 0
call fcn.0047b3b0
cdq
add esp, 4
idiv dword [ebp + 0x10]
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fstp dword [esp + 0xc]
jmp 0x50d62d
mov eax, dword [0x7ce6f8]
mov ecx, dword [0x7c67dc]
push eax
call fcn.0040ff20
mov ecx, eax
call fcn.0056a470
jmp 0x50d62d
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
mov ecx, eax
call fcn.0056b8a0
fstp dword [esp + 0xc]
mov al, byte [0x7cebdc]
test al, al
je 0x50d62d
fld dword [esp + 0xc]
mov eax, dword [str.GetPCVisionBonus]
sub esp, 8
fstp qword [esp]
jmp 0x50d58e
test esi, esi
je 0x50d62d
mov edx, dword [ebp + 8]
lea ecx, [edx - 0x1023]
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
push edx
mov ecx, esi
call fcn.0050f720
mov edx, dword [eax]
mov ecx, eax
call dword [edx]
fstp dword [esp + 0xc]
mov al, byte [0x7cebdc]
test al, al
je 0x50d62d
mov eax, dword [esp + 0x20]
fld dword [esp + 0xc]
sub esp, 8
lea eax, [eax + eax*2]
fstp qword [esp]
mov ecx, dword [eax*4 + 0x7a9540]
mov edx, dword [0x7c67dc]
push ecx
push str._s_____0.2f
push edx
call fcn.0040f970
add esp, 0x14
jmp 0x50d62d
test esi, esi
je 0x50d62d
mov eax, dword [ebp + 8]
mov edi, dword [esi]
lea ecx, [eax - 0x103b]
mov eax, 0x55555556
imul ecx
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
push edx
mov ecx, esi
call dword [edi + 0xd0]
jmp 0x5075cb
test esi, esi
je 0x507653
mov ecx, esi
call fcn.0050f740
mov edx, dword [eax]
mov ecx, eax
call dword [edx]
jmp 0x507670
test ecx, ecx
je 0x507674
call fcn.0045e5c0
mov eax, dword [eax]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xa8]
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fstp dword [esp + 0xc]
mov al, byte [0x7cebdc]
test al, al
je 0x50d62d
fld dword [esp + 0xc]
mov eax, dword [str.GetHealth]
sub esp, 8
fstp qword [esp]
jmp 0x50d58e
test esi, esi
je 0x50d62d
mov ecx, esi
call fcn.0050f740
mov ecx, eax
call fcn.004012b0
fstp dword [esp + 0xc]
mov al, byte [0x7cebdc]
test al, al
je 0x50d62d
fld dword [esp + 0xc]
mov edx, dword [str.GetHealthGetRatio]
mov eax, dword [0x7c67dc]
sub esp, 8
fstp qword [esp]
push edx
push str._s_____0.2f
push eax
call fcn.0040f970
add esp, 0x14
jmp 0x50d62d
test esi, esi
je 0x50d62d
mov ecx, esi
call fcn.0050f750
mov edx, dword [eax]
mov ecx, eax
call dword [edx]
fstp dword [esp + 0xc]
mov al, byte [0x7cebdc]
test al, al
je 0x50d62d
fld dword [esp + 0xc]
mov eax, dword [str.GetMagicka]
sub esp, 8
fstp qword [esp]
jmp 0x50d58e
test esi, esi
je 0x50d62d
mov ecx, esi
call fcn.0050f760
mov edx, dword [eax]
mov ecx, eax
call dword [edx]
fstp dword [esp + 0xc]
mov al, byte [0x7cebdc]
test al, al
je 0x50d62d
fld dword [esp + 0xc]
mov eax, dword [str.GetFatigue]
sub esp, 8
fstp qword [esp]
jmp 0x50d58e
test eax, eax
je 0x50d62d
lea ecx, [eax + 4]
call fcn.004ee8b0
cmp eax, 0x5f43504e
jne 0x50d62d
mov ecx, dword [0x7cebf4]
mov edx, dword [ecx]
call dword [edx + 0x84]
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
mov al, byte [0x7cebdc]
test al, al
fstp dword [esp + 0xc]
je 0x50d62d
fld dword [esp + 0xc]
mov eax, dword [str.GetReputation]
sub esp, 8
fstp qword [esp]
jmp 0x50d58e
test eax, eax
je 0x50d62d
lea ecx, [eax + 4]
call fcn.004ee8b0
cmp eax, 0x5f43504e
jne 0x50d62d
test esi, esi
je 0x5077e2
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x10c]
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
jmp 0x5077f7
mov ecx, dword [0x7cebf4]
push 1
call fcn.004da330
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
mov al, byte [0x7cebdc]
fstp dword [esp + 0xc]
test al, al
je 0x50d62d
fld dword [esp + 0xc]
mov eax, dword [str.GetDisposition]
sub esp, 8
fstp qword [esp]
jmp 0x50d58e
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
mov ecx, eax
call fcn.005688b0
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
mov al, byte [0x7cebdc]
test al, al
fstp dword [esp + 0xc]
je 0x50d62d
fld dword [esp + 0xc]
mov edx, dword [str.GetPCCrimeLevel]
mov eax, dword [0x7c67dc]
sub esp, 8
fstp qword [esp]
push edx
push str._s_____0.2f
push eax
call fcn.0040f970
add esp, 0x14
jmp 0x50d62d
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
test eax, eax
je 0x50d62d
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
mov ecx, eax
call fcn.0050f5a0
test al, al
jmp 0x50b9cf
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
test eax, eax
je 0x50d62d
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
mov ecx, eax
call fcn.0050f5b0
test al, al
jmp 0x50b9cf
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
test eax, eax
je 0x50d62d
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
mov ecx, eax
call fcn.0050f5c0
test al, al
jmp 0x50b9cf
test ecx, ecx
je 0x50d62d
mov edx, dword [ecx]
call dword [edx + 0x120]
fstp dword [esp + 0xc]
mov al, byte [0x7cebdc]
test al, al
je 0x50d62d
fld dword [esp + 0xc]
mov eax, dword [str.GetScale]
sub esp, 8
fstp qword [esp]
jmp 0x50d58e
test ecx, ecx
je 0x50d62d
fld dword [0x7cebac]
mov edx, dword [ecx]
push 0
push ecx
fstp dword [esp]
call dword [edx + 0x124]
jmp 0x507218
test ecx, ecx
je 0x50d62d
mov edx, dword [ecx]
call dword [edx + 0x120]
fadd dword [0x7cebac]
mov ecx, dword [0x7cebec]
mov eax, dword [ecx]
push 0
push ecx
fstp dword [esp]
call dword [eax + 0x124]
jmp 0x50c5fb
mov ecx, dword [0x7c67e0]
call fcn.0048e350
mov ecx, eax
call fcn.004e28b0
fstp dword [esp + 0xc]
mov al, byte [0x7cebdc]
test al, al
je 0x50d62d
fld dword [esp + 0xc]
mov eax, dword [str.GetWaterLevel]
sub esp, 8
fstp qword [esp]
jmp 0x50d58e
mov ecx, dword [0x7c67e0]
call fcn.0048e350
mov esi, eax
mov ecx, esi
call fcn.004e28b0
fstp dword [esp + 0x10]
mov edx, dword [0x7cebac]
mov eax, edx
push eax
mov ecx, esi
mov dword [esp + 0x24], edx
call fcn.004e2890
mov ecx, dword [0x7c67e0]
call fcn.0048a540
fld dword [esp + 0x20]
fsub dword [esp + 0x10]
push ecx
fstp dword [esp]
call fcn.0050f0a0
add esp, 4
jmp 0x50d62d
mov ecx, dword [0x7c67e0]
call fcn.0048e350
mov esi, eax
mov ecx, esi
call fcn.004e28b0
fadd dword [0x7cebac]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.004e2890
mov ecx, dword [0x7c67e0]
call fcn.0048a540
mov ecx, dword [0x7cebac]
push ecx
call fcn.0050f0a0
add esp, 4
jmp 0x50d62d
mov edx, dword [0x7c67dc]
mov byte [edx + 0xe1], 0
mov al, byte [0x7cebdc]
test al, al
je 0x50d62d
mov eax, dword [0x7c67dc]
push str.Levitate_:_Enabled
push eax
call fcn.0040f970
add esp, 8
jmp 0x50d62d
mov ecx, dword [0x7c67dc]
push 0x64
push 0xa
call fcn.0040ff20
mov ecx, eax
call fcn.00467350
mov ecx, dword [0x7c67dc]
mov ecx, dword [ecx + 0x70]
push eax
call fcn.00455880
mov ecx, dword [0x7c67dc]
push 0x11
call fcn.0040ff20
mov ecx, eax
call fcn.0050f7b0
test eax, eax
je 0x507b1d
mov ecx, dword [0x7c67dc]
push 0
push 0x11
call fcn.0040ff20
mov ecx, eax
call fcn.0050f7c0
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
mov edx, dword [eax]
push 0
mov ecx, eax
call dword [edx + 0x68]
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
mov ecx, eax
call fcn.0050f5d0
test al, al
jne 0x507b1d
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
mov ecx, eax
call fcn.0050f5e0
test al, al
jne 0x507b1d
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
mov edx, dword [eax]
push 1
mov ecx, eax
call dword [edx + 0x50]
mov eax, dword [0x7c67dc]
mov byte [eax + 0xe1], 1
mov al, byte [0x7cebdc]
test al, al
je 0x50d62d
mov ecx, dword [0x7c67dc]
push str.Levitate_:_Disabled
push ecx
call fcn.0040f970
add esp, 8
jmp 0x50d62d
test esi, esi
mov dword [esp + 0xc], 0xbf800000
je 0x507b84
mov ecx, esi
call fcn.00521610
mov ecx, eax
call fcn.00496eb0
test eax, eax
je 0x507b84
mov ecx, dword [eax]
call fcn.0050fcc0
movsx edx, byte [eax + 8]
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fstp dword [esp + 0xc]
mov al, byte [0x7cebdc]
test al, al
je 0x50d62d
fld dword [esp + 0xc]
mov eax, dword [str.GetWeaponType]
sub esp, 8
fstp qword [esp]
jmp 0x50d58e
test esi, esi
mov dword [esp + 0xc], 0xbf800000
je 0x507bee
mov edi, dword [ebp + 0x10]
test edi, edi
jl 0x507bee
fild dword [ebp + 0x10]
fcomp dword [0x74a9b4]
fnstsw ax
test ah, 1
je 0x507bee
mov ecx, esi
call fcn.00521610
push edi
mov ecx, eax
call fcn.00496e60
test eax, eax
je 0x507bee
mov ecx, dword [eax]
call fcn.004a0f30
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fstp dword [esp + 0xc]
mov al, byte [0x7cebdc]
test al, al
je 0x50d62d
fld dword [esp + 0xc]
mov edx, dword [str.GetArmorType]
mov eax, dword [0x7c67dc]
sub esp, 8
fstp qword [esp]
push edx
push str._s_____0.2f
push eax
call fcn.0040f970
add esp, 0x14
jmp 0x50d62d
test esi, esi
je 0x507c54
mov ecx, esi
call fcn.00521610
mov edx, dword [ebp + 0x10]
test edx, edx
jne 0x507c40
mov edx, dword [0x7ce6f8]
test edx, edx
je 0x507c54
push edx
mov ecx, eax
call fcn.00496dd0
test eax, eax
je 0x507c54
mov dword [esp + 0xc], 0x3f800000
mov al, byte [0x7cebdc]
test al, al
je 0x50d62d
fld dword [esp + 0xc]
mov ecx, dword [str.HasItemEquipped]
sub esp, 8
fstp qword [esp]
jmp 0x5075fa
test esi, esi
je 0x50d62d
mov eax, dword [ebp + 8]
lea ecx, [eax - 0x10a2]
mov eax, 0x55555556
imul ecx
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
push edx
mov ecx, esi
call fcn.0050f7b0
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
mov al, byte [0x7cebdc]
fstp dword [esp + 0xc]
test al, al
je 0x50d62d
mov eax, dword [esp + 0x20]
fld dword [esp + 0xc]
sub esp, 8
lea edx, [eax + eax*2]
fstp qword [esp]
mov eax, dword [edx*4 + 0x7a9540]
jmp 0x50d58e
test esi, esi
je 0x50d62d
mov edx, dword [ebp + 8]
lea ecx, [edx - 0x1167]
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
lea ecx, [edx + eax + 0xd]
push ecx
mov ecx, esi
call fcn.0050f7b0
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
jmp 0x507ca5
test esi, esi
je 0x50d62d
mov edx, dword [ebp + 8]
lea ecx, [edx - 0x1024]
mov eax, 0x55555556
imul ecx
mov ecx, dword [0x7cebac]
mov eax, edx
shr eax, 0x1f
add edx, eax
push ecx
mov edi, edx
push edi
mov ecx, esi
call fcn.0050f720
mov ecx, eax
call fcn.00401290
push edi
mov ecx, esi
call fcn.0050f720
push eax
mov ecx, esi
call fcn.00527bc0
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
cmp esi, eax
jne 0x50d62d
call fcn.005cd1b0
push edi
mov ecx, esi
call fcn.0050f720
mov edx, dword [eax]
push edi
mov ecx, eax
call dword [edx]
push ecx
fstp dword [esp]
call fcn.00626410
add esp, 8
jmp 0x50d62d
test esi, esi
je 0x50d62d
mov eax, dword [0x7cebac]
mov ecx, dword [ebp + 8]
mov edi, dword [esi]
push eax
add ecx, 0xffffefc4
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
push edx
mov ecx, esi
call dword [edi + 0xd0]
mov ecx, eax
call fcn.00401290
jmp 0x50d4d8
cmp dword [0x7cec0c], 1
je 0x507e9e
test ecx, ecx
je 0x507e9e
call fcn.004e5460
test eax, eax
je 0x507df7
mov ecx, dword [0x7cebec]
call fcn.004e5460
mov ecx, dword [esp + 0x2c]
cmp dword [eax + 0x14], ecx
je 0x507e9e
mov ecx, dword [0x7cebec]
call fcn.0045e5c0
mov eax, dword [eax]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xa8]
mov ecx, dword [0x7cebec]
mov dword [esp + 0x10], eax
call fcn.0045e5c0
fld dword [0x7cebac]
mov edi, dword [eax]
mov ebx, dword [edi]
call sub.MSVCRT.dll__ftol
push eax
mov ecx, edi
call dword [ebx + 0xa4]
mov ecx, dword [0x7cebec]
call fcn.0045e5c0
mov eax, dword [eax]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xa8]
cmp dword [esp + 0x10], eax
je 0x507e9e
mov ecx, dword [0x7cebec]
call fcn.0045e5c0
mov eax, dword [eax]
mov edx, dword [eax]
push 1
mov ecx, eax
call dword [edx + 0x14]
mov ecx, dword [0x7cebec]
call fcn.0045e5c0
mov ecx, dword [eax]
call fcn.004f0ff0
test al, al
je 0x507e9e
mov ecx, dword [0x7cebec]
call fcn.0045e5c0
mov eax, dword [eax]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x14c]
mov edx, dword [eax]
push 1
mov ecx, eax
call dword [edx + 0x14]
test esi, esi
je 0x50d62d
mov eax, dword [0x7cebac]
push eax
mov ecx, esi
call fcn.0050f740
mov ecx, eax
call fcn.00401290
mov ecx, esi
call fcn.0050f740
mov edx, dword [eax]
mov ecx, eax
call dword [edx]
fcomp dword [0x746470]
fnstsw ax
test ah, 0x41
je 0x507f6b
mov ecx, esi
call fcn.0050f6e0
test al, al
jne 0x507f6b
mov ecx, esi
call fcn.0050f5f0
test al, al
je 0x507f00
mov ecx, esi
call fcn.005264b0
mov ecx, eax
call fcn.0053f120
mov ecx, esi
call fcn.0052c990
mov eax, dword [0x7c67dc]
mov ecx, dword [eax + 0x2dc]
call fcn.004350a0
mov ecx, dword [0x7c67dc]
mov ecx, dword [ecx + 0x2dc]
call fcn.00435110
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x20]
push 0x12
lea ecx, [esi + 0xcc]
call fcn.0050f650
push 1
push 0
mov ecx, esi
call fcn.0050f740
mov ecx, eax
call fcn.00401250
push 0
mov ecx, esi
call fcn.0052d360
mov ecx, esi
call fcn.0050f5f0
test al, al
je 0x507f6b
push 4
mov ecx, esi
call fcn.00528f80
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
cmp esi, eax
jne 0x50d62d
mov ecx, esi
call fcn.0050f740
mov ecx, esi
mov edi, eax
call fcn.0050f740
mov ecx, eax
call fcn.00401030
mov eax, dword [edi]
push ecx
mov ecx, edi
fstp dword [esp]
call dword [eax]
push ecx
fstp dword [esp]
call fcn.0050fbb0
add esp, 8
jmp 0x50d62d
test esi, esi
je 0x50d62d
mov ecx, dword [0x7cebac]
push ecx
mov ecx, esi
call fcn.0050f750
mov ecx, eax
call fcn.00401290
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
cmp esi, eax
jne 0x50d62d
mov ecx, esi
call fcn.0050f750
mov ecx, esi
mov edi, eax
call fcn.0050f750
mov ecx, eax
call fcn.00401030
mov edx, dword [edi]
push ecx
mov ecx, edi
fstp dword [esp]
call dword [edx]
push ecx
fstp dword [esp]
call fcn.0050fbd0
add esp, 8
jmp 0x50d62d
test esi, esi
je 0x50d62d
mov eax, dword [0x7cebac]
push eax
mov ecx, esi
call fcn.0050f760
mov ecx, eax
call fcn.00401290
mov ecx, esi
call fcn.0050f760
mov edx, dword [eax]
mov ecx, eax
call dword [edx]
fcomp dword [0x746468]
fnstsw ax
test ah, 0x41
je 0x508526
jmp 0x508509
lea ecx, [eax + 4]
call fcn.004ee8b0
cmp eax, 0x5f43504e
jne 0x50d62d
mov esi, dword [0x7cebf4]
fld dword [0x7cebac]
mov edi, dword [esi]
call sub.MSVCRT.dll__ftol
push eax
mov ecx, esi
call dword [edi + 0x88]
mov al, byte [0x7cebdd]
test al, al
jne 0x508096
mov ecx, dword [0x7cebf4]
mov edx, dword [ecx]
push 1
call dword [edx + 0x14]
test ebx, ebx
je 0x50d62d
mov ecx, ebx
call fcn.0050f700
cmp eax, 2
jmp 0x50d4e5
lea ecx, [eax + 4]
call fcn.004ee8b0
cmp eax, 0x5f43504e
jne 0x50d62d
mov eax, dword [0x7cebf4]
fld dword [0x7cebac]
mov edi, dword [eax]
call sub.MSVCRT.dll__ftol
mov ecx, dword [0x7cebf4]
push eax
call dword [edi + 0x7c]
mov al, byte [0x7cebdd]
test al, al
jne 0x508633
jmp 0x508626
fld dword [0x7cebac]
call sub.MSVCRT.dll__ftol
mov ecx, dword [0x7c67dc]
push eax
call fcn.0040ff20
mov ecx, eax
call fcn.005688d0
jmp 0x50d62d
test esi, esi
je 0x50d62d
fld dword [0x7cebac]
call sub.MSVCRT.dll__ftol
mov ecx, dword [ebp + 8]
push eax
add ecx, 0xffffef5d
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
push edx
mov ecx, esi
call fcn.0050f7c0
jmp 0x50d62d
test esi, esi
je 0x50d62d
fld dword [0x7cebac]
call sub.MSVCRT.dll__ftol
mov ecx, dword [ebp + 8]
push eax
add ecx, 0xffffee98
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
lea ecx, [edx + eax + 0xd]
push ecx
mov ecx, esi
call fcn.0050f7c0
jmp 0x50d62d
mov edx, dword [0x7cebac]
push edx
jmp 0x5081ad
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
mov ecx, eax
call fcn.0056b8a0
fadd dword [0x7cebac]
fstp dword [esp + 0x10]
mov eax, dword [esp + 0x10]
push eax
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
mov ecx, eax
call fcn.0056b830
jmp 0x50d62d
test esi, esi
je 0x50d62d
mov ecx, dword [0x7cebac]
mov edi, dword [ebp + 8]
push 1
push 1
push ecx
lea ecx, [edi - 0x1025]
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
push edx
mov ecx, esi
call fcn.0050f720
mov ecx, eax
call fcn.00401060
lea ecx, [edi - 0x1024]
mov eax, 0x55555556
imul ecx
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
mov edi, edx
jmp 0x507d3d
test esi, esi
je 0x50d62d
mov eax, dword [0x7cebac]
mov ecx, dword [ebp + 8]
mov edi, dword [esi]
push 1
push 1
push eax
add ecx, 0xffffefc3
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
push edx
mov ecx, esi
call dword [edi + 0xd0]
mov ecx, eax
call fcn.00401060
jmp 0x50d4d8
test esi, esi
je 0x50d62d
mov ecx, dword [0x7cebac]
push 0
push 1
push ecx
mov ecx, esi
call fcn.0050f740
mov ecx, eax
call fcn.00401060
mov ecx, esi
call fcn.0050f740
mov edx, dword [eax]
mov ecx, eax
call dword [edx]
fcomp dword [0x746470]
fnstsw ax
test ah, 0x41
je 0x5082f3
mov ecx, esi
call fcn.0050f5f0
test al, al
je 0x5082ac
mov ecx, esi
call fcn.005264b0
mov ecx, eax
call fcn.0053f120
lea edi, [esi + 0xcc]
push 0x12
mov ecx, edi
call fcn.0050f650
push 0xf
mov ecx, edi
call fcn.0050f640
push 1
push 0
mov ecx, esi
call fcn.0050f740
mov ecx, eax
call fcn.00401250
push 0
mov ecx, esi
call fcn.0052d360
mov ecx, esi
call fcn.0050f5f0
test al, al
je 0x5082f3
push 4
mov ecx, esi
call fcn.00528f80
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
cmp esi, eax
jne 0x50d62d
mov ecx, esi
call fcn.0050f740
mov ecx, esi
mov edi, eax
call fcn.0050f740
mov ecx, eax
call fcn.00401030
mov eax, dword [edi]
push ecx
mov ecx, edi
fstp dword [esp]
call dword [eax]
push ecx
fstp dword [esp]
call fcn.0050fbb0
add esp, 8
jmp 0x50d62d
test esi, esi
je 0x50d62d
mov ecx, dword [0x7cebac]
push 0
push 1
push ecx
mov ecx, esi
call fcn.0050f750
mov ecx, eax
call fcn.00401060
jmp 0x507fcd
test esi, esi
je 0x50d62d
mov eax, dword [0x7cebac]
push 0
push 0
push eax
mov ecx, esi
call fcn.0050f760
mov ecx, eax
call fcn.00401060
jmp 0x50802e
test esi, esi
je 0x50d62d
mov ecx, dword [0x7cebac]
push 0
push 1
push 1
push ecx
mov ecx, esi
call fcn.0050f740
mov ecx, eax
call fcn.00401150
mov ecx, esi
call fcn.0050f740
mov edx, dword [eax]
mov ecx, eax
call dword [edx]
fcomp dword [0x746470]
fnstsw ax
test ah, 0x41
je 0x508420
mov ecx, esi
call fcn.0050f5f0
test al, al
je 0x5083d9
mov ecx, esi
call fcn.005264b0
mov ecx, eax
call fcn.0053f120
lea edi, [esi + 0xcc]
push 0x12
mov ecx, edi
call fcn.0050f650
push 0xf
mov ecx, edi
call fcn.0050f640
push 1
push 0
mov ecx, esi
call fcn.0050f740
mov ecx, eax
call fcn.00401250
push 0
mov ecx, esi
call fcn.0052d360
mov ecx, esi
call fcn.0050f5f0
test al, al
je 0x508420
push 4
mov ecx, esi
call fcn.00528f80
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
cmp esi, eax
jne 0x50d62d
mov ecx, esi
call fcn.0050f740
mov ecx, esi
mov edi, eax
call fcn.0050f740
mov ecx, eax
call fcn.00401030
mov eax, dword [edi]
push ecx
mov ecx, edi
fstp dword [esp]
call dword [eax]
push ecx
fstp dword [esp]
call fcn.0050fbb0
add esp, 8
jmp 0x50d62d
test esi, esi
je 0x50d62d
mov ecx, dword [0x7cebac]
push 0
push 1
push 1
push ecx
mov ecx, esi
call fcn.0050f750
mov ecx, eax
call fcn.00401150
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
cmp esi, eax
jne 0x50d62d
mov ecx, esi
call fcn.0050f750
mov ecx, esi
mov edi, eax
call fcn.0050f750
mov ecx, eax
call fcn.00401030
mov edx, dword [edi]
push ecx
mov ecx, edi
fstp dword [esp]
call dword [edx]
push ecx
fstp dword [esp]
call fcn.0050fbd0
add esp, 8
jmp 0x50d62d
test esi, esi
je 0x50d62d
mov eax, dword [0x7cebac]
push 0
push 1
push 0
push eax
mov ecx, esi
call fcn.0050f760
mov ecx, eax
call fcn.00401150
mov ecx, esi
call fcn.0050f760
mov edx, dword [eax]
mov ecx, eax
call dword [edx]
fcomp dword [0x746468]
fnstsw ax
test ah, 0x41
je 0x508526
push 0xf
lea ecx, [esi + 0xcc]
call fcn.0050f650
push 0x20
mov ecx, esi
call fcn.00467350
mov ecx, eax
call fcn.004e55a0
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
cmp esi, eax
jne 0x50d62d
mov ecx, esi
call fcn.0050f760
mov ecx, esi
mov edi, eax
call fcn.0050f760
mov ecx, eax
call fcn.00401030
mov eax, dword [edi]
push ecx
mov ecx, edi
fstp dword [esp]
call dword [eax]
push ecx
fstp dword [esp]
call fcn.0050fbf0
add esp, 8
jmp 0x50d62d
lea ecx, [eax + 4]
call fcn.004ee8b0
cmp eax, 0x5f43504e
jne 0x50d62d
mov esi, dword [0x7cebf4]
fld dword [0x7cebac]
mov edi, dword [esi]
call sub.MSVCRT.dll__ftol
push eax
mov ecx, esi
call dword [edi + 0x90]
mov al, byte [0x7cebdd]
test al, al
jne 0x5085b0
mov ecx, dword [0x7cebf4]
mov edx, dword [ecx]
push 1
call dword [edx + 0x14]
test ebx, ebx
je 0x50d62d
mov ecx, ebx
call fcn.0050f700
cmp eax, 2
jne 0x50d62d
call fcn.006266d0
jmp 0x50d62d
lea ecx, [eax + 4]
call fcn.004ee8b0
cmp eax, 0x5f43504e
jne 0x50d62d
test ebx, ebx
je 0x5085fe
fld dword [0x7cebac]
call sub.MSVCRT.dll__ftol
push eax
mov ecx, ebx
call fcn.0054dc90
jmp 0x50861d
mov eax, dword [0x7cebf4]
fld dword [0x7cebac]
mov edi, dword [eax]
call sub.MSVCRT.dll__ftol
mov ecx, dword [0x7cebf4]
push eax
call dword [edi + 0x80]
mov al, byte [0x7cebdd]
test al, al
jne 0x508633
mov ecx, dword [0x7cebf4]
mov edx, dword [ecx]
push 1
call dword [edx + 0x14]
xor eax, eax
mov ax, word [0x7d3442]
push eax
call fcn.00595370
mov edi, eax
add esp, 4
test edi, edi
je 0x50d62d
test ebx, ebx
je 0x50d62d
call fcn.005bfea0
cmp eax, esi
jne 0x50d62d
mov edx, dword [ebx]
mov ecx, ebx
call dword [edx + 0x9c]
push eax
xor eax, eax
mov ax, word [0x7d3486]
mov ecx, edi
push eax
call fcn.0050fc30
call fcn.005c0780
jmp 0x50d62d
fld dword [0x7cebac]
call sub.MSVCRT.dll__ftol
mov ecx, dword [0x7c67dc]
push eax
call fcn.0040ff20
mov ecx, eax
call fcn.005688f0
jmp 0x50d62d
test eax, eax
je 0x50d62d
lea ecx, [eax + 4]
call fcn.004ee8b0
cmp eax, 0x5f43504e
jne 0x50d62d
mov ecx, dword [0x7cebf4]
mov edx, dword [ecx]
call dword [edx + 0x68]
test eax, eax
je 0x5086f8
mov ecx, dword [0x7cebf4]
mov eax, dword [ecx]
call dword [eax + 0x68]
mov ecx, eax
call fcn.0050fb30
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fstp dword [esp + 0xc]
mov al, byte [0x7cebdc]
test al, al
je 0x50d62d
fld dword [esp + 0xc]
mov ecx, dword [str.SameFaction]
sub esp, 8
fstp qword [esp]
jmp 0x5075fa
mov ecx, dword [ebp + 0x10]
test ecx, ecx
je 0x508725
mov eax, ecx
jmp 0x50875c
mov ecx, dword [0x7cebb8]
test ecx, ecx
je 0x508736
mov eax, dword [0x7ce6f8]
jmp 0x50875c
test eax, eax
je 0x50d62d
lea ecx, [eax + 4]
call fcn.004ee8b0
cmp eax, 0x5f43504e
jne 0x50d62d
mov ecx, dword [0x7cebf4]
mov eax, dword [ecx]
call dword [eax + 0x68]
test eax, eax
je 0x50d62d
mov ecx, eax
call fcn.0050fb40
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
mov al, byte [0x7cebdc]
test al, al
fstp dword [esp + 0xc]
je 0x50d62d
fld dword [esp + 0xc]
mov ecx, dword [str.PCExpelled]
sub esp, 8
fstp qword [esp]
jmp 0x5075fa
test esi, esi
je 0x50d62d
fld dword [0x7cebac]
push 0
call sub.MSVCRT.dll__ftol
push eax
mov eax, dword [ebp + 8]
lea ecx, [eax - 0x10a4]
mov eax, 0x55555556
imul ecx
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
push edx
mov ecx, esi
call fcn.00521b20
jmp 0x50d62d
test esi, esi
je 0x50d62d
fld dword [0x7cebac]
push 0
call sub.MSVCRT.dll__ftol
mov edx, dword [ebp + 8]
push eax
lea ecx, [edx - 0x1169]
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
lea ecx, [edx + eax + 0xd]
push ecx
mov ecx, esi
call fcn.00521b20
jmp 0x50d62d
push 0x7ce6f8
call fcn.005bfee0
add esp, 4
jmp 0x50d62d
mov ecx, dword [0x7c67dc]
push 0x43
call fcn.0040f930
mov esi, dword [esp + 0x1c]
push eax
push str._s__1
push esi
call dword [sym.imp.MSVCRT.dll_sprintf]
push esi
call fcn.005bfee0
add esp, 0x10
jmp 0x50d62d
mov ecx, dword [0x7cebfc]
test ecx, ecx
je 0x50d62d
push 0
call fcn.004b2170
jmp 0x50d62d
test esi, esi
mov edi, dword [0x7ce6f8]
je 0x508880
mov edx, dword [0x7cebb4]
push esi
push edx
jmp 0x508892
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
push eax
mov eax, dword [0x7cebb4]
push eax
mov ecx, edi
call fcn.004b2f80
test al, al
je 0x50d62d
xor ecx, ecx
mov cx, word [0x7d3442]
push ecx
call fcn.00595370
add esp, 4
test eax, eax
jne 0x50d62d
mov ecx, dword [0x7c67dc]
push 1
push eax
push 0x1e0
call fcn.0040f930
push eax
call fcn.005f90c0
add esp, 0xc
jmp 0x50d62d
mov edx, dword [0x7cebb4]
mov ecx, dword [0x7ce6f8]
push edx
call fcn.0050f8b0
jmp 0x50d62d
mov ecx, dword [ebp + 0x10]
test ecx, ecx
jne 0x508900
mov ecx, dword [0x7ce6f8]
call fcn.0050e030
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
mov al, byte [0x7cebdc]
test al, al
fstp dword [esp + 0xc]
je 0x50d62d
fld dword [esp + 0xc]
mov eax, dword [str.GetJournalIndex]
sub esp, 8
fstp qword [esp]
jmp 0x50d58e
test eax, eax
je 0x50d62d
lea ecx, [eax + 4]
call fcn.004ee8b0
cmp eax, 0x5f43504e
jne 0x50d62d
mov ecx, dword [0x7cebf4]
call fcn.0050f940
cmp byte [eax + 0x2e], 9
jae 0x50d62d
mov al, byte [0x7cebdd]
test al, al
jne 0x508978
mov ecx, dword [0x7cebf4]
mov edx, dword [ecx]
push 1
call dword [edx + 0x14]
mov ecx, dword [0x7cebf4]
call fcn.0050f940
mov cl, byte [eax + 0x2e]
add eax, 0x2e
inc cl
mov byte [eax], cl
jmp 0x50d62d
test eax, eax
je 0x50d62d
lea ecx, [eax + 4]
call fcn.004ee8b0
cmp eax, 0x5f43504e
jne 0x50d62d
mov ecx, dword [0x7cebf4]
call fcn.0050f940
mov cl, byte [eax + 0x2e]
test cl, cl
je 0x50d62d
mov al, byte [0x7cebdd]
test al, al
jne 0x5089d9
mov ecx, dword [0x7cebf4]
mov eax, dword [ecx]
push 1
call dword [eax + 0x14]
mov ecx, dword [0x7cebf4]
call fcn.0050f940
mov cl, byte [eax + 0x2e]
add eax, 0x2e
dec cl
mov byte [eax], cl
jmp 0x50d62d
mov ecx, dword [ebp + 0x10]
test ecx, ecx
je 0x5089fe
mov eax, ecx
jmp 0x508a35
mov ecx, dword [0x7cebb8]
test ecx, ecx
je 0x508a0f
mov eax, dword [0x7ce6f8]
jmp 0x508a35
test eax, eax
je 0x50d62d
lea ecx, [eax + 4]
call fcn.004ee8b0
cmp eax, 0x5f43504e
jne 0x50d62d
mov ecx, dword [0x7cebf4]
mov edx, dword [ecx]
call dword [edx + 0x68]
test eax, eax
je 0x50d62d
mov ecx, eax
call fcn.004ad360
call fcn.006266d0
jmp 0x50d62d
mov ecx, dword [ebp + 0x10]
test ecx, ecx
je 0x508a59
mov eax, ecx
jmp 0x508a90
mov ecx, dword [0x7cebb8]
test ecx, ecx
je 0x508a6a
mov eax, dword [0x7ce6f8]
jmp 0x508a90
test eax, eax
je 0x50d62d
lea ecx, [eax + 4]
call fcn.004ee8b0
cmp eax, 0x5f43504e
jne 0x50d62d
mov ecx, dword [0x7cebf4]
mov eax, dword [ecx]
call dword [eax + 0x68]
test eax, eax
je 0x50d62d
mov ecx, eax
call fcn.004ad400
jmp 0x50d62d
mov ecx, dword [ebp + 0x10]
test ecx, ecx
je 0x508aaf
mov eax, ecx
jmp 0x508ae6
mov ecx, dword [0x7cebb8]
test ecx, ecx
je 0x508ac0
mov eax, dword [0x7ce6f8]
jmp 0x508ae6
test eax, eax
je 0x50d62d
lea ecx, [eax + 4]
call fcn.004ee8b0
cmp eax, 0x5f43504e
jne 0x50d62d
mov ecx, dword [0x7cebf4]
mov edx, dword [ecx]
call dword [edx + 0x68]
test eax, eax
je 0x50d62d
push 1
mov ecx, eax
call fcn.004ad2e0
jmp 0x50d62d
mov ecx, dword [ebp + 0x10]
test ecx, ecx
je 0x508b07
mov eax, ecx
jmp 0x508b3e
mov ecx, dword [0x7cebb8]
test ecx, ecx
je 0x508b18
mov eax, dword [0x7ce6f8]
jmp 0x508b3e
test eax, eax
je 0x50d62d
lea ecx, [eax + 4]
call fcn.004ee8b0
cmp eax, 0x5f43504e
jne 0x50d62d
mov ecx, dword [0x7cebf4]
mov eax, dword [ecx]
call dword [eax + 0x68]
test eax, eax
je 0x50d62d
push 0
mov ecx, eax
call fcn.004ad2e0
jmp 0x50d62d
test ecx, ecx
mov esi, dword [0x7ce6f8]
je 0x50d62d
call fcn.0045e5c0
mov ecx, dword [eax]
add ecx, 4
call fcn.004ee8b0
cmp eax, 0x41455243
je 0x508b8a
cmp eax, 0x544e4f43
je 0x508b8a
cmp eax, 0x5f43504e
jne 0x50d62d
mov ecx, dword [0x7cebec]
call fcn.0045e5c0
mov ecx, dword [0x7cebb4]
mov eax, dword [eax]
mov edx, dword [eax]
push 0
push ecx
push esi
mov ecx, eax
call dword [edx + 0x150]
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
mov ecx, eax
call fcn.00467350
mov ecx, dword [0x7cebec]
cmp ecx, eax
jne 0x508cab
mov edx, dword [0x7c67dc]
mov ecx, dword [edx + 0x2e8]
push 2
call fcn.00632270
mov ecx, dword [0x7c67dc]
push 2
call fcn.0040ff20
mov ecx, eax
call fcn.0050f950
mov ecx, eax
call fcn.0050f620
push eax
mov eax, dword [0x7c67dc]
mov ecx, dword [eax + 0x2e8]
call fcn.00633510
call fcn.005cc910
call fcn.005cd1b0
xor ecx, ecx
mov cx, word [0x7d3442]
push ecx
call fcn.00595370
add esp, 4
test eax, eax
je 0x50d62d
cmp dword [0x7cebb4], 1
mov edx, dword [esi]
mov ecx, esi
jle 0x508c76
call dword [edx + 0x38]
mov ecx, dword [0x7c67dc]
push eax
mov eax, dword [0x7cebb4]
push eax
push 0x23a
call fcn.0040f930
mov esi, dword [esp + 0x24]
push eax
push esi
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0x10
push 1
push 0
push esi
call fcn.005f90c0
add esp, 0xc
jmp 0x50d62d
call dword [edx + 0x38]
mov ecx, dword [0x7c67dc]
push eax
push 0x239
call fcn.0040f930
mov esi, dword [esp + 0x20]
push eax
push esi
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
push 1
push 0
push esi
call fcn.005f90c0
add esp, 0xc
jmp 0x50d62d
call fcn.0045e5c0
mov ecx, dword [eax]
add ecx, 4
call fcn.004ee8b0
cmp eax, 0x5f43504e
jne 0x50d62d
lea ecx, [esi + 4]
call fcn.004ee8b0
cmp eax, 0x4f4d5241
je 0x508cdf
cmp eax, 0x544f4c43
jne 0x50d62d
mov ecx, dword [0x7cebec]
call fcn.0045e5c0
mov eax, dword [eax]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x110]
mov ecx, dword [0x7cebec]
call fcn.004e8b50
jmp 0x50d62d
test ecx, ecx
je 0x50d62d
mov edi, dword [0x7ce6f8]
call fcn.0045e5c0
mov eax, dword [eax]
push edi
mov ecx, eax
mov dword [esp + 0x24], eax
call fcn.00496dd0
mov dword [esp + 0x10], eax
mov eax, dword [0x7cebb4]
xor ebx, ebx
test eax, eax
jle 0x508d4a
mov ecx, dword [esp + 0x20]
push edi
call fcn.004965d0
mov eax, dword [0x7cebb4]
inc ebx
cmp ebx, eax
jl 0x508d36
mov ecx, dword [0x7cebec]
call fcn.0045e5c0
mov ecx, dword [eax]
add ecx, 4
call fcn.004ee8b0
cmp eax, 0x41455243
je 0x508d71
cmp eax, 0x5f43504e
jne 0x50d62d
mov ebx, dword [esp + 0x10]
test ebx, ebx
je 0x508db4
test esi, esi
je 0x508db4
mov ecx, esi
call fcn.00467350
mov ecx, eax
call fcn.004e8b50
mov ecx, esi
call fcn.00467350
mov ecx, eax
call fcn.004e4ce0
test eax, eax
je 0x508db4
push 0
mov ecx, esi
call fcn.00467350
mov ecx, eax
call fcn.004e4ce0
mov ecx, eax
call fcn.0046e970
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
mov ecx, eax
call fcn.0050f950
cmp dword [esp + 0x20], eax
jne 0x50d62d
test ebx, ebx
je 0x508e2c
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
mov ecx, eax
call fcn.0050f9e0
mov ecx, eax
call fcn.004e8b50
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
mov ecx, eax
call fcn.0050f9e0
mov ecx, eax
call fcn.004e4ce0
test eax, eax
je 0x508e2c
mov ecx, dword [0x7c67dc]
push 0
call fcn.0040ff20
mov ecx, eax
call fcn.0050f9e0
mov ecx, eax
call fcn.004e4ce0
mov ecx, eax
call fcn.0046e970
xor eax, eax
mov ax, word [0x7d3442]
push eax
call fcn.00595370
add esp, 4
test eax, eax
je 0x508ea9
cmp dword [0x7cebb4], 1
mov edx, dword [edi]
mov ecx, edi
jle 0x508e79
call dword [edx + 0x38]
mov ecx, dword [0x7c67dc]
push eax
mov eax, dword [0x7cebb4]
push eax
push 0x23c
call fcn.0040f930
mov esi, dword [esp + 0x24]
push eax
push esi
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0x10
jmp 0x508e9c
call dword [edx + 0x38]
mov ecx, dword [0x7c67dc]
push eax
push 0x23b
call fcn.0040f930
mov esi, dword [esp + 0x20]
push eax
push esi
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
push 1
push 0
push esi
call fcn.005f90c0
add esp, 0xc
mov eax, dword [0x7cebb4]
push eax
push 0
push edi
call fcn.005d2150
mov edx, dword [edi]
add esp, 0xc
mov ecx, edi
call dword [edx + 0xd0]
test eax, eax
je 0x508ed2
push 0
call fcn.005e3070
add esp, 4
call fcn.005cd1b0
jmp 0x50d62d
mov eax, dword [0x7cebb8]
test eax, eax
je 0x508eec
mov eax, dword [0x7ce6f8]
jmp 0x508f0b
test ebx, ebx
je 0x50d62d
mov ecx, ebx
call fcn.00467350
mov ecx, eax
call fcn.0045e5c0
mov eax, dword [eax]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x68]
test eax, eax
je 0x50d62d
mov ecx, eax
call fcn.0050fb50
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
mov al, byte [0x7cebdc]
test al, al
fstp dword [esp + 0xc]
je 0x50d62d
fld dword [esp + 0xc]
mov eax, dword [str.GetPCFacRep]
sub esp, 8
fstp qword [esp]
jmp 0x50d58e
mov eax, dword [0x7cebb8]
test eax, eax
je 0x508f58
mov esi, dword [0x7ce6f8]
jmp 0x508f79
test ebx, ebx
je 0x50d62d
mov ecx, ebx
call fcn.00467350
mov ecx, eax
call fcn.0045e5c0
mov eax, dword [eax]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x68]
mov esi, eax
test esi, esi
je 0x50d62d
fld dword [0x7cebac]
call sub.MSVCRT.dll__ftol
push eax
mov ecx, esi
call fcn.0050fb60
jmp 0x50d62d
mov eax, dword [0x7cebb8]
test eax, eax
je 0x508faa
mov esi, dword [0x7ce6f8]
jmp 0x508fcb
test ebx, ebx
je 0x50d62d
mov ecx, ebx
call fcn.00467350
mov ecx, eax
call fcn.0045e5c0
mov eax, dword [eax]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x68]
mov esi, eax
test esi, esi
je 0x50d62d
fld dword [0x7cebac]
call sub.MSVCRT.dll__ftol
push eax
mov ecx, esi
call fcn.0050fb70
jmp 0x50d62d
mov eax, dword [0x7cebf8]
and byte [eax + 0xc], 0xfe
mov ecx, dword [0x7cebec]
test ecx, ecx
je 0x50901b
mov al, byte [0x7cebdd]
test al, al
jne 0x509014
mov eax, dword [ecx]
push 1
call dword [eax + 0x14]
mov ecx, dword [0x7cebec]
push 0
call fcn.004eee10
test edi, edi
je 0x50d62d
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0x54]
test al, al
je 0x50d62d
mov eax, dword [edi]
push 0
mov ecx, edi
call dword [eax + 0x50]
mov ecx, dword [0x7cebec]
call fcn.0045e5c0
mov ecx, dword [eax]
add ecx, 4
call fcn.004ee8b0
cmp eax, 0x41455243
je 0x5090b0
cmp eax, 0x4847494c
je 0x509077
cmp eax, 0x5f43504e
je 0x5090b0
mov ecx, dword [0x7c67e0]
push 1
call fcn.00488950
jmp 0x50d62d
mov eax, dword [0x7cebec]
test eax, eax
je 0x50909e
mov ecx, dword [0x7c67e0]
push eax
call fcn.00485e40
mov ecx, dword [0x7cebec]
push ecx
mov ecx, dword [0x7c67e0]
call fcn.00485b00
mov ecx, dword [0x7c67e0]
push 1
call fcn.00488950
jmp 0x50d62d
mov edx, dword [0x7cebec]
mov eax, dword [0x7c67dc]
mov ecx, dword [eax + 0x5c]
push edx
call fcn.005636a0
mov ecx, dword [0x7cebec]
call fcn.004e5750
mov ecx, eax
call fcn.0055ffc0
jmp 0x50d62d
mov eax, dword [0x7cebf8]
or byte [eax + 0xc], 1
mov ecx, dword [0x7cebec]
test ecx, ecx
je 0x509168
mov al, byte [0x7cebdd]
test al, al
jne 0x509104
mov edx, dword [ecx]
push 1
call dword [edx + 0x14]
mov ecx, dword [0x7cebec]
test esi, esi
je 0x509117
mov eax, dword [esi]
push 0
mov ecx, esi
call dword [eax + 0x70]
mov ecx, dword [0x7cebec]
push 1
call fcn.004eee10
mov ecx, dword [0x7cebec]
call fcn.004eba00
mov ecx, dword [0x7cebec]
call fcn.0045e5c0
mov eax, dword [eax]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x50]
test eax, eax
je 0x509168
mov ecx, dword [0x7cebec]
call fcn.0045e5c0
mov ecx, dword [0x7cebec]
mov eax, dword [eax]
mov edx, dword [eax]
push ecx
mov ecx, eax
call dword [edx + 0x50]
mov ecx, dword [0x7c67e0]
push eax
call fcn.0048c0d0
test edi, edi
je 0x50d62d
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x54]
test al, al
jne 0x50d62d
mov edx, dword [edi]
push 1
mov ecx, edi
call dword [edx + 0x50]
test esi, esi
je 0x50909e
mov eax, dword [0x7cebec]
mov ecx, dword [0x7c67dc]
mov ecx, dword [ecx + 0x5c]
push eax
call fcn.005637f0
jmp 0x50d62d
test ecx, ecx
je 0x5091c1
call fcn.0050e3b0
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
jmp 0x5091de
mov edx, dword [0x7cebf8]
xor eax, eax
mov al, byte [edx + 0xc]
and eax, 0xffffff01
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
mov al, byte [0x7cebdc]
fstp dword [esp + 0xc]
test al, al
je 0x50d62d
fld dword [esp + 0xc]
mov ecx, dword [str.GetDisabled]
sub esp, 8
fstp qword [esp]
jmp 0x5075fa
push 0
jmp 0x50920a
push 1
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
mov ecx, eax
call fcn.0050fa50
jmp 0x50d62d
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
mov ecx, eax
call fcn.0050fa40
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
mov al, byte [0x7cebdc]
test al, al
fstp dword [esp + 0xc]
je 0x50d62d
fld dword [esp + 0xc]
mov eax, dword [str.GetPlayerControlsDisabled]
sub esp, 8
fstp qword [esp]
jmp 0x50d58e
push 0
jmp 0x50926b
push 1
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
mov ecx, eax
call fcn.0050fa70
jmp 0x50d62d
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
mov ecx, eax
call fcn.0050fa60
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
mov al, byte [0x7cebdc]
test al, al
fstp dword [esp + 0xc]
je 0x50d62d
fld dword [esp + 0xc]
mov edx, dword [str.GetPlayerJumpingDisabled]
mov eax, dword [0x7c67dc]
sub esp, 8
fstp qword [esp]
push edx
push str._s_____0.2f
push eax
call fcn.0040f970
add esp, 0x14
jmp 0x50d62d
mov ecx, dword [0x7c67dc]
push 0
call fcn.0040ff20
mov ecx, eax
call fcn.0050fa90
jmp 0x50d62d
mov ecx, dword [0x7c67dc]
push 1
call fcn.0040ff20
mov ecx, eax
call fcn.0050fa90
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
mov edx, dword [eax]
push 0
mov ecx, eax
call dword [edx + 0x44]
sub esp, 0x24
mov ecx, esp
mov dword [esp + 0x34], esp
push 0x7de664
call fcn.006e7cd0
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
mov ecx, eax
call fcn.005264b0
mov ecx, eax
call fcn.0045e9b0
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
mov ecx, eax
call fcn.005264b0
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
jmp 0x50d62d
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
mov ecx, eax
call fcn.0050fa80
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
mov al, byte [0x7cebdc]
test al, al
fstp dword [esp + 0xc]
je 0x50d62d
fld dword [esp + 0xc]
mov eax, dword [str.GetPlayerLookingDisabled]
sub esp, 8
fstp qword [esp]
jmp 0x50d58e
push 0
jmp 0x5093b0
push 1
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
mov ecx, eax
call fcn.0050fad0
jmp 0x50d62d
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
mov ecx, eax
call fcn.0050fac0
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
mov al, byte [0x7cebdc]
test al, al
fstp dword [esp + 0xc]
je 0x50d62d
fld dword [esp + 0xc]
mov edx, dword [str.GetVanityModeDisabled]
mov eax, dword [0x7c67dc]
sub esp, 8
fstp qword [esp]
push edx
push str._s_____0.2f
push eax
call fcn.0040f970
add esp, 0x14
jmp 0x50d62d
push 0
jmp 0x509426
push 1
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
mov ecx, eax
call fcn.0050faf0
jmp 0x50d62d
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
mov ecx, eax
call fcn.0050fae0
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
mov al, byte [0x7cebdc]
test al, al
fstp dword [esp + 0xc]
je 0x50d62d
fld dword [esp + 0xc]
mov ecx, dword [str.GetPlayerFightingDisabled]
sub esp, 8
fstp qword [esp]
jmp 0x5075fa
push 0
jmp 0x509488
push 1
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
mov ecx, eax
call fcn.0050fb10
jmp 0x50d62d
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
mov ecx, eax
call fcn.0050fb00
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
mov al, byte [0x7cebdc]
test al, al
fstp dword [esp + 0xc]
je 0x50d62d
fld dword [esp + 0xc]
mov eax, dword [str.GetPlayerMagicDisabled]
sub esp, 8
fstp qword [esp]
jmp 0x50d58e
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
mov ecx, eax
call fcn.0050fa00
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
mov al, byte [0x7cebdc]
test al, al
fstp dword [esp + 0xc]
je 0x50d62d
fld dword [esp + 0xc]
mov edx, dword [str.GetPCSleep]
mov eax, dword [0x7c67dc]
sub esp, 8
fstp qword [esp]
push edx
push str._s_____0.2f
push eax
call fcn.0040f970
add esp, 0x14
jmp 0x50d62d
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
mov ecx, eax
call fcn.0050fa00
test al, al
jne 0x50956c
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
mov ecx, eax
call fcn.0050fa10
test al, al
je 0x50d62d
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
mov ecx, eax
call fcn.0056bbb0
jmp 0x50d62d
mov ecx, dword [0x7c67dc]
mov ecx, dword [ecx + 0x5c]
call fcn.0050f920
mov ecx, eax
call fcn.0056f810
test al, al
jne 0x5095be
mov ecx, dword [0x7c67dc]
push 1
push 0
push 0x1fc
call fcn.0040f930
push eax
call fcn.005f90c0
add esp, 0xc
jmp 0x50d62d
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
mov ecx, eax
call fcn.00529540
test al, al
je 0x5095f6
mov ecx, dword [0x7c67dc]
push 1
push 0
push 0x1fb
call fcn.0040f930
push eax
call fcn.005f90c0
add esp, 0xc
jmp 0x50d62d
mov esi, dword [esp + 0x10]
xor ebx, ebx
cmp esi, ebx
je 0x5097db
cmp dword [esi + 4], ebx
je 0x5097db
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
mov ecx, eax
call fcn.00521610
mov ecx, dword [esi + 4]
add ecx, 4
mov edi, eax
call fcn.004ee8b0
cmp eax, 0x5f43504e
jne 0x50965e
mov ecx, edi
call fcn.004daec0
cmp dword [esi + 4], eax
je 0x50965e
mov ecx, dword [esi + 8]
cmp ecx, ebx
je 0x509695
call fcn.0050f570
fcomp dword [0x746468]
fnstsw ax
test ah, 0x40
je 0x5097db
jmp 0x509695
mov ecx, dword [esi + 4]
add ecx, 4
call fcn.004ee8b0
cmp eax, 0x54434146
jne 0x5097db
mov ecx, dword [esi + 4]
cmp ecx, ebx
je 0x509695
call fcn.0050fb30
test al, al
je 0x509695
mov ecx, dword [esi + 4]
call fcn.004ad880
cmp dword [esi + 8], eax
jle 0x5097db
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
lea ecx, [esp + 0x68]
mov edi, eax
call fcn.0051f250
mov dword [esp + 0x268], ebx
mov dword [esp + 0x90], edi
call dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ebx
fild qword [esp + 0x10]
mov ecx, edi
mov dword [esp + 0x68], 6
fstp dword [esp + 0x6c]
call fcn.0055fe60
push eax
lea ecx, [esp + 0x84]
call fcn.0040a7e0
push str.trespass
lea ecx, [esp + 0x74]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_char_const__]
mov ecx, dword [esi + 4]
add ecx, 4
mov dword [esp + 0x94], edi
call fcn.004ee8b0
cmp eax, 0x54434146
jne 0x50971f
mov edx, dword [esi + 4]
mov dword [esp + 0x98], edx
jmp 0x509732
mov ecx, dword [esi + 4]
cmp ecx, ebx
je 0x509732
mov eax, dword [ecx]
call dword [eax + 0x68]
mov dword [esp + 0x98], eax
mov ecx, dword [esp + 0x90]
mov edx, dword [0x7c67dc]
push 1
push ecx
mov ecx, dword [edx + 0x5c]
call fcn.0050f920
mov ecx, eax
call fcn.00570a60
test al, al
je 0x5097b8
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x94]
mov edx, dword [0x7c67dc]
push eax
push ecx
mov ecx, dword [edx + 0x5c]
call fcn.0050f920
mov ecx, eax
call fcn.005704b0
mov ecx, dword [esp + 0x9c]
call fcn.0050fba0
test eax, eax
je 0x50979a
lea eax, [esp + 0x68]
push eax
lea ecx, [edi + 0x1ac]
call fcn.0050f4b0
mov ecx, dword [0x7c67dc]
push 1
push ebx
push 0x23d
call fcn.0040f930
push eax
call fcn.005f90c0
add esp, 0xc
jmp 0x5097c2
push 1
call fcn.00610170
add esp, 4
lea ecx, [esp + 0x68]
mov dword [esp + 0x268], 0xffffffff
call fcn.0051f580
jmp 0x50d62d
push 1
call fcn.00610170
add esp, 4
jmp 0x50d62d
test ecx, ecx
je 0x50d62d
mov eax, dword [0x7cebb4]
test eax, eax
mov dword [esp + 0x1c], 0
jle 0x50d62d
push 0x50
mov byte [esp + 0x2f], 0
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
mov dword [esp + 0x268], 1
je 0x509834
mov ecx, eax
call fcn.004e4510
mov esi, eax
jmp 0x509836
xor esi, esi
mov ecx, dword [0x7c67e0]
mov dword [esp + 0x268], 0xffffffff
call fcn.0048e350
mov ecx, dword [0x7cebec]
mov ebx, dword [0x7ce6f8]
mov edi, eax
call fcn.0045e5c0
add eax, 4
push eax
lea ecx, [esp + 0x50]
call fcn.0040a7e0
mov ecx, esi
call fcn.0045e5c0
mov dword [eax], ebx
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x2c]
mov ecx, esi
call fcn.0045e5c0
fld dword [0x7cea4c]
mov ebx, dword [eax]
call sub.MSVCRT.dll__ftol
mov ecx, dword [0x7cea48]
mov edx, dword [0x7cebec]
movsx eax, ax
push eax
push ecx
push ebx
push edx
lea eax, [esp + 0x50]
push eax
call fcn.0045d960
add esp, 0x14
push edi
push esi
lea ecx, [esp + 0x33]
push ecx
mov ecx, dword [0x7c67e0]
lea edx, [esp + 0x58]
push edx
lea eax, [esp + 0x50]
push eax
push ebx
call fcn.00431170
mov ecx, eax
call fcn.004c0e80
mov ecx, esi
call fcn.004e7050
push esi
mov ecx, edi
call fcn.004dc030
mov ecx, esi
call fcn.0045e5c0
mov ecx, dword [eax]
add ecx, 4
call fcn.004ee8b0
cmp eax, 0x41455243
je 0x509902
cmp eax, 0x5f43504e
jne 0x509932
mov ecx, dword [0x7c67dc]
mov ecx, dword [ecx + 0x5c]
push esi
call fcn.005636a0
mov ecx, esi
call fcn.004e5750
mov esi, eax
test esi, esi
je 0x509932
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x24]
test al, al
je 0x509932
mov eax, dword [esi]
push 1
mov ecx, esi
call dword [eax + 0x70]
mov eax, dword [esp + 0x1c]
mov ecx, dword [0x7cebb4]
inc eax
cmp eax, ecx
mov dword [esp + 0x1c], eax
jl 0x509807
jmp 0x50d62d
mov eax, dword [0x7cebb4]
test eax, eax
mov dword [esp + 0x1c], 0
jle 0x50d62d
push 0x50
mov byte [esp + 0x2f], 0
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
mov dword [esp + 0x268], 2
je 0x509990
mov ecx, eax
call fcn.004e4510
mov esi, eax
jmp 0x509992
xor esi, esi
mov ecx, dword [0x7c67e0]
mov dword [esp + 0x268], 0xffffffff
call fcn.0048e350
mov ecx, dword [0x7c67dc]
mov ebx, dword [0x7ce6f8]
mov edi, eax
call fcn.0040ff20
mov ecx, eax
call fcn.00467350
mov ecx, eax
call fcn.0045e5c0
add eax, 4
push eax
lea ecx, [esp + 0x44]
call fcn.0040a7e0
mov ecx, esi
call fcn.0045e5c0
mov dword [eax], ebx
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x2c]
mov ecx, esi
call fcn.0045e5c0
fld dword [0x7cea4c]
mov ebx, dword [eax]
call sub.MSVCRT.dll__ftol
mov ecx, dword [0x7cea48]
movsx eax, ax
push eax
push ecx
lea edx, [esp + 0x54]
push ebx
push edx
call fcn.0045d460
add esp, 0x10
push edi
push esi
lea eax, [esp + 0x33]
push eax
lea ecx, [esp + 0x4c]
push ecx
mov ecx, dword [0x7c67e0]
lea edx, [esp + 0x5c]
push edx
push ebx
call fcn.00431170
mov ecx, eax
call fcn.004c0e80
mov ecx, esi
call fcn.004e7050
push esi
mov ecx, edi
call fcn.004dc030
mov ecx, esi
call fcn.0045e5c0
mov ecx, dword [eax]
add ecx, 4
call fcn.004ee8b0
cmp eax, 0x41455243
je 0x509a65
cmp eax, 0x5f43504e
jne 0x509a94
mov eax, dword [0x7c67dc]
mov ecx, dword [eax + 0x5c]
push esi
call fcn.005636a0
mov ecx, esi
call fcn.004e5750
mov esi, eax
test esi, esi
je 0x509a94
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x24]
test al, al
je 0x509a94
mov eax, dword [esi]
push 1
mov ecx, esi
call dword [eax + 0x70]
mov eax, dword [esp + 0x1c]
mov ecx, dword [0x7cebb4]
inc eax
cmp eax, ecx
mov dword [esp + 0x1c], eax
jl 0x509963
jmp 0x50d62d
mov ecx, dword [0x7c67e0]
call fcn.0048e350
mov ebx, dword [0x7ce6f8]
test ebx, ebx
mov edi, eax
je 0x50d62d
push 0x50
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
mov dword [esp + 0x268], 3
je 0x509af3
mov ecx, eax
call fcn.004e4510
mov esi, eax
jmp 0x509af5
xor esi, esi
lea ecx, [esp + 0x40]
mov dword [esp + 0x268], 0xffffffff
call fcn.0050f440
fld dword [0x7cebac]
fmul dword [0x7464f0]
fcom dword [0x7469c4]
fst dword [esp + 0x20]
fnstsw ax
test ah, 0x41
jne 0x509b3d
fsub dword [0x7469c4]
fcom dword [0x7469c4]
fnstsw ax
test ah, 0x41
je 0x509b26
fst dword [esp + 0x20]
fcom dword [0x746468]
fnstsw ax
test ah, 1
je 0x509c05
fadd dword [0x7469c4]
fcom dword [0x746468]
fnstsw ax
test ah, 1
jne 0x509b4e
fstp dword [esp + 0x20]
mov ecx, dword [esp + 0x20]
push ecx
push 0
push 0
lea ecx, [esp + 0xe0]
call fcn.004057e0
push eax
mov ecx, esi
call fcn.0045e5c0
mov ecx, eax
add ecx, 4
call fcn.0040a7e0
push 0x7cea48
mov ecx, esi
call fcn.0045e5c0
mov ecx, eax
add ecx, 0x10
call fcn.0040a7e0
mov ecx, esi
call fcn.0045e5c0
test edi, edi
mov dword [eax], ebx
je 0x509d45
mov ecx, edi
call fcn.004e22f0
test al, al
jne 0x509d77
mov ecx, edi
call fcn.004db9d0
fld dword [0x7cea48]
mov ebx, eax
call sub.MSVCRT.dll__ftol
sar eax, 0xd
cmp eax, ebx
jne 0x509d45
mov ecx, edi
call fcn.004db9f0
fld dword [0x7cea4c]
mov ebx, eax
call sub.MSVCRT.dll__ftol
sar eax, 0xd
cmp eax, ebx
je 0x509d77
jmp 0x509d45
fstp st(0)
jmp 0x509b65
mov ebx, dword [0x7ce6f8]
test ebx, ebx
mov eax, dword [esp + 0x30]
mov edi, dword [eax]
je 0x50d62d
push 0x50
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
mov dword [esp + 0x268], 4
je 0x509c48
mov ecx, eax
call fcn.004e4510
mov esi, eax
jmp 0x509c4a
xor esi, esi
lea ecx, [esp + 0x40]
mov dword [esp + 0x268], 0xffffffff
call fcn.0050f440
fld dword [0x7cebac]
fmul dword [0x7464f0]
fcom dword [0x7469c4]
fst dword [esp + 0x20]
fnstsw ax
test ah, 0x41
jne 0x509c92
fsub dword [0x7469c4]
fcom dword [0x7469c4]
fnstsw ax
test ah, 0x41
je 0x509c7b
fst dword [esp + 0x20]
fcom dword [0x746468]
fnstsw ax
test ah, 1
je 0x509dd8
fadd dword [0x7469c4]
fcom dword [0x746468]
fnstsw ax
test ah, 1
jne 0x509ca3
fstp dword [esp + 0x20]
mov ecx, dword [esp + 0x20]
push ecx
push 0
push 0
lea ecx, [esp + 0xf8]
call fcn.004057e0
push eax
mov ecx, esi
call fcn.0045e5c0
mov ecx, eax
add ecx, 4
call fcn.0040a7e0
push 0x7cea48
mov ecx, esi
call fcn.0045e5c0
mov ecx, eax
add ecx, 0x10
call fcn.0040a7e0
mov ecx, esi
call fcn.0045e5c0
test edi, edi
mov dword [eax], ebx
je 0x509d45
mov ecx, edi
call fcn.004e22f0
test al, al
jne 0x509d77
mov ecx, edi
call fcn.004db9d0
fld dword [0x7cea48]
mov ebx, eax
call sub.MSVCRT.dll__ftol
sar eax, 0xd
cmp eax, ebx
jne 0x509d45
mov ecx, edi
call fcn.004db9f0
fld dword [0x7cea4c]
mov ebx, eax
call sub.MSVCRT.dll__ftol
sar eax, 0xd
cmp eax, ebx
je 0x509d77
fld dword [0x7cea4c]
call sub.MSVCRT.dll__ftol
fld dword [0x7cea48]
sar eax, 0xd
push eax
call sub.MSVCRT.dll__ftol
mov ecx, dword [0x7c67e0]
sar eax, 0xd
push eax
call fcn.00431170
mov ecx, eax
call fcn.004baa10
mov edi, eax
mov edx, dword [0x7cebac]
push edx
push 0x7cea48
push edi
push esi
call fcn.0050edd0
add esp, 0x10
mov ecx, esi
call fcn.004e7050
mov ecx, esi
call fcn.0050fb90
test eax, eax
je 0x50d62d
push 1
push 0
push 0
mov ecx, esi
call fcn.0050fb90
mov ecx, eax
call fcn.006eb000
mov ecx, esi
call fcn.0050fb90
mov ecx, eax
call fcn.006eb0e0
mov ecx, esi
call fcn.0050fb90
mov ecx, eax
call fcn.006eb380
jmp 0x50d62d
fstp st(0)
jmp 0x509cba
mov eax, dword [esp + 0x30]
fld dword [0x7cea48]
mov edi, dword [eax]
mov esi, dword [0x7ce6f8]
call sub.MSVCRT.dll__ftol
test esi, esi
je 0x50d62d
push eax
push edi
mov ecx, esi
call fcn.004cfcc0
test al, al
je 0x50d62d
mov edx, dword [esi]
push 1
mov ecx, esi
call dword [edx + 0x14]
jmp 0x50d62d
mov eax, dword [esp + 0x30]
fld dword [0x7cea48]
mov edi, dword [eax]
mov esi, dword [0x7ce6f8]
call sub.MSVCRT.dll__ftol
test esi, esi
je 0x50d62d
push eax
push edi
mov ecx, esi
call fcn.004cfc40
test al, al
je 0x50d62d
mov edx, dword [esi]
push 1
mov ecx, esi
call dword [edx + 0x14]
jmp 0x50d62d
mov eax, dword [esp + 0x30]
fld dword [0x7cea48]
mov edi, dword [eax]
mov esi, dword [0x7ce6f8]
call sub.MSVCRT.dll__ftol
test esi, esi
je 0x50d62d
push eax
push edi
mov ecx, esi
call fcn.004d0ee0
test al, al
je 0x50d62d
mov edx, dword [esi]
push 1
mov ecx, esi
call dword [edx + 0x14]
jmp 0x50d62d
mov eax, dword [esp + 0x30]
fld dword [0x7cea48]
mov edi, dword [eax]
mov esi, dword [0x7ce6f8]
call sub.MSVCRT.dll__ftol
test esi, esi
je 0x50d62d
push eax
push edi
mov ecx, esi
call fcn.004d0e60
test al, al
je 0x50d62d
mov edx, dword [esi]
push 1
mov ecx, esi
call dword [edx + 0x14]
jmp 0x50d62d
test esi, esi
je 0x50d62d
test ecx, ecx
je 0x50d62d
call fcn.0050e3b0
test al, al
jne 0x50d62d
push 0
mov ecx, esi
call fcn.00529af0
mov ecx, esi
call fcn.0055ffc0
jmp 0x50d62d
test esi, esi
je 0x50d62d
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
mov ecx, eax
call fcn.0050f6a0
test al, al
je 0x509f46
mov edi, dword [esp + 0x2c]
lea eax, [esp + 0x20]
push eax
push str.AllowWerewolfForceGreeting
mov ecx, edi
call fcn.0050e7b0
test al, al
je 0x50d62d
jmp 0x509f4a
mov edi, dword [esp + 0x2c]
mov ecx, dword [0x7cebb0]
mov ebx, dword [edi + 0x3c]
mov dword [esp + 0x10], ecx
mov ecx, esi
call fcn.00529260
mov edx, dword [esp + 0x10]
mov dword [edi + 0x3c], ebx
mov dword [0x7cebb0], edx
jmp 0x50d62d
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
mov ecx, eax
call fcn.005688b0
mov ecx, dword [0x7c67dc]
push 0x474
mov esi, eax
call fcn.0040f930
mov ecx, eax
mov eax, esi
cdq
idiv ecx
mov ecx, dword [0x7c67dc]
push eax
call fcn.0040ff20
mov ecx, eax
call fcn.0056b5d0
jmp 0x50d62d
test esi, esi
je 0x50a014
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x509fe5
push eax
mov ecx, esi
call fcn.00467350
mov ecx, eax
call fcn.0045e5c0
mov ecx, dword [eax]
call fcn.0050f620
mov ecx, eax
call fcn.0049a9b0
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
jmp 0x50a010
mov edx, dword [0x7ce6f8]
push edx
mov ecx, esi
call fcn.00467350
mov ecx, eax
call fcn.0045e5c0
mov ecx, dword [eax]
call fcn.0050f620
mov ecx, eax
call fcn.0049a9b0
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fstp dword [esp + 0xc]
mov al, byte [0x7cebdc]
test al, al
je 0x50d62d
fld dword [esp + 0xc]
mov eax, dword [str.HasSoulGem]
sub esp, 8
fstp qword [esp]
jmp 0x50d58e
test esi, esi
je 0x50a05d
mov edx, dword [0x7ce6f8]
push edx
push esi
mov ecx, esi
call fcn.00467350
mov ecx, eax
call fcn.0045e5c0
mov ecx, dword [eax]
call fcn.0050f620
mov ecx, eax
call fcn.0049ab60
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
cmp esi, eax
jne 0x50d62d
mov eax, dword [0x7c67dc]
mov ecx, dword [eax + 0x2e8]
push 2
call fcn.00632270
mov ecx, dword [0x7c67dc]
push 2
call fcn.0040ff20
mov ecx, eax
call fcn.0050f950
mov ecx, eax
call fcn.0050f620
mov ecx, dword [0x7c67dc]
mov ecx, dword [ecx + 0x2e8]
push eax
call fcn.00633510
call fcn.005cc910
jmp 0x50d62d
test esi, esi
je 0x50d62d
mov edx, dword [0x7ce6f8]
push edx
mov ecx, esi
call fcn.00467350
mov ecx, eax
call fcn.0045e5c0
mov ecx, dword [eax]
call fcn.0050f620
mov ecx, eax
call fcn.0049aa80
mov ebx, eax
test ebx, ebx
je 0x50d62d
mov eax, dword [0x7ce6f8]
push eax
push esi
mov ecx, esi
call fcn.00467350
mov ecx, eax
call fcn.0045e5c0
mov ecx, dword [eax]
call fcn.0050f620
mov ecx, eax
call fcn.0049ab60
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
cmp esi, eax
jne 0x50a165
mov ecx, dword [0x7c67dc]
mov ecx, dword [ecx + 0x2e8]
push 2
call fcn.00632270
mov ecx, dword [0x7c67dc]
push 2
call fcn.0040ff20
mov ecx, eax
call fcn.0050f950
mov ecx, eax
call fcn.0050f620
mov edx, dword [0x7c67dc]
mov ecx, dword [edx + 0x2e8]
push eax
call fcn.00633510
call fcn.005cc910
push 0x50
mov byte [esp + 0x2f], 0
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
mov dword [esp + 0x268], 5
je 0x50a192
mov ecx, eax
call fcn.004e4510
mov esi, eax
jmp 0x50a194
xor esi, esi
mov ecx, dword [0x7c67e0]
mov dword [esp + 0x268], 0xffffffff
call fcn.004dae60
mov ecx, dword [0x7c67dc]
mov edi, eax
call fcn.0040ff20
mov ecx, eax
call fcn.0055fe60
push eax
lea ecx, [esp + 0x50]
call fcn.0040a7e0
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
mov ecx, eax
call fcn.00467350
mov ecx, eax
call fcn.0045e5c0
add eax, 4
push eax
lea ecx, [esp + 0x44]
call fcn.0040a7e0
push edi
push esi
lea eax, [esp + 0x33]
push eax
mov eax, dword [ebx + 4]
lea ecx, [esp + 0x4c]
push ecx
mov ecx, dword [0x7c67e0]
lea edx, [esp + 0x5c]
push edx
push eax
call fcn.00431170
mov ecx, eax
call fcn.004c0e80
mov ecx, esi
call fcn.004e7640
mov ecx, esi
call fcn.004e5460
mov ecx, dword [0x7ce6f8]
mov dword [eax + 0x10], ecx
push esi
mov ecx, edi
call fcn.004dc030
jmp 0x50d62d
test esi, esi
je 0x50d62d
mov edx, dword [esp + 0x30]
mov eax, dword [edx]
mov ecx, dword [0x7ce6f8]
push eax
push ecx
push esi
mov ecx, esi
call fcn.00467350
mov ecx, eax
call fcn.0045e5c0
mov ecx, dword [eax]
call fcn.0050f620
mov ecx, eax
call fcn.0049aae0
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
cmp esi, eax
jne 0x50d62d
mov edx, dword [0x7c67dc]
mov ecx, dword [edx + 0x2e8]
push 2
call fcn.00632270
mov ecx, dword [0x7c67dc]
push 2
call fcn.0040ff20
mov ecx, eax
call fcn.0050f950
mov ecx, eax
call fcn.0050f620
push eax
mov eax, dword [0x7c67dc]
mov ecx, dword [eax + 0x2e8]
call fcn.00633510
call fcn.005cc910
jmp 0x50d62d
mov ecx, dword [0x7c67dc]
mov byte [ecx + 0xe0], 0
jmp 0x50d62d
mov edx, dword [0x7c67dc]
mov byte [edx + 0xe0], 1
jmp 0x50d62d
push 0x10
call fcn.004e5520
mov ecx, dword [0x7cebec]
push 0x10
and eax, 0xff
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fstp dword [esp + 0x10]
call fcn.004e55e0
jmp 0x50d62d
push 0x20
call fcn.004e5520
mov ecx, dword [0x7cebec]
push 0x20
and eax, 0xff
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fstp dword [esp + 0x10]
call fcn.004e55e0
jmp 0x50d62d
push 0x40
call fcn.004e5520
mov ecx, dword [0x7cebec]
push 0x40
and eax, 0xff
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fstp dword [esp + 0x10]
call fcn.004e55e0
jmp 0x50d62d
mov edi, dword [0x7ce6f8]
test edi, edi
je 0x50d62d
push 0xc
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
mov esi, eax
mov dword [esi], 5
mov dword [esi + 4], edi
mov dl, byte [0x7ceba8]
add esp, 4
test dl, dl
setne al
mov byte [esi + 8], al
mov ecx, dword [0x7cebec]
call fcn.0045e5c0
mov edi, dword [eax]
lea ecx, [edi + 4]
call fcn.004ee8b0
cmp eax, 0x41455243
je 0x50a3c2
cmp eax, 0x5f43504e
jne 0x50d62d
mov eax, dword [0x7cebec]
mov edx, dword [edi]
push eax
push esi
mov ecx, edi
call dword [edx + 0x17c]
jmp 0x50d62d
mov edi, dword [0x7ce6f8]
test edi, edi
je 0x50d62d
push 0x20
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
mov dword [esp + 0x268], 6
je 0x50a40e
mov ecx, eax
call fcn.0050f440
mov esi, eax
jmp 0x50a410
xor esi, esi
mov ecx, edi
mov dword [esp + 0x268], 0xffffffff
call fcn.0045e5c0
fld dword [0x7cea48]
fcomp dword [0x746468]
mov edi, dword [eax]
fnstsw ax
test ah, 0x40
je 0x50a471
fld dword [0x7cea4c]
fcomp dword [0x746468]
fnstsw ax
test ah, 0x40
je 0x50a471
fld dword [0x7cea50]
fcomp dword [0x746468]
fnstsw ax
test ah, 0x40
je 0x50a471
mov dword [0x7cea48], 0x7f7fffff
mov dword [0x7cea4c], 0x7f7fffff
push 0x7cea48
lea ecx, [esi + 4]
mov dword [esi], 3
call fcn.0040a7e0
mov cl, byte [0x7cebb4]
mov byte [esi + 0x10], cl
mov dword [esi + 0x18], 0
mov dl, byte [0x7ceba8]
test dl, dl
setne dl
mov ecx, edi
mov byte [esi + 0x1c], dl
call fcn.004f0ff0
test al, al
je 0x50a4bc
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x14c]
mov dword [esi + 0x14], eax
jmp 0x50a4bf
mov dword [esi + 0x14], edi
mov ecx, dword [0x7cebec]
call fcn.0045e5c0
mov edi, dword [eax]
lea ecx, [edi + 4]
call fcn.004ee8b0
cmp eax, 0x41455243
je 0x50a4e6
cmp eax, 0x5f43504e
jne 0x50d62d
mov eax, dword [0x7cebec]
mov edx, dword [edi]
push eax
push esi
mov ecx, edi
call dword [edx + 0x17c]
jmp 0x50d62d
mov edi, dword [0x7ce6f8]
test edi, edi
mov ecx, dword [esp + 0x30]
mov ebx, dword [ecx]
je 0x50d62d
test ebx, ebx
je 0x50d62d
push 0x20
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
mov dword [esp + 0x268], 7
je 0x50a540
mov ecx, eax
call fcn.0050f440
mov esi, eax
jmp 0x50a542
xor esi, esi
mov ecx, edi
mov dword [esp + 0x268], 0xffffffff
call fcn.0045e5c0
fld dword [0x7cea48]
fcomp dword [0x746468]
mov edi, dword [eax]
fnstsw ax
test ah, 0x40
je 0x50a5a3
fld dword [0x7cea4c]
fcomp dword [0x746468]
fnstsw ax
test ah, 0x40
je 0x50a5a3
fld dword [0x7cea50]
fcomp dword [0x746468]
fnstsw ax
test ah, 0x40
je 0x50a5a3
mov dword [0x7cea48], 0x7f7fffff
mov dword [0x7cea4c], 0x7f7fffff
push 0x7cea48
lea ecx, [esi + 4]
mov dword [esi], 3
call fcn.0040a7e0
mov dl, byte [0x7cebb4]
mov byte [esi + 0x10], dl
mov dword [esi + 0x18], ebx
mov dl, byte [0x7ceba8]
test dl, dl
setne al
mov ecx, edi
mov byte [esi + 0x1c], al
call fcn.004f0ff0
test al, al
je 0x50a5ea
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0x14c]
mov dword [esi + 0x14], eax
jmp 0x50a5ed
mov dword [esi + 0x14], edi
mov ecx, dword [0x7cebec]
call fcn.0045e5c0
mov edi, dword [eax]
lea ecx, [edi + 4]
call fcn.004ee8b0
cmp eax, 0x41455243
je 0x50a614
cmp eax, 0x5f43504e
jne 0x50d62d
mov ecx, dword [0x7cebec]
mov eax, dword [edi]
push ecx
push esi
mov ecx, edi
call dword [eax + 0x17c]
jmp 0x50d62d
mov ebx, dword [0x7ce6f8]
test ebx, ebx
je 0x50d62d
push 0x20
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
mov dword [esp + 0x268], 8
je 0x50a661
mov ecx, eax
call fcn.0050f440
mov edi, eax
jmp 0x50a663
xor edi, edi
mov ecx, ebx
mov dword [esp + 0x268], 0xffffffff
call fcn.0045e5c0
fld dword [0x7cea48]
fcomp dword [0x746468]
mov ebx, dword [eax]
fnstsw ax
test ah, 0x40
je 0x50a6c4
fld dword [0x7cea4c]
fcomp dword [0x746468]
fnstsw ax
test ah, 0x40
je 0x50a6c4
fld dword [0x7cea50]
fcomp dword [0x746468]
fnstsw ax
test ah, 0x40
je 0x50a6c4
mov dword [0x7cea48], 0x7f7fffff
mov dword [0x7cea4c], 0x7f7fffff
push 0x7cea48
lea ecx, [edi + 4]
mov dword [edi], 4
call fcn.0040a7e0
mov dl, byte [0x7cebb4]
mov byte [edi + 0x10], dl
mov dword [edi + 0x18], 0
mov dl, byte [0x7ceba8]
test dl, dl
setne al
mov ecx, ebx
mov byte [edi + 0x1c], al
call fcn.004f0ff0
test al, al
je 0x50a70f
mov edx, dword [ebx]
mov ecx, ebx
call dword [edx + 0x14c]
mov dword [edi + 0x14], eax
jmp 0x50a712
mov dword [edi + 0x14], ebx
mov ecx, dword [0x7cebec]
call fcn.0045e5c0
mov ebx, dword [eax]
lea ecx, [ebx + 4]
call fcn.004ee8b0
cmp eax, 0x41455243
je 0x50a739
cmp eax, 0x5f43504e
jne 0x50d62d
mov ecx, dword [0x7cebec]
mov eax, dword [ebx]
push ecx
push edi
mov ecx, ebx
call dword [eax + 0x17c]
jmp 0x50a880
mov edx, dword [esp + 0x30]
mov ebx, dword [0x7ce6f8]
test ebx, ebx
mov eax, dword [edx]
mov dword [esp + 0x10], eax
je 0x50d62d
test eax, eax
je 0x50d62d
push 0x20
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov dword [esp + 0x268], 9
je 0x50a798
mov ecx, eax
call fcn.0050f440
mov edi, eax
jmp 0x50a79a
xor edi, edi
mov ecx, ebx
mov dword [esp + 0x268], 0xffffffff
call fcn.0045e5c0
fld dword [0x7cea48]
fcomp dword [0x746468]
mov ebx, dword [eax]
fnstsw ax
test ah, 0x40
je 0x50a7fb
fld dword [0x7cea4c]
fcomp dword [0x746468]
fnstsw ax
test ah, 0x40
je 0x50a7fb
fld dword [0x7cea50]
fcomp dword [0x746468]
fnstsw ax
test ah, 0x40
je 0x50a7fb
mov dword [0x7cea48], 0x7f7fffff
mov dword [0x7cea4c], 0x7f7fffff
push 0x7cea48
lea ecx, [edi + 4]
mov dword [edi], 4
call fcn.0040a7e0
mov al, byte [0x7cebb4]
mov ecx, dword [esp + 0x10]
mov byte [edi + 0x10], al
mov dword [edi + 0x18], ecx
mov dl, byte [0x7ceba8]
test dl, dl
setne dl
mov ecx, ebx
mov byte [edi + 0x1c], dl
call fcn.004f0ff0
test al, al
je 0x50a845
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x14c]
mov dword [edi + 0x14], eax
jmp 0x50a848
mov dword [edi + 0x14], ebx
mov ecx, dword [0x7cebec]
call fcn.0045e5c0
mov ebx, dword [eax]
lea ecx, [ebx + 4]
call fcn.004ee8b0
cmp eax, 0x41455243
je 0x50a86f
cmp eax, 0x5f43504e
jne 0x50d62d
mov eax, dword [0x7cebec]
mov edx, dword [ebx]
push eax
push edi
mov ecx, ebx
call dword [edx + 0x17c]
test esi, esi
je 0x50d62d
mov ecx, esi
call fcn.005264b0
test eax, eax
je 0x50d62d
mov ecx, esi
call fcn.005264b0
mov ecx, eax
call fcn.0053e020
jmp 0x50d62d
push 0x14
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
mov dword [esp + 0x268], 0xa
je 0x50a8d2
mov ecx, eax
call fcn.0050f440
mov esi, eax
jmp 0x50a8d4
xor esi, esi
push 0x7cea48
lea ecx, [esi + 4]
mov dword [esp + 0x26c], 0xffffffff
mov dword [esi], 1
call fcn.0040a7e0
mov dl, byte [0x7ceba8]
test dl, dl
setne cl
mov byte [esi + 0x10], cl
mov ecx, dword [0x7cebec]
call fcn.0045e5c0
mov edi, dword [eax]
lea ecx, [edi + 4]
call fcn.004ee8b0
cmp eax, 0x41455243
je 0x50a927
cmp eax, 0x5f43504e
jne 0x50d62d
mov eax, dword [0x7cebec]
mov edx, dword [edi]
push eax
push esi
mov ecx, edi
call dword [edx + 0x17c]
jmp 0x50d62d
push 0x14
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
mov esi, eax
mov dword [esi], 2
fld dword [0x7cea48]
add esp, 4
call sub.MSVCRT.dll__ftol
mov word [esi + 4], ax
fld dword [0x7cea4c]
call sub.MSVCRT.dll__ftol
mov byte [esi + 6], al
fld dword [0x7cea50]
call sub.MSVCRT.dll__ftol
mov byte [esi + 7], al
mov dl, byte [0x7ceba8]
test dl, dl
setne cl
lea edi, [esi + 8]
mov byte [esi + 0x10], cl
xor edx, edx
mov eax, edi
mov dword [eax], edx
mov dword [eax + 4], edx
mov ecx, dword [0x7cebc8]
xor eax, eax
test ecx, ecx
jle 0x50a9b8
mov ecx, 0x7ce9f0
mov dl, byte [ecx]
mov byte [eax + edi], dl
mov edx, dword [0x7cebc8]
inc eax
add ecx, 4
cmp eax, edx
jl 0x50a9a5
mov ecx, dword [0x7cebec]
call fcn.0045e5c0
mov edi, dword [eax]
lea ecx, [edi + 4]
call fcn.004ee8b0
cmp eax, 0x41455243
je 0x50a9df
cmp eax, 0x5f43504e
jne 0x50d62d
mov ecx, dword [0x7cebec]
mov eax, dword [edi]
push ecx
push esi
mov ecx, edi
call dword [eax + 0x17c]
jmp 0x50d62d
test esi, esi
je 0x50aa24
mov esi, dword [esi + 0xc8]
test esi, esi
je 0x50aa5b
mov ecx, esi
call fcn.00564df0
test eax, eax
je 0x50aa5b
mov ecx, eax
call fcn.0050fb90
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fstp dword [esp + 0xc]
jmp 0x50aa63
test ecx, ecx
je 0x50aa63
call fcn.0045e5c0
mov esi, dword [eax]
lea ecx, [esi + 4]
call fcn.004ee8b0
cmp eax, 0x41455243
je 0x50aa45
cmp eax, 0x5f43504e
jne 0x50aa5b
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x178]
test eax, eax
je 0x50aa5b
fild dword [eax]
fstp dword [esp + 0xc]
jmp 0x50aa63
mov dword [esp + 0xc], 0xbf800000
mov al, byte [0x7cebdc]
test al, al
je 0x50d62d
fld dword [esp + 0xc]
mov eax, dword [str.GetCurrentAIPackage]
sub esp, 8
fstp qword [esp]
jmp 0x50d58e
test esi, esi
je 0x50aac5
mov eax, dword [esi + 0xc8]
test eax, eax
je 0x50aac5
mov ecx, eax
call fcn.00564df0
test eax, eax
je 0x50aabb
mov ecx, dword [esi + 0xc8]
call fcn.00564e10
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fstp dword [esp + 0xc]
jmp 0x50aafc
mov dword [esp + 0xc], 0
jmp 0x50aafc
test ecx, ecx
je 0x50aafc
call fcn.0045e5c0
mov esi, dword [eax]
lea ecx, [esi + 4]
call fcn.004ee8b0
cmp eax, 0x41455243
je 0x50aae6
cmp eax, 0x5f43504e
jne 0x50aafc
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x178]
test eax, eax
jne 0x50aafc
mov dword [esp + 0xc], 0x3f800000
mov al, byte [0x7cebdc]
test al, al
je 0x50d62d
fld dword [esp + 0xc]
mov eax, dword [str.GetAIPackageDone]
sub esp, 8
fstp qword [esp]
jmp 0x50d58e
test esi, esi
je 0x50d62d
mov ecx, dword [ebp + 0x10]
test ecx, ecx
jne 0x50ab3a
mov ecx, dword [0x7ce6f8]
test ecx, ecx
je 0x50d62d
call fcn.004e5750
mov edi, eax
test edi, edi
je 0x50d62d
mov ecx, edi
call fcn.0050f590
push ecx
mov ecx, edi
fstp dword [esp]
call fcn.0055fe60
push eax
mov ecx, esi
call fcn.0050f590
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.0055fe60
push eax
call fcn.0053b200
add esp, 0x10
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
mov al, byte [0x7cebdc]
test al, al
fstp dword [esp + 0xc]
je 0x50d62d
fld dword [esp + 0xc]
mov edx, dword [str.GetLineOfSight]
mov eax, dword [0x7c67dc]
sub esp, 8
fstp qword [esp]
push edx
push str._s_____0.2f
push eax
call fcn.0040f970
add esp, 0x14
jmp 0x50d62d
test ecx, ecx
je 0x50d62d
call fcn.0045e5c0
mov ecx, dword [eax]
add ecx, 4
call fcn.004ee8b0
cmp eax, 0x41455243
je 0x50abee
cmp eax, 0x544e4f43
je 0x50abee
cmp eax, 0x5f43504e
jne 0x50d62d
mov ecx, dword [0x7cebec]
call fcn.0050e3a0
test al, al
jne 0x50ac3e
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x50ac07
push eax
jmp 0x50ac0e
mov ecx, dword [0x7ce6f8]
push ecx
mov ecx, dword [0x7cebec]
call fcn.0045e5c0
mov ecx, dword [eax]
call fcn.0050f620
mov ecx, eax
call fcn.0049a6c0
test eax, eax
je 0x50ac3e
mov eax, dword [eax]
cdq
xor eax, edx
sub eax, edx
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fstp dword [esp + 0xc]
mov al, byte [0x7cebdc]
test al, al
je 0x50d62d
fld dword [esp + 0xc]
mov edx, dword [str.GetItemCount]
mov eax, dword [0x7c67dc]
sub esp, 8
fstp qword [esp]
push edx
push str._s_____0.2f
push eax
call fcn.0040f970
add esp, 0x14
jmp 0x50d62d
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x50ac9c
mov ecx, dword [0x7c67dc]
mov ecx, dword [ecx + 0x60]
push eax
call fcn.0055d900
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 0
fild qword [esp + 0x10]
jmp 0x50acc0
mov edx, dword [0x7ce6f8]
mov eax, dword [0x7c67dc]
mov ecx, dword [eax + 0x60]
push edx
call fcn.0055d900
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 0
fild qword [esp + 0x10]
mov al, byte [0x7cebdc]
fstp dword [esp + 0xc]
test al, al
je 0x50d62d
fld dword [esp + 0xc]
mov ecx, dword [str.GetDeadCount]
sub esp, 8
fstp qword [esp]
jmp 0x5075fa
test esi, esi
je 0x50acfb
mov ecx, esi
call fcn.0050f770
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
jmp 0x50ad22
mov eax, dword [ecx]
call dword [eax + 0xd8]
test eax, eax
je 0x50ad26
mov ecx, dword [0x7cebec]
mov edx, dword [ecx]
call dword [edx + 0xd8]
xor ecx, ecx
mov cl, byte [eax + 2]
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
fstp dword [esp + 0xc]
mov al, byte [0x7cebdc]
test al, al
je 0x50d62d
fld dword [esp + 0xc]
mov edx, dword [str.GetFight]
mov eax, dword [0x7c67dc]
sub esp, 8
fstp qword [esp]
push edx
push str._s_____0.2f
push eax
call fcn.0040f970
add esp, 0x14
jmp 0x50d62d
test esi, esi
je 0x50ad79
fld dword [0x7cebac]
call sub.MSVCRT.dll__ftol
push eax
mov ecx, esi
call fcn.0050f7e0
mov ecx, dword [0x7cebec]
test ecx, ecx
je 0x50d62d
mov edx, dword [ecx]
call dword [edx + 0xd8]
mov esi, eax
test esi, esi
je 0x50d62d
fld dword [0x7cebac]
call sub.MSVCRT.dll__ftol
mov byte [esi + 2], al
mov al, byte [0x7cebdd]
test al, al
jne 0x50d62d
mov ecx, dword [0x7cebec]
call fcn.0045e5c0
mov esi, dword [eax]
mov ecx, esi
call fcn.004f0ff0
test al, al
je 0x50b1b9
jmp 0x50b1ad
test ecx, ecx
je 0x50addf
mov eax, dword [ecx]
call dword [eax + 0xd8]
mov dword [esp + 0x24], eax
test esi, esi
je 0x50ae19
mov ecx, esi
call fcn.0050f770
fld dword [0x7cebac]
mov edi, eax
call sub.MSVCRT.dll__ftol
add edi, eax
push edi
mov ecx, esi
call fcn.0050f7e0
mov edi, dword [esp + 0x24]
test edi, edi
je 0x50d62d
mov ecx, esi
call fcn.0050f770
mov byte [edi + 2], al
jmp 0x50ae37
mov eax, dword [esp + 0x24]
test eax, eax
je 0x50d62d
fld dword [0x7cebac]
call sub.MSVCRT.dll__ftol
mov ecx, dword [esp + 0x24]
add byte [ecx + 2], al
mov al, byte [0x7cebdd]
test al, al
jne 0x50d62d
mov ecx, dword [0x7cebec]
call fcn.0045e5c0
mov esi, dword [eax]
mov ecx, esi
call fcn.004f0ff0
test al, al
je 0x50b240
jmp 0x50b234
test esi, esi
je 0x50ae7a
mov ecx, esi
call fcn.0050f780
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
jmp 0x50aea1
mov edx, dword [ecx]
call dword [edx + 0xd8]
test eax, eax
je 0x50aea5
mov ecx, dword [0x7cebec]
mov eax, dword [ecx]
call dword [eax + 0xd8]
xor ecx, ecx
mov cl, byte [eax + 3]
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
fstp dword [esp + 0xc]
mov al, byte [0x7cebdc]
test al, al
je 0x50d62d
fld dword [esp + 0xc]
mov edx, dword [str.GetFlee]
mov eax, dword [0x7c67dc]
sub esp, 8
fstp qword [esp]
push edx
push str._s_____0.2f
push eax
call fcn.0040f970
add esp, 0x14
jmp 0x50d62d
test esi, esi
je 0x50aef8
fld dword [0x7cebac]
call sub.MSVCRT.dll__ftol
push eax
mov ecx, esi
call fcn.0050f7f0
mov ecx, dword [0x7cebec]
test ecx, ecx
je 0x50d62d
mov edx, dword [ecx]
call dword [edx + 0xd8]
mov esi, eax
test esi, esi
je 0x50d62d
fld dword [0x7cebac]
call sub.MSVCRT.dll__ftol
mov byte [esi + 3], al
jmp 0x50ada1
test ecx, ecx
je 0x50af35
mov eax, dword [ecx]
call dword [eax + 0xd8]
mov dword [esp + 0x24], eax
test esi, esi
je 0x50af72
mov ecx, esi
call fcn.0050f780
fld dword [0x7cebac]
mov edi, eax
call sub.MSVCRT.dll__ftol
add edi, eax
push edi
mov ecx, esi
call fcn.0050f7f0
mov edi, dword [esp + 0x24]
test edi, edi
je 0x50d62d
mov ecx, esi
call fcn.0050f780
mov byte [edi + 3], al
jmp 0x50ae37
mov eax, dword [esp + 0x24]
test eax, eax
je 0x50d62d
fld dword [0x7cebac]
call sub.MSVCRT.dll__ftol
mov ecx, dword [esp + 0x24]
add byte [ecx + 3], al
jmp 0x50ae37
test esi, esi
je 0x50afaa
mov ecx, esi
call fcn.0050f7a0
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
jmp 0x50afd5
test ecx, ecx
je 0x50afd9
mov edx, dword [ecx]
call dword [edx + 0xd8]
test eax, eax
je 0x50afd9
mov ecx, dword [0x7cebec]
mov eax, dword [ecx]
call dword [eax + 0xd8]
xor ecx, ecx
mov cl, byte [eax + 4]
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
fstp dword [esp + 0xc]
mov al, byte [0x7cebdc]
test al, al
je 0x50d62d
fld dword [esp + 0xc]
mov edx, dword [str.GetAlarm]
mov eax, dword [0x7c67dc]
sub esp, 8
fstp qword [esp]
push edx
push str._s_____0.2f
push eax
call fcn.0040f970
add esp, 0x14
jmp 0x50d62d
test esi, esi
je 0x50b02c
fld dword [0x7cebac]
call sub.MSVCRT.dll__ftol
push eax
mov ecx, esi
call fcn.0050f810
mov ecx, dword [0x7cebec]
test ecx, ecx
je 0x50d62d
mov edx, dword [ecx]
call dword [edx + 0xd8]
mov esi, eax
test esi, esi
je 0x50d62d
fld dword [0x7cebac]
call sub.MSVCRT.dll__ftol
mov byte [esi + 4], al
jmp 0x50ada1
test ecx, ecx
je 0x50b069
mov eax, dword [ecx]
call dword [eax + 0xd8]
mov dword [esp + 0x24], eax
test esi, esi
je 0x50b0a6
mov ecx, esi
call fcn.0050f7a0
fld dword [0x7cebac]
mov edi, eax
call sub.MSVCRT.dll__ftol
add edi, eax
push edi
mov ecx, esi
call fcn.0050f810
mov edi, dword [esp + 0x24]
test edi, edi
je 0x50d62d
mov ecx, esi
call fcn.0050f7a0
mov byte [edi + 4], al
jmp 0x50ae37
mov eax, dword [esp + 0x24]
test eax, eax
je 0x50d62d
fld dword [0x7cebac]
call sub.MSVCRT.dll__ftol
mov ecx, dword [esp + 0x24]
add byte [ecx + 4], al
jmp 0x50ae37
test esi, esi
je 0x50b0de
mov ecx, esi
call fcn.0050f790
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
jmp 0x50b109
test ecx, ecx
je 0x50b10d
mov edx, dword [ecx]
call dword [edx + 0xd8]
test eax, eax
je 0x50b10d
mov ecx, dword [0x7cebec]
mov eax, dword [ecx]
call dword [eax + 0xd8]
xor ecx, ecx
mov cx, word [eax]
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
fstp dword [esp + 0xc]
mov al, byte [0x7cebdc]
test al, al
je 0x50d62d
fld dword [esp + 0xc]
mov edx, dword [str.GetHello]
mov eax, dword [0x7c67dc]
sub esp, 8
fstp qword [esp]
push edx
push str._s_____0.2f
push eax
call fcn.0040f970
add esp, 0x14
jmp 0x50d62d
test esi, esi
je 0x50b160
fld dword [0x7cebac]
call sub.MSVCRT.dll__ftol
push eax
mov ecx, esi
call fcn.0050f800
mov ecx, dword [0x7cebec]
test ecx, ecx
je 0x50d62d
mov edx, dword [ecx]
call dword [edx + 0xd8]
mov esi, eax
test esi, esi
je 0x50d62d
fld dword [0x7cebac]
call sub.MSVCRT.dll__ftol
mov word [esi], ax
mov al, byte [0x7cebdd]
test al, al
jne 0x50d62d
mov ecx, dword [0x7cebec]
call fcn.0045e5c0
mov esi, dword [eax]
mov ecx, esi
call fcn.004f0ff0
test al, al
je 0x50b1b9
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x14c]
mov esi, eax
mov edx, dword [esi]
push 1
mov ecx, esi
call dword [edx + 0x14]
jmp 0x50d62d
test ecx, ecx
je 0x50b1d7
mov eax, dword [ecx]
call dword [eax + 0xd8]
mov dword [esp + 0x24], eax
test esi, esi
je 0x50b24e
mov ecx, esi
call fcn.0050f790
fld dword [0x7cebac]
mov edi, eax
call sub.MSVCRT.dll__ftol
add edi, eax
push edi
mov ecx, esi
call fcn.0050f800
mov edi, dword [esp + 0x24]
test edi, edi
je 0x50d62d
mov ecx, esi
call fcn.0050f790
mov word [edi], ax
mov al, byte [0x7cebdd]
test al, al
jne 0x50d62d
mov ecx, dword [0x7cebec]
call fcn.0045e5c0
mov esi, dword [eax]
mov ecx, esi
call fcn.004f0ff0
test al, al
je 0x50b240
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x14c]
mov esi, eax
mov eax, dword [esi]
push 1
mov ecx, esi
call dword [eax + 0x14]
jmp 0x50d62d
mov eax, dword [esp + 0x24]
test eax, eax
je 0x50d62d
fld dword [0x7cebac]
call sub.MSVCRT.dll__ftol
mov ecx, dword [esp + 0x24]
add word [ecx], ax
jmp 0x50ae37
mov ecx, dword [0x7c67e0]
call fcn.0048e350
mov ecx, eax
call fcn.004e22f0
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fstp dword [esp + 0xc]
jmp 0x50d62d
mov eax, dword [ebp + 0x10]
test eax, eax
jne 0x50b2d7
mov eax, dword [0x7cebb8]
test eax, eax
je 0x50b2b0
mov eax, dword [0x7ce6f8]
jmp 0x50b2cf
test ebx, ebx
je 0x50d62d
mov ecx, ebx
call fcn.00467350
mov ecx, eax
call fcn.0045e5c0
mov eax, dword [eax]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x68]
test eax, eax
je 0x50d62d
mov ecx, eax
call fcn.004ad880
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
mov al, byte [0x7cebdc]
test al, al
fstp dword [esp + 0xc]
je 0x50d62d
fld dword [esp + 0xc]
mov eax, dword [str.GetPCRank]
sub esp, 8
fstp qword [esp]
jmp 0x50d58e
mov eax, dword [0x7cebb8]
test eax, eax
je 0x50b31b
mov eax, dword [0x7ce6f8]
jmp 0x50b33a
test ebx, ebx
je 0x50d62d
mov ecx, ebx
call fcn.00467350
mov ecx, eax
call fcn.0045e5c0
mov eax, dword [eax]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x68]
test eax, eax
je 0x50d62d
mov ecx, eax
call fcn.0050fb20
call fcn.006266d0
jmp 0x50d62d
test esi, esi
je 0x50d62d
mov eax, dword [0x7cebb4]
mov ecx, dword [0x7ce6f8]
push 1
push eax
push 0
push ecx
mov ecx, esi
call fcn.0052c460
jmp 0x50d62d
test esi, esi
je 0x50d62d
mov edi, dword [0x7ce6f8]
push 0
push edi
mov ecx, esi
call fcn.00521610
mov ecx, eax
call fcn.0050f620
mov ecx, eax
call fcn.004997a0
push 0
push 1
push eax
push edi
mov ecx, esi
call fcn.0052c770
jmp 0x50d62d
mov ecx, dword [0x7cebf8]
mov eax, dword [ecx + 0x10]
test eax, eax
jne 0x50b3dc
mov edx, dword [esp + 0x2c]
mov eax, dword [edx + 0x6c]
test eax, eax
je 0x50d62d
mov eax, edx
add eax, 0x5c
push eax
call fcn.004fd6f0
jmp 0x50d62d
mov esi, dword [ebp + 0x10]
test esi, esi
jne 0x50b3fe
cmp byte [0x7ce6fd], 0x4f
jne 0x50d62d
mov esi, dword [0x7ce6ff]
test esi, esi
je 0x50d62d
push esi
call fcn.004fd7f0
test eax, eax
je 0x50d62d
cmp dword [eax], esi
jne 0x50d62d
mov cl, byte [eax + 4]
test cl, 2
je 0x50d62d
and cl, 0xfd
mov byte [eax + 4], cl
mov dword [esp + 0xc], 0x3f800000
jmp 0x50d62d
mov ecx, dword [0x7cebb4]
mov edx, dword [esp + 0x30]
mov esi, dword [0x7ce6f8]
mov eax, dword [edx]
push ecx
push eax
mov ecx, esi
call fcn.004ad720
mov al, byte [0x7cebdd]
test al, al
jne 0x50d62d
mov edx, dword [esi]
push 1
mov ecx, esi
call dword [edx + 0x14]
jmp 0x50d62d
mov eax, dword [0x7cebb4]
mov ecx, dword [esp + 0x30]
mov edx, dword [ecx]
mov esi, dword [0x7ce6f8]
push eax
push edx
mov ecx, esi
call fcn.004ad7c0
mov al, byte [0x7cebdd]
test al, al
jne 0x50d62d
mov eax, dword [esi]
push 1
mov ecx, esi
call dword [eax + 0x14]
jmp 0x50d62d
mov edx, dword [esp + 0x30]
mov eax, dword [edx]
mov ecx, dword [0x7ce6f8]
push eax
call fcn.004ad6c0
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
mov al, byte [0x7cebdc]
test al, al
fstp dword [esp + 0xc]
je 0x50d62d
fld dword [esp + 0xc]
mov ecx, dword [str.GetFactionReaction]
sub esp, 8
fstp qword [esp]
jmp 0x5075fa
mov esi, dword [ebp + 0x10]
test esi, esi
jne 0x50b4eb
mov esi, dword [0x7ce6f8]
mov ecx, dword [0x7c67e0]
call fcn.0048e350
mov ebx, eax
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x20]
mov edx, dword [esi]
or ecx, 0xffffffff
mov edi, eax
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
mov ecx, esi
call dword [edx + 0x20]
push eax
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x20]
push eax
call dword [sym.imp.MSVCRT.dll__strnicmp]
add esp, 0xc
test eax, eax
jne 0x50b531
mov dword [esp + 0xc], 0x3f800000
mov al, byte [0x7cebdc]
test al, al
je 0x50d62d
fld dword [esp + 0xc]
mov ecx, dword [str.GetPCCell]
mov edx, dword [0x7c67dc]
sub esp, 8
fstp qword [esp]
push ecx
push str._s_____0.2f
push edx
call fcn.0040f970
mov ecx, dword [0x7c67e0]
add esp, 0x14
call fcn.0048e350
mov esi, eax
mov ecx, esi
call fcn.004e22f0
test al, al
je 0x50b59c
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x20]
mov ecx, dword [0x7c67dc]
push eax
push str.Current_Cell_Info:__s__Interior_
push ecx
call fcn.0040f970
add esp, 0xc
jmp 0x50d62d
mov ecx, esi
call fcn.004db9f0
push eax
mov ecx, esi
call fcn.004db9d0
mov edx, dword [esi]
push eax
mov ecx, esi
call dword [edx + 0x20]
push eax
mov eax, dword [0x7c67dc]
push str.Current_Cell_Info:__s___d___d_
push eax
call fcn.0040f970
add esp, 0x14
jmp 0x50d62d
test ecx, ecx
je 0x50d62d
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
mov ecx, eax
call fcn.0050f6c0
cmp dword [0x7cebec], eax
jne 0x50d62d
mov dword [esp + 0xc], 0x3f800000
jmp 0x50d62d
test ecx, ecx
je 0x50d62d
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
test eax, eax
je 0x50b63d
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
mov ecx, eax
call fcn.0050f6c0
cmp dword [0x7cebec], eax
jne 0x50b63d
mov dword [esp + 0xc], 0x3f800000
jmp 0x50d62d
mov ecx, dword [0x7c67dc]
mov ecx, dword [ecx + 0x5c]
call fcn.0050f920
mov ecx, eax
call fcn.0050f910
mov edi, eax
mov ecx, edi
call fcn.0047e710
mov ecx, edi
mov esi, eax
call fcn.00408b30
cmp esi, eax
je 0x50d62d
mov ecx, esi
call fcn.004396a0
mov ecx, eax
call fcn.0050fba0
test eax, eax
je 0x50b691
mov ecx, eax
call fcn.0050f6c0
cmp dword [0x7cebec], eax
je 0x50b9d1
mov ecx, edi
call fcn.0047e720
mov ecx, edi
mov esi, eax
call fcn.00408b30
cmp esi, eax
jne 0x50b66c
jmp 0x50d62d
test ecx, ecx
je 0x50d62d
mov ecx, dword [0x7c67dc]
call fcn.0050f900
test al, al
jne 0x50d62d
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
test eax, eax
je 0x50b731
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
mov ecx, eax
call fcn.0050f6b0
test al, al
je 0x50b731
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
mov ecx, eax
call fcn.0050f6c0
cmp dword [0x7cebec], eax
jne 0x50b731
mov ecx, dword [0x7c67dc]
push 0
push 0
push 0
call fcn.0050f590
fmul dword [0x7cebac]
push ecx
mov ecx, dword [0x7c67dc]
fstp dword [esp]
call fcn.0040ff20
mov ecx, eax
call fcn.00557cf0
mov edx, dword [0x7c67dc]
mov ecx, dword [edx + 0x5c]
call fcn.0050f920
mov ecx, eax
call fcn.0050f910
mov edi, eax
mov ecx, edi
call fcn.0047e710
mov ecx, edi
mov esi, eax
call fcn.00408b30
cmp esi, eax
je 0x50d62d
mov ecx, esi
call fcn.004396a0
mov ecx, eax
call fcn.0050fba0
mov esi, eax
test esi, esi
je 0x50b7b0
mov ecx, esi
call fcn.0050f6b0
test al, al
je 0x50b7b0
mov ecx, esi
call fcn.0050f6c0
cmp dword [0x7cebec], eax
jne 0x50b7b0
mov ecx, dword [0x7c67dc]
push 0
push 0
push 0
call fcn.0050f590
fmul dword [0x7cebac]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00557cf0
mov ecx, edi
call fcn.0047e720
mov ecx, edi
mov esi, eax
call fcn.00408b30
cmp esi, eax
jne 0x50b760
jmp 0x50d62d
mov ecx, dword [0x7cebf8]
mov eax, dword [ecx + 0x10]
test eax, eax
je 0x50b83a
mov esi, dword [ebp + 0x10]
test esi, esi
jne 0x50b7f8
cmp byte [0x7ce6fd], 0x4f
jne 0x50d62d
mov esi, dword [0x7ce6ff]
test esi, esi
je 0x50d62d
push esi
call fcn.004fd7f0
test eax, eax
je 0x50d62d
cmp dword [eax], esi
jne 0x50d62d
mov cl, byte [eax + 4]
test cl, 0x10
je 0x50d62d
and cl, 0xef
mov byte [eax + 4], cl
mov dword [esp + 0xc], 0x3f800000
jmp 0x50d62d
mov ecx, dword [0x7cebf8]
mov eax, dword [ecx + 0x10]
test eax, eax
jne 0x50b859
mov eax, dword [esp + 0x2c]
mov edx, dword [eax + 0x6c]
test edx, edx
je 0x50d62d
mov edx, eax
add edx, 0x5c
push edx
call fcn.004fd6f0
jmp 0x50d62d
mov esi, dword [ebp + 0x10]
test esi, esi
jne 0x50b87b
cmp byte [0x7ce6fd], 0x4f
jne 0x50d62d
mov esi, dword [0x7ce6ff]
test esi, esi
je 0x50d62d
push esi
call fcn.004fd7f0
test eax, eax
je 0x50d62d
cmp dword [eax], esi
jne 0x50d62d
mov cl, byte [eax + 4]
test cl, 0x20
je 0x50d62d
and cl, 0xdf
mov byte [eax + 4], cl
mov dword [esp + 0xc], 0x3f800000
jmp 0x50d62d
mov eax, dword [0x7c67dc]
mov ecx, dword [eax + 0x2e4]
push 1
call fcn.005969b0
jmp 0x50d62d
mov ecx, dword [0x7c67dc]
mov ecx, dword [ecx + 0x2e4]
push 1
call fcn.005968d0
jmp 0x50d62d
mov edx, dword [0x7c67dc]
mov ecx, dword [edx + 0x2e4]
push 1
call fcn.00596b70
jmp 0x50d62d
mov eax, dword [0x7c67dc]
mov ecx, dword [eax + 0x2e4]
push 1
call fcn.00596a90
jmp 0x50d62d
call fcn.005f8490
jmp 0x50d62d
call fcn.0060bcb0
jmp 0x50d62d
call fcn.005b0870
jmp 0x50d62d
call fcn.005aaa20
jmp 0x50d62d
call fcn.005da820
jmp 0x50d62d
call fcn.0062ce60
jmp 0x50d62d
mov ecx, dword [0x7c67dc]
call fcn.0050f8f0
test al, al
je 0x50b96a
mov ecx, dword [esp + 0x30]
push 1
push 0
push ecx
call fcn.005f90c0
add esp, 0xc
mov edx, dword [0x7c67dc]
mov ecx, dword [edx + 0x34]
push 0
push 1
push 0x3f800000
push 0
call fcn.0050e450
mov ecx, dword [0x7c67e0]
push eax
mov eax, dword [0x7cebec]
push 0
push eax
push 0x7ce6f8
call fcn.0048c2b0
jmp 0x50d62d
test ecx, ecx
je 0x50d62d
call fcn.004e4ce0
test eax, eax
mov ecx, dword [0x7cebec]
je 0x50b9eb
call fcn.004e4ce0
mov ecx, eax
call fcn.0050f560
fcomp dword [0x7464b8]
fnstsw ax
test ah, 0x40
je 0x50b9de
mov dword [esp + 0xc], 0x3f800000
jmp 0x50d62d
mov dword [esp + 0xc], 0
jmp 0x50d62d
test ecx, ecx
je 0x50d62d
mov edx, dword [ecx]
call dword [edx + 0x20]
push eax
mov eax, dword [esp + 0x30]
push str.SayDone_needs_to_have_animation_on___s_
push eax
call fcn.004fd9c0
add esp, 0xc
jmp 0x50d62d
test esi, esi
je 0x50d62d
mov edi, dword [ebp + 0x10]
test edi, edi
jne 0x50ba2d
mov edi, dword [0x7ce6f8]
test edi, edi
je 0x50d62d
lea ecx, [edi + 4]
call fcn.004ee8b0
cmp eax, 0x4c455053
jne 0x50d62d
mov ecx, esi
call fcn.0052b3c0
test eax, eax
je 0x50ba62
push edi
mov ecx, esi
call fcn.0052b3c0
mov ecx, eax
call fcn.0047e7d0
test al, al
jne 0x50d62d
mov ecx, esi
call fcn.00521610
test eax, eax
je 0x50babd
mov ecx, esi
call fcn.00521610
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x60]
test eax, eax
je 0x50babd
mov ecx, esi
call fcn.00521610
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x60]
mov ecx, eax
call fcn.004a7760
test eax, eax
je 0x50babd
mov ecx, esi
call fcn.00521610
mov edx, dword [eax]
push edi
mov ecx, eax
call dword [edx + 0x60]
mov ecx, eax
call fcn.004a7760
mov ecx, eax
call fcn.0047e7d0
test al, al
jne 0x50d62d
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
cmp esi, eax
jne 0x50bb37
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
test eax, eax
je 0x50bb37
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
mov ecx, eax
call fcn.0050f9f0
test eax, eax
je 0x50bb37
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
mov ecx, eax
call fcn.0050f9f0
mov ecx, eax
call fcn.0050fcd0
test eax, eax
je 0x50bb37
mov ecx, dword [0x7c67dc]
push edi
call fcn.0040ff20
mov ecx, eax
call fcn.0050f9f0
mov ecx, eax
call fcn.0050fcd0
mov ecx, eax
call fcn.0047e7d0
test al, al
jne 0x50d62d
push edi
mov ecx, esi
call fcn.0052b3d0
mov ecx, eax
call fcn.004ac880
mov ecx, esi
call fcn.00521610
mov ebx, eax
mov al, byte [0x7cebdd]
test al, al
jne 0x50bb7f
mov ecx, ebx
call fcn.004f0ff0
test al, al
mov eax, dword [ebx]
je 0x50bb78
mov ecx, ebx
call dword [eax + 0x14c]
mov edx, dword [eax]
push 1
mov ecx, eax
call dword [edx + 0x14]
jmp 0x50bb7f
push 1
mov ecx, ebx
call dword [eax + 0x14]
mov ecx, edi
call fcn.004195e0
mov al, byte [eax]
test al, al
jle 0x50bc38
cmp al, 4
jle 0x50bbdf
cmp al, 5
jne 0x50bc38
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
cmp esi, eax
jne 0x50bc66
xor ecx, ecx
mov cx, word [0x7d431e]
push ecx
call fcn.00595370
add esp, 4
test eax, eax
je 0x50bc66
push edi
call fcn.005e3d00
add esp, 4
mov dword [esp + 0xc], 0x3f800000
jmp 0x50d62d
mov ecx, esi
call fcn.0050f5f0
test al, al
je 0x50bc66
push edi
lea ecx, [esp + 0x14]
call fcn.00496fc0
lea edx, [esp + 0x10]
push edx
push 0
mov ecx, esi
call fcn.00467350
push eax
mov eax, dword [0x7c67dc]
mov ecx, dword [eax + 0x70]
call fcn.00454a60
test eax, eax
je 0x50bc66
mov ecx, dword [0x7c67dc]
mov ecx, dword [ecx + 0x70]
push eax
call fcn.004553b0
test eax, eax
je 0x50bc66
mov byte [eax + 0x18], 1
mov dword [esp + 0xc], 0x3f800000
jmp 0x50d62d
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
cmp esi, eax
jne 0x50bc66
xor edx, edx
mov dx, word [0x7d431e]
push edx
call fcn.00595370
add esp, 4
test eax, eax
je 0x50bc66
push edi
call fcn.005e3d10
add esp, 4
mov dword [esp + 0xc], 0x3f800000
jmp 0x50d62d
test esi, esi
je 0x50d62d
mov ebx, dword [ebp + 0x10]
test ebx, ebx
jne 0x50bc88
mov ebx, dword [0x7ce6f8]
lea ecx, [ebx + 4]
call fcn.004ee8b0
cmp eax, 0x4c455053
jne 0x50d62d
lea ecx, [esp + 0x1c]
call fcn.0050f440
lea eax, [esp + 0xb8]
push eax
mov ecx, esi
call fcn.0050f870
mov ecx, eax
call fcn.0058d240
mov ecx, dword [eax]
lea edx, [esp + 0x58]
mov dword [esp + 0x1c], ecx
push edx
mov ecx, esi
call fcn.0050f870
mov ecx, eax
call fcn.0050f430
push eax
lea ecx, [esp + 0x20]
call fcn.0050f490
test al, al
je 0x50bd86
lea ecx, [esp + 0x1c]
call fcn.0050f450
add byte [eax], al
mov eax, dword [eax]
mov ecx, dword [0x7c67dc]
mov ecx, dword [ecx + 0x70]
push eax
call fcn.004553b0
push 0
lea edx, [esp + 0xb0]
push edx
lea ecx, [esp + 0x24]
mov edi, eax
call fcn.0050f480
test edi, edi
je 0x50bd61
mov ecx, edi
call fcn.0050fc20
mov ecx, eax
call fcn.0050f610
cmp eax, 1
jne 0x50bd61
mov ecx, edi
call fcn.0050fc20
cmp dword [eax], ebx
jne 0x50bd61
mov ecx, esi
call fcn.00467350
push eax
mov ecx, edi
call fcn.00512940
add byte [ebp + 0xb42484], cl
add byte [eax], al
push eax
mov ecx, esi
call fcn.0050f870
mov ecx, eax
call fcn.0058d240
mov ecx, dword [eax]
mov dword [esp + 0x1c], ecx
lea edx, [esp + 0x58]
push edx
mov ecx, esi
call fcn.0050f870
mov ecx, eax
call fcn.0050f430
push eax
lea ecx, [esp + 0x20]
call fcn.0050f490
add byte [eax], al
test al, al
jne 0x50bce5
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
cmp esi, eax
jne 0x50bdb8
xor eax, eax
mov ax, word [0x7d431e]
push eax
call fcn.00595370
add esp, 4
test eax, eax
je 0x50bdb8
push ebx
call fcn.005e3bd0
add esp, 4
call fcn.005e2480
push ebx
mov ecx, esi
call fcn.0052b3d0
mov ecx, eax
call fcn.004acbe0
mov ecx, esi
call fcn.00521610
mov esi, eax
mov al, byte [0x7cebdd]
test al, al
jne 0x50d62d
mov ecx, esi
call fcn.004f0ff0
test al, al
je 0x50b240
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x14c]
mov edx, dword [eax]
push 1
mov ecx, eax
call dword [edx + 0x14]
jmp 0x50d62d
test esi, esi
je 0x50d62d
mov edi, dword [ebp + 0x10]
test edi, edi
jne 0x50be19
mov edi, dword [0x7ce6f8]
lea ecx, [edi + 4]
call fcn.004ee8b0
cmp eax, 0x4c455053
jne 0x50d62d
push edi
mov ecx, esi
call fcn.0052b3d0
mov ecx, eax
call fcn.004acb50
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
mov al, byte [0x7cebdc]
test al, al
fstp dword [esp + 0xc]
je 0x50d62d
fld dword [esp + 0xc]
mov ecx, dword [str.GetSpell]
sub esp, 8
fstp qword [esp]
jmp 0x5075fa
test esi, esi
je 0x50d62d
mov eax, dword [ebp + 0x10]
test eax, eax
mov ebx, eax
jne 0x50be85
mov ebx, dword [0x7ce6f8]
lea ecx, [ebx + 4]
call fcn.004ee8b0
cmp eax, 0x4c455053
jne 0x50d62d
lea ecx, [esp + 0x1c]
call fcn.0050f440
lea eax, [esp + 0xbc]
push eax
mov ecx, esi
call fcn.0050f870
mov ecx, eax
call fcn.0058d240
mov ecx, dword [eax]
lea edx, [esp + 0x60]
mov dword [esp + 0x1c], ecx
push edx
mov ecx, esi
call fcn.0050f870
mov ecx, eax
call fcn.0050f430
push eax
lea ecx, [esp + 0x20]
call fcn.0050f490
test al, al
je 0x50d62d
lea ecx, [esp + 0x1c]
call fcn.0050f450
mov eax, dword [eax]
mov ecx, dword [0x7c67dc]
mov ecx, dword [ecx + 0x70]
push eax
call fcn.004553b0
mov edi, eax
test edi, edi
je 0x50bf35
mov ecx, edi
call fcn.0050fc20
mov ecx, eax
call fcn.0050f610
cmp eax, 1
jne 0x50bf35
mov ecx, edi
call fcn.0050fc20
cmp dword [eax], ebx
jne 0x50bf35
mov ecx, edi
call fcn.005127e0
mov ecx, edi
call fcn.0050fc10
mov dword [eax + 4], 6
push 0
lea edx, [esp + 0xc8]
push edx
lea ecx, [esp + 0x24]
call fcn.0050f480
lea eax, [esp + 0x60]
push eax
mov ecx, esi
call fcn.0050f870
mov ecx, eax
call fcn.0050f430
push eax
lea ecx, [esp + 0x20]
call fcn.0050f490
test al, al
jne 0x50bee2
jmp 0x50d62d
test esi, esi
je 0x50d62d
mov eax, dword [ebp + 0x10]
test eax, eax
mov ebx, eax
jne 0x50bf89
mov ebx, dword [0x7ce6f8]
lea ecx, [ebx + 4]
call fcn.004ee8b0
cmp eax, 0x4c455053
jne 0x50d62d
lea ecx, [esp + 0x1c]
call fcn.0050f440
lea ecx, [esp + 0xa4]
push ecx
mov ecx, esi
call fcn.0050f870
mov ecx, eax
call fcn.0058d240
mov edx, dword [eax]
lea eax, [esp + 0x64]
push eax
mov ecx, esi
mov dword [esp + 0x20], edx
call fcn.0050f870
mov ecx, eax
call fcn.0050f430
push eax
lea ecx, [esp + 0x20]
call fcn.0050f490
test al, al
je 0x50c05c
lea ecx, [esp + 0x1c]
call fcn.0050f450
mov ecx, dword [eax]
mov edx, dword [0x7c67dc]
push ecx
mov ecx, dword [edx + 0x70]
call fcn.004553b0
mov edi, eax
test edi, edi
je 0x50c028
mov ecx, edi
call fcn.0050fc20
mov ecx, eax
call fcn.0050f610
cmp eax, 1
jne 0x50c028
mov ecx, edi
call fcn.0050fc20
cmp dword [eax], ebx
jne 0x50c028
mov dword [esp + 0xc], 0x3f800000
push 0
lea eax, [esp + 0xb4]
push eax
lea ecx, [esp + 0x24]
call fcn.0050f480
lea ecx, [esp + 0x64]
push ecx
mov ecx, esi
call fcn.0050f870
mov ecx, eax
call fcn.0050f430
push eax
lea ecx, [esp + 0x20]
call fcn.0050f490
test al, al
jne 0x50bfe2
mov al, byte [0x7cebdc]
test al, al
je 0x50d62d
fld dword [esp + 0xc]
mov edx, dword [str.GetSpellEffects]
mov eax, dword [0x7c67dc]
sub esp, 8
fstp qword [esp]
push edx
push str._s_____0.2f
push eax
call fcn.0040f970
add esp, 0x14
jmp 0x50d62d
test esi, esi
je 0x50d62d
lea ecx, [esp + 0x1c]
call fcn.0050f440
lea ecx, [esp + 0xc0]
push ecx
mov ecx, esi
call fcn.0050f870
mov ecx, eax
call fcn.0058d240
mov edx, dword [eax]
lea eax, [esp + 0x5c]
push eax
mov ecx, esi
mov dword [esp + 0x20], edx
call fcn.0050f870
mov ecx, eax
call fcn.0050f430
push eax
lea ecx, [esp + 0x20]
call fcn.0050f490
test al, al
je 0x50c132
mov edi, dword [ebp + 0x10]
lea ecx, [esp + 0x1c]
call fcn.0050f450
movsx ecx, word [eax + 6]
cmp ecx, edi
je 0x50c12a
push 0
lea edx, [esp + 0xac]
push edx
lea ecx, [esp + 0x24]
call fcn.0050f480
lea eax, [esp + 0x5c]
push eax
mov ecx, esi
call fcn.0050f870
mov ecx, eax
call fcn.0050f430
push eax
lea ecx, [esp + 0x20]
call fcn.0050f490
test al, al
jne 0x50c0e3
jmp 0x50c132
mov dword [esp + 0xc], 0x3f800000
mov al, byte [0x7cebdc]
test al, al
je 0x50d62d
fld dword [esp + 0xc]
mov ecx, dword [str.GetEffect]
sub esp, 8
fstp qword [esp]
jmp 0x5075fa
test esi, esi
je 0x50d62d
mov eax, dword [ebp + 0x10]
push 0x64
push eax
mov ecx, esi
call fcn.00467350
mov ecx, dword [0x7c67dc]
mov ecx, dword [ecx + 0x70]
push eax
call fcn.00455880
jmp 0x50d62d
test ecx, ecx
je 0x50d62d
mov edi, dword [0x7ce6f8]
test edi, edi
je 0x50d62d
lea ecx, [edi + 4]
call fcn.004ee8b0
cmp eax, 0x4c455053
jne 0x50d62d
test esi, esi
je 0x50c1d0
mov ecx, esi
call fcn.0050f5f0
test al, al
je 0x50d62d
push 1
push edi
mov ecx, esi
call fcn.0052b220
push esi
mov ecx, esi
call fcn.0052f790
jmp 0x50d62d
push edi
lea ecx, [esp + 0x14]
call fcn.00496fc0
mov eax, dword [0x7cebec]
mov ecx, dword [0x7c67dc]
mov ecx, dword [ecx + 0x70]
lea edx, [esp + 0x10]
push edx
push 0
push eax
call fcn.00454a60
mov edx, dword [0x7c67dc]
mov ecx, dword [edx + 0x70]
push eax
call fcn.004553b0
mov dword [eax + 0x10], 0x42c80000
mov ecx, dword [0x7cebec]
mov dword [eax + 0x14], ecx
jmp 0x50d62d
test ecx, ecx
je 0x50d62d
mov eax, dword [0x7ce6f8]
mov edx, dword [esp + 0x30]
mov edi, dword [edx]
lea ecx, [eax + 4]
mov dword [esp + 0x10], eax
call fcn.004ee8b0
cmp eax, 0x4c455053
jne 0x50d62d
lea ebx, [edi + 4]
mov ecx, ebx
call fcn.004ee8b0
cmp eax, 0x5f43504e
je 0x50c266
mov ecx, ebx
call fcn.004ee8b0
cmp eax, 0x41455243
jne 0x50d62d
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
mov ecx, eax
call fcn.0050f950
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x14c]
cmp edi, eax
jne 0x50c29a
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
mov ecx, eax
call fcn.00467350
jmp 0x50c2c1
mov ecx, edi
call fcn.004f0ff0
test al, al
je 0x50c2ae
mov ecx, edi
call fcn.0050e590
jmp 0x50c2c1
mov ecx, dword [0x7c67e0]
push edi
call fcn.00431170
mov ecx, eax
call fcn.004b90f0
mov edi, eax
test edi, edi
je 0x50d62d
mov eax, dword [0x7cebec]
test eax, eax
je 0x50d62d
test esi, esi
je 0x50c30d
mov ecx, esi
call fcn.0050f5f0
test al, al
je 0x50d62d
mov eax, dword [esp + 0x10]
push 1
push eax
mov ecx, esi
call fcn.0052b220
mov ecx, edi
call fcn.004e5750
push eax
mov ecx, esi
call fcn.0052f790
jmp 0x50d62d
mov ecx, dword [esp + 0x10]
push ecx
lea ecx, [esp + 0x38]
call fcn.00496fc0
mov eax, dword [0x7cebec]
mov ecx, dword [0x7c67dc]
mov ecx, dword [ecx + 0x70]
lea edx, [esp + 0x34]
push edx
push 0
push eax
call fcn.00454a60
mov edx, dword [0x7c67dc]
mov ecx, dword [edx + 0x70]
push eax
call fcn.004553b0
mov dword [eax + 0x10], 0x42c80000
mov dword [eax + 0x14], edi
jmp 0x50d62d
mov eax, dword [0x7cebb4]
test eax, eax
mov esi, dword [0x7ce6f8]
jl 0x50d62d
cmp eax, 0xa
jge 0x50d62d
push eax
mov ecx, esi
call fcn.004812f0
mov al, byte [0x7cebdd]
test al, al
jne 0x50d62d
mov eax, dword [esi]
push 1
mov ecx, esi
call dword [eax + 0x14]
jmp 0x50d62d
mov edi, dword [0x7ce6f8]
mov ebx, dword [esp + 0x1c]
xor esi, esi
xor ecx, ecx
mov cl, byte [ebx + esi]
push ecx
push esi
mov ecx, edi
call fcn.00481230
inc esi
cmp esi, 0xa
jl 0x50c39f
mov ecx, edi
call fcn.004812a0
mov al, byte [0x7cebdd]
test al, al
jne 0x50d62d
mov edx, dword [edi]
push 1
mov ecx, edi
call dword [edx + 0x14]
jmp 0x50d62d
mov eax, dword [0x7c67dc]
mov ecx, dword [eax + 0x58]
call fcn.004420e0
fstp dword [esp + 0xc]
mov al, byte [0x7cebdc]
test al, al
je 0x50d62d
fld dword [esp + 0xc]
mov ecx, dword [str.GetWindSpeed]
sub esp, 8
fstp qword [esp]
jmp 0x5075fa
mov eax, dword [0x7c67dc]
mov ecx, dword [eax + 0x58]
call fcn.004424e0
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
mov al, byte [0x7cebdc]
test al, al
fstp dword [esp + 0xc]
je 0x50d62d
fld dword [esp + 0xc]
mov ecx, dword [str.GetCurrentWeather]
sub esp, 8
fstp qword [esp]
jmp 0x5075fa
mov ecx, dword [esp + 0x2c]
fld dword [0x7cebac]
mov eax, dword [ecx]
sub esp, 8
fstp qword [esp]
call dword [eax + 0x20]
push eax
push str.SCRIPT__s_calls_FadeOut_over__f_seconds
call fcn.006e9a00
mov ecx, dword [0x7cebac]
add esp, 0x10
push 0
push ecx
mov ecx, dword [0x7c67dc]
call fcn.0050f780
mov ecx, eax
call fcn.004092d0
jmp 0x50d62d
mov ecx, dword [esp + 0x2c]
fld dword [0x7cebac]
mov edx, dword [ecx]
sub esp, 8
fstp qword [esp]
call dword [edx + 0x20]
push eax
push str.SCRIPT__s_calls_FadeIn_over__f_seconds
call fcn.006e9a00
mov eax, dword [0x7cebac]
mov ecx, dword [0x7c67dc]
add esp, 0x10
push 0
push eax
call fcn.0050f780
mov ecx, eax
call fcn.004092b0
jmp 0x50d62d
fld dword [0x7cebac]
mov ecx, dword [0x7cebb8]
sub esp, 8
fstp qword [esp]
push ecx
mov ecx, dword [esp + 0x38]
mov edx, dword [ecx]
call dword [edx + 0x20]
push eax
push str.SCRIPT__s_calls_FadeTo__d_over__f_seconds
call fcn.006e9a00
fild dword [0x7cebb8]
mov eax, dword [0x7cebac]
add esp, 0x14
fmul dword [0x746608]
push 0
push eax
push ecx
mov ecx, dword [0x7c67dc]
fstp dword [esp]
call fcn.0050f780
mov ecx, eax
call fcn.00409290
jmp 0x50d62d
test ecx, ecx
je 0x50d62d
mov eax, dword [0x7cebb4]
test eax, eax
jne 0x50c536
push 0
jmp 0x50c538
push 1
call fcn.004eec70
mov ecx, dword [0x7cebec]
mov edx, dword [ecx]
push 1
call dword [edx + 0x14]
jmp 0x50d62d
call fcn.004e58d0
test eax, eax
je 0x50c576
mov ecx, dword [0x7cebec]
call fcn.0045e5c0
mov ecx, dword [0x7cebec]
mov esi, eax
call fcn.004e5970
mov ecx, dword [esi + 0xc]
mov dword [eax + 8], ecx
mov ecx, dword [0x7cebec]
push 0x100
call fcn.004e55e0
mov ecx, dword [0x7cebec]
push 0x400
call fcn.004e55e0
mov ecx, dword [0x7cebec]
push 0x200
call fcn.004e55e0
mov ecx, dword [0x7cebec]
push 0x800
call fcn.004e55e0
test edi, edi
je 0x50c5e4
mov ecx, dword [0x7cebec]
push 0
lea edx, [esp + 0x240]
push edx
call fcn.004e8450
push eax
mov ecx, edi
call fcn.0050e020
push 1
push 0
push 0
mov ecx, edi
call fcn.006eb000
mov ecx, dword [0x7cebec]
call fcn.004e7df0
mov ecx, dword [0x7cebb4]
mov dword [eax], ecx
or dword [eax + 0xc], 1
mov al, byte [0x7cebdd]
test al, al
jne 0x50d62d
mov ecx, dword [0x7cebec]
mov edx, dword [ecx]
push 1
call dword [edx + 0x14]
jmp 0x50d62d
test ecx, ecx
je 0x50d62d
call fcn.004e5220
test eax, eax
je 0x50d62d
and dword [eax + 0xc], 0xfffffffe
jmp 0x507218
test eax, eax
je 0x50d62d
lea ecx, [eax + 4]
call fcn.004ee8b0
cmp eax, 0x5f43504e
jne 0x50d62d
mov esi, dword [ebp + 0x10]
test esi, esi
jne 0x50c660
mov esi, dword [0x7ce6f8]
mov ecx, dword [0x7cebf4]
mov edx, dword [ecx]
call dword [edx + 0x60]
cmp esi, eax
jne 0x50c677
mov dword [esp + 0xc], 0x3f800000
mov al, byte [0x7cebdc]
test al, al
je 0x50d62d
fld dword [esp + 0xc]
mov eax, dword [str.GetRace]
sub esp, 8
fstp qword [esp]
jmp 0x50d58e
mov al, byte [0x7cebdc]
test al, al
je 0x50d62d
mov edx, dword [str.XBox]
mov eax, dword [0x7c67dc]
push 0
push 0
push edx
push str._s_____0.0f
push eax
call fcn.0040f970
add esp, 0x14
jmp 0x50d62d
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
mov ecx, eax
call fcn.005264b0
mov esi, eax
mov ecx, esi
call fcn.0050fc50
test al, al
jne 0x50d62d
push 1
mov ecx, esi
call fcn.0050fc60
jmp 0x50d62d
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
mov ecx, eax
call fcn.005264b0
mov esi, eax
mov ecx, esi
call fcn.0050fc50
test al, al
je 0x50d62d
push 1
mov ecx, esi
call fcn.0050fc60
jmp 0x50d62d
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xac]
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
mov al, byte [0x7cebdc]
test al, al
fstp dword [esp + 0xc]
je 0x50d62d
fld dword [esp + 0xc]
mov eax, dword [str.PCGet3rdPerson]
mov ecx, dword [0x7c67dc]
sub esp, 8
fstp qword [esp]
push eax
push str._s_____0.0f
push ecx
call fcn.0040f970
add esp, 0x14
jmp 0x50d62d
mov edx, dword [0x7c67dc]
mov ecx, dword [edx + 0x58]
push 0
call fcn.00442500
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
mov al, byte [0x7cebdc]
test al, al
fstp dword [esp + 0xc]
je 0x50d62d
fld dword [esp + 0xc]
mov eax, dword [str.GetMasserPhase]
mov ecx, dword [0x7c67dc]
sub esp, 8
fstp qword [esp]
push eax
push str._s_____0.0f
push ecx
call fcn.0040f970
add esp, 0x14
jmp 0x50d62d
mov edx, dword [0x7c67dc]
mov ecx, dword [edx + 0x58]
push 1
call fcn.00442500
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
mov al, byte [0x7cebdc]
test al, al
fstp dword [esp + 0xc]
je 0x50d62d
fld dword [esp + 0xc]
mov eax, dword [str.GetSecundaPhase]
mov ecx, dword [0x7c67dc]
sub esp, 8
fstp qword [esp]
push eax
push str._s_____0.0f
push ecx
call fcn.0040f970
add esp, 0x14
jmp 0x50d62d
test esi, esi
je 0x50c846
mov ecx, esi
call fcn.0050f660
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fstp dword [esp + 0xc]
mov al, byte [0x7cebdc]
test al, al
je 0x50d62d
fld dword [esp + 0xc]
mov edx, dword [str.GetAttacked]
mov eax, dword [0x7c67dc]
sub esp, 8
fstp qword [esp]
push edx
push str._s_____0.0f
push eax
call fcn.0040f970
add esp, 0x14
jmp 0x50d62d
test esi, esi
je 0x50c8ce
mov ecx, esi
call fcn.0052b3c0
mov edi, eax
mov ecx, edi
call fcn.0047e710
mov ecx, edi
mov esi, eax
call fcn.00408b30
cmp esi, eax
je 0x50c8ce
mov ecx, esi
call fcn.004396a0
mov ecx, eax
call fcn.004195e0
cmp byte [eax], 3
je 0x50c8c6
mov ecx, edi
call fcn.0047e720
mov ecx, edi
mov esi, eax
call fcn.00408b30
cmp esi, eax
jne 0x50c89d
jmp 0x50c8ce
mov dword [esp + 0xc], 0x3f800000
mov al, byte [0x7cebdc]
test al, al
je 0x50d62d
fld dword [esp + 0xc]
mov ecx, dword [str.GetCommonDisease]
mov edx, dword [0x7c67dc]
sub esp, 8
fstp qword [esp]
push ecx
push str._s_____0.0f
push edx
call fcn.0040f970
add esp, 0x14
jmp 0x50d62d
test esi, esi
je 0x50c957
mov ecx, esi
call fcn.0052b3c0
mov edi, eax
mov ecx, edi
call fcn.0047e710
mov ecx, edi
mov esi, eax
call fcn.00408b30
cmp esi, eax
je 0x50c957
mov ecx, esi
call fcn.004396a0
mov ecx, eax
call fcn.004195e0
cmp byte [eax], 2
je 0x50c94f
mov ecx, edi
call fcn.0047e720
mov ecx, edi
mov esi, eax
call fcn.00408b30
cmp esi, eax
jne 0x50c926
jmp 0x50c957
mov dword [esp + 0xc], 0x3f800000
mov al, byte [0x7cebdc]
test al, al
je 0x50d62d
fld dword [esp + 0xc]
mov eax, dword [str.GetBlightDisease]
mov ecx, dword [0x7c67dc]
sub esp, 8
fstp qword [esp]
push eax
push str._s_____0.0f
push ecx
call fcn.0040f970
add esp, 0x14
jmp 0x50d62d
push 0
jmp 0x50c993
push 1
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
mov ecx, eax
call fcn.0050fab0
jmp 0x50d62d
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
mov ecx, eax
call fcn.0050faa0
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
mov al, byte [0x7cebdc]
test al, al
fstp dword [esp + 0xc]
je 0x50d62d
fld dword [esp + 0xc]
mov edx, dword [str.GetPlayerViewSwitch_]
mov eax, dword [0x7c67dc]
sub esp, 8
fstp qword [esp]
push edx
push str._s_____0.0f
push eax
call fcn.0040f970
add esp, 0x14
jmp 0x50d62d
mov ecx, dword [ebp + 0x10]
test ecx, ecx
jne 0x50ca14
mov ecx, dword [0x7ce6f8]
test ecx, ecx
je 0x50ca1b
call fcn.004e5750
mov esi, eax
test esi, esi
je 0x50d62d
mov ecx, dword [0x7c67dc]
mov ecx, dword [ecx + 0x5c]
push 1
push esi
call fcn.0050f920
mov ecx, eax
call fcn.00570a60
test al, al
je 0x50ca47
mov dword [esp + 0xc], 0x3f800000
mov al, byte [0x7cebdc]
test al, al
je 0x50d62d
fld dword [esp + 0xc]
mov edx, dword [str.GetDetected]
mov eax, dword [0x7c67dc]
sub esp, 8
fstp qword [esp]
push edx
push str._s_____0.0f
push eax
call fcn.0040f970
add esp, 0x14
jmp 0x50d62d
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
mov ecx, eax
call fcn.0056ae70
jmp 0x50d62d
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
mov ecx, eax
call fcn.0056b3a0
jmp 0x50d62d
test esi, esi
je 0x50d62d
mov ecx, dword [ebp + 0x10]
test ecx, ecx
jne 0x50cac8
mov ecx, dword [0x7ce6f8]
test ecx, ecx
je 0x50d62d
call fcn.004e5750
mov edi, eax
test edi, edi
je 0x50d62d
lea ecx, [esi + 0xcc]
call fcn.0050f630
cmp eax, edi
jne 0x50caee
mov dword [esp + 0xc], 0x3f800000
mov al, byte [0x7cebdc]
test al, al
je 0x50d62d
fld dword [esp + 0xc]
mov ecx, dword [str.GetTarget]
sub esp, 8
fstp qword [esp]
jmp 0x5075fa
mov ecx, dword [0x7c67e0]
push 0x7ce6f8
call fcn.00431170
mov ecx, eax
call fcn.004c8480
jmp 0x50d62d
mov ecx, dword [0x7c6cdc]
test ecx, ecx
je 0x50d62d
call fcn.0050f8d0
test eax, eax
je 0x50d62d
mov eax, dword [0x7c67dc]
mov ecx, dword [eax + 0x34]
push 0
call fcn.0050e410
mov ecx, dword [0x7c67dc]
mov ecx, dword [ecx + 0x34]
push 0
mov byte [esp + 0x24], al
call fcn.0050e450
mov edx, dword [0x7c67dc]
mov ecx, dword [edx + 0x34]
push 0
mov byte [esp + 0x20], al
call fcn.0050e490
mov byte [esp + 0x30], al
mov eax, dword [0x7c67dc]
mov ecx, dword [eax + 0x34]
call fcn.004027d0
fstp dword [esp + 0x24]
mov ecx, dword [0x7c67dc]
mov ecx, dword [ecx + 0x34]
push 0
call fcn.0050e3e0
mov edx, dword [0x7c67dc]
mov ecx, dword [edx + 0x34]
push 0
call fcn.0050e3f0
mov eax, dword [0x7c67dc]
mov ecx, dword [eax + 0x34]
push 0
call fcn.0050e400
mov ecx, dword [0x7c67dc]
mov ecx, dword [ecx + 0x34]
push 0
call fcn.00403a10
mov ecx, dword [0x7c6cdc]
push 1
call fcn.0050f8d0
mov ecx, eax
call fcn.004599e0
mov ecx, dword [0x7c6cdc]
push 0
call fcn.0050f8d0
mov ecx, eax
call fcn.0050fc70
mov bl, byte [0x7ceba8]
mov ecx, dword [0x7c6cdc]
push 1
push 0
push 0
test bl, bl
push 0
setne dl
mov byte [esp + 0x20], dl
mov eax, dword [esp + 0x20]
push 0
push eax
push 0x7ce6f8
call fcn.0050f8d0
mov ecx, eax
call fcn.004587e0
mov ecx, dword [0x7c6cdc]
call fcn.0050f8d0
mov ecx, eax
call fcn.0050fc90
test al, al
je 0x50cc73
mov ecx, dword [0x7c6cdc]
push 1
push 1
push 1
call fcn.0050f8d0
mov ecx, eax
call fcn.00458910
mov ecx, dword [0x7c6cdc]
call fcn.0050f8d0
mov ecx, eax
call fcn.0050fc90
test al, al
jne 0x50cc45
mov ecx, dword [esp + 0x20]
mov edx, dword [0x7c67dc]
push ecx
mov ecx, dword [edx + 0x34]
call fcn.0050e3e0
mov eax, dword [esp + 0x1c]
mov ecx, dword [0x7c67dc]
mov ecx, dword [ecx + 0x34]
push eax
call fcn.0050e3f0
mov edx, dword [esp + 0x30]
mov eax, dword [0x7c67dc]
mov ecx, dword [eax + 0x34]
push edx
call fcn.0050e400
mov ecx, dword [esp + 0x24]
mov edx, dword [0x7c67dc]
push ecx
mov ecx, dword [edx + 0x34]
call fcn.00403a10
jmp 0x50d62d
call fcn.0045e5c0
mov eax, dword [eax]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x74]
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
mov al, byte [0x7cebdc]
test al, al
fstp dword [esp + 0xc]
je 0x50d62d
fld dword [esp + 0xc]
mov eax, dword [str.GetLevel]
sub esp, 8
fstp qword [esp]
jmp 0x50d58e
test ecx, ecx
je 0x50d62d
call fcn.0045e5c0
mov ecx, dword [eax]
add ecx, 4
call fcn.004ee8b0
cmp eax, 0x5f43504e
jne 0x50d62d
mov ecx, dword [0x7cebec]
call fcn.0045e5c0
mov ecx, dword [eax]
call fcn.004f0ff0
test al, al
mov ecx, dword [0x7cebec]
je 0x50cd54
call fcn.0045e5c0
mov ecx, dword [eax]
call fcn.0050f940
mov dx, word [0x7cebb4]
mov word [eax], dx
jmp 0x50cd6a
call fcn.0045e5c0
mov ecx, dword [eax]
call fcn.0050f930
mov cx, word [0x7cebb4]
mov word [eax], cx
mov ecx, dword [0x7cebec]
call fcn.0045e5c0
mov eax, dword [eax]
mov edx, dword [eax]
push 1
mov ecx, eax
call dword [edx + 0x14]
test ebx, ebx
je 0x50d62d
mov ecx, ebx
call fcn.0050f700
cmp eax, 2
jne 0x50d62d
fild dword [0x7cebb4]
push ecx
fstp dword [esp]
call fcn.00626540
add esp, 4
jmp 0x50d62d
mov byte [0x7cebdd], 1
jmp 0x50d62d
test ecx, ecx
je 0x50d62d
call fcn.004e5220
test eax, eax
je 0x50cdda
test byte [eax + 0xc], 1
je 0x50cdda
mov dword [esp + 0xc], 0x3f800000
mov al, byte [0x7cebdc]
test al, al
je 0x50d62d
fld dword [esp + 0xc]
mov eax, dword [str.GetLocked]
sub esp, 8
fstp qword [esp]
jmp 0x50d58e
test ebx, ebx
je 0x50d62d
push 1
mov ecx, ebx
call fcn.0050f960
jmp 0x50d62d
test ebx, ebx
je 0x50d62d
push 0
mov ecx, ebx
call fcn.0050f960
jmp 0x50d62d
test ebx, ebx
je 0x50ce43
mov ecx, ebx
call fcn.0050f970
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fstp dword [esp + 0xc]
mov al, byte [0x7cebdc]
test al, al
je 0x50d62d
fld dword [esp + 0xc]
mov edx, dword [str.GetForceSneak]
mov eax, dword [0x7c67dc]
sub esp, 8
fstp qword [esp]
push edx
push str._s_____0.2f
push eax
call fcn.0040f970
add esp, 0x14
jmp 0x50d62d
test ebx, ebx
je 0x50d62d
push 1
mov ecx, ebx
call fcn.0050f980
jmp 0x50d62d
test ebx, ebx
je 0x50d62d
push 0
mov ecx, ebx
call fcn.0050f980
jmp 0x50d62d
test ebx, ebx
je 0x50cec1
mov ecx, ebx
call fcn.0050f990
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fstp dword [esp + 0xc]
mov al, byte [0x7cebdc]
test al, al
je 0x50d62d
fld dword [esp + 0xc]
mov ecx, dword [str.GetForceRun]
sub esp, 8
fstp qword [esp]
jmp 0x5075fa
test ebx, ebx
je 0x50d62d
push 1
mov ecx, ebx
call fcn.0050f9a0
jmp 0x50d62d
test ebx, ebx
je 0x50d62d
push 0
mov ecx, ebx
call fcn.0050f9a0
jmp 0x50d62d
test ebx, ebx
je 0x50cf2b
mov ecx, ebx
call fcn.0050f9b0
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fstp dword [esp + 0xc]
mov al, byte [0x7cebdc]
test al, al
je 0x50d62d
fld dword [esp + 0xc]
mov eax, dword [str.GetForceJump]
sub esp, 8
fstp qword [esp]
jmp 0x50d58e
test ebx, ebx
je 0x50d62d
push 1
mov ecx, ebx
call fcn.0050f9c0
jmp 0x50d62d
test ebx, ebx
je 0x50d62d
push 0
mov ecx, ebx
call fcn.0050f9c0
jmp 0x50d62d
test ebx, ebx
je 0x50cf94
mov ecx, ebx
call fcn.0050f9d0
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fstp dword [esp + 0xc]
mov al, byte [0x7cebdc]
test al, al
je 0x50d62d
fld dword [esp + 0xc]
mov edx, dword [str.GetForceMoveJump]
mov eax, dword [0x7c67dc]
sub esp, 8
fstp qword [esp]
push edx
push str._s_____0.2f
push eax
call fcn.0040f970
add esp, 0x14
jmp 0x50d62d
test ecx, ecx
je 0x50d62d
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
test eax, eax
je 0x50d62d
mov ecx, dword [0x7c67dc]
push 0
call fcn.0040ff20
mov ecx, eax
call fcn.0050f6d0
cmp eax, dword [0x7cebec]
jne 0x50d009
mov dword [esp + 0xc], 0x3f800000
mov al, byte [0x7cebdc]
test al, al
je 0x50d62d
fld dword [esp + 0xc]
mov ecx, dword [str.GetCollidingPC]
sub esp, 8
fstp qword [esp]
jmp 0x50d535
test ecx, ecx
je 0x50d62d
mov eax, dword [0x7c67dc]
mov ecx, dword [eax + 0x5c]
call fcn.0050f920
mov ecx, eax
call fcn.0050f910
mov ebx, eax
mov ecx, ebx
call fcn.0047e710
mov ecx, ebx
mov esi, eax
call fcn.00408b30
cmp esi, eax
je 0x50d0a7
mov ecx, esi
call fcn.004396a0
mov ecx, eax
call fcn.0050fba0
mov edi, eax
xor esi, esi
test edi, edi
je 0x50d083
push esi
mov ecx, edi
call fcn.0050f6d0
cmp dword [0x7cebec], eax
je 0x50d09f
inc esi
cmp esi, 2
jl 0x50d06f
mov ecx, ebx
call fcn.0047e720
mov ecx, ebx
mov esi, eax
call fcn.00408b30
cmp esi, eax
je 0x50d0a7
jmp 0x50d05d
mov dword [esp + 0xc], 0x3f800000
mov al, byte [0x7cebdc]
test al, al
je 0x50d62d
fld dword [esp + 0xc]
mov ecx, dword [str.GetCollidingActor]
sub esp, 8
fstp qword [esp]
jmp 0x50d535
test ecx, ecx
je 0x50d62d
mov ecx, dword [0x7c67dc]
call fcn.0050f900
test al, al
jne 0x50d62d
xor esi, esi
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
test eax, eax
je 0x50d13d
mov ecx, dword [0x7c67dc]
push esi
call fcn.0040ff20
mov ecx, eax
call fcn.0050f6d0
cmp dword [0x7cebec], eax
jne 0x50d13d
mov ecx, dword [0x7c67dc]
push 0
push 0
push 0
call fcn.0050f590
fmul dword [0x7cebac]
push ecx
mov ecx, dword [0x7c67dc]
fstp dword [esp]
call fcn.0040ff20
mov ecx, eax
call fcn.00557cf0
inc esi
cmp esi, 2
jl 0x50d0e6
mov eax, dword [0x7c67dc]
mov ecx, dword [eax + 0x5c]
call fcn.0050f920
mov ecx, eax
call fcn.0050f910
mov ebx, eax
mov ecx, ebx
call fcn.0047e710
mov ecx, ebx
mov esi, eax
call fcn.00408b30
cmp esi, eax
je 0x50d62d
mov ecx, esi
call fcn.004396a0
mov ecx, eax
call fcn.0050fba0
mov esi, eax
xor edi, edi
test esi, esi
je 0x50d1b9
push edi
mov ecx, esi
call fcn.0050f6d0
cmp dword [0x7cebec], eax
jne 0x50d1b9
mov ecx, dword [0x7c67dc]
push 0
push 0
push 0
call fcn.0050f590
fmul dword [0x7cebac]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00557cf0
inc edi
cmp edi, 2
jl 0x50d183
mov ecx, ebx
call fcn.0047e720
mov ecx, ebx
mov esi, eax
call fcn.00408b30
cmp esi, eax
jne 0x50d171
jmp 0x50d62d
test esi, esi
je 0x50d62d
mov ecx, esi
call fcn.0050f830
test al, al
jmp 0x50b9cf
test esi, esi
je 0x50d62d
mov ecx, esi
call fcn.0050f820
test al, al
je 0x50b9de
mov dword [esp + 0xc], 0x3f800000
jmp 0x50d62d
test esi, esi
je 0x50d62d
mov ecx, esi
call fcn.0050f6a0
test al, al
jne 0x50d62d
mov ecx, esi
call fcn.0050f6e0
test al, al
jne 0x50d62d
mov edx, dword [esi]
push 1
mov ecx, esi
call dword [edx + 0xb0]
xor edi, edi
push edi
mov ecx, esi
call fcn.0050f880
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
cmp esi, eax
jne 0x50d62d
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xac]
test al, al
je 0x50d2dc
mov eax, dword [0x7c67dc]
push 0x42960000
lea ecx, [eax + 0x124]
call fcn.004c9560
mov ecx, eax
call fcn.0050f8c0
mov ecx, dword [0x7c67dc]
push 0x42960000
add ecx, 0x2b0
call fcn.004c9560
mov ecx, eax
call fcn.0050f8c0
mov ecx, dword [0x7c67dc]
call fcn.0050f7a0
mov ecx, eax
call fcn.00409890
mov ecx, dword [0x7c67dc]
call fcn.0050f8e0
mov ecx, eax
call fcn.004098d0
jmp 0x50d62d
mov eax, dword [0x7c67dc]
mov edx, dword [eax + 0xa0]
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], edi
fild qword [esp + 0x10]
push ecx
lea ecx, [eax + 0x2b0]
fstp dword [esp]
call fcn.004c9560
mov ecx, eax
call fcn.0050f8c0
mov eax, dword [0x7c67dc]
mov ecx, dword [eax + 0xa0]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edi
fild qword [esp + 0x10]
push ecx
lea ecx, [eax + 0x124]
fstp dword [esp]
call fcn.004c9560
mov ecx, eax
call fcn.0050f8c0
mov ecx, dword [0x7c67dc]
push 0x3f800000
call fcn.0050f8e0
mov ecx, eax
call fcn.004098f0
mov ecx, dword [0x7c67dc]
call fcn.0050f7a0
mov ecx, eax
call fcn.004098d0
mov ecx, dword [0x7c67dc]
call fcn.0050f8e0
mov ecx, eax
call fcn.00409890
jmp 0x50d62d
test esi, esi
je 0x50d62d
mov ecx, esi
call fcn.0050f6a0
test al, al
je 0x50d62d
mov ecx, esi
call fcn.0050f6e0
test al, al
jne 0x50d62d
mov edx, dword [esi]
push 0
mov ecx, esi
call dword [edx + 0xb0]
push 1
mov ecx, esi
call fcn.0050f880
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
cmp esi, eax
jne 0x50d62d
jmp 0x50d27a
test esi, esi
je 0x50d3e5
mov ecx, esi
call fcn.0050f6a0
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fstp dword [esp + 0xc]
mov al, byte [0x7cebdc]
test al, al
je 0x50d62d
fld dword [esp + 0xc]
mov edx, dword [str.IsWerewolf]
mov eax, dword [0x7c67dc]
sub esp, 8
fstp qword [esp]
push edx
push str._s_____0.2f
push eax
call fcn.0040f970
add esp, 0x14
jmp 0x50d62d
mov ecx, dword [0x7c67dc]
mov ecx, dword [ecx + 0x60]
call fcn.00431170
mov dword [esp + 0x10], eax
mov al, byte [0x7cebdc]
test al, al
mov dword [esp + 0x14], 0
fild qword [esp + 0x10]
fstp dword [esp + 0xc]
je 0x50d62d
fld dword [esp + 0xc]
mov edx, dword [str.GetWerewolfKills]
mov eax, dword [0x7c67dc]
sub esp, 8
fstp qword [esp]
push edx
push str._s_____0.2f
push eax
call fcn.0040f970
add esp, 0x14
jmp 0x50d62d
mov ecx, dword [0x7c67dc]
mov ecx, dword [ecx + 0x58]
call fcn.006b6e00
mov ecx, eax
call fcn.00445760
jmp 0x50d62d
mov edx, dword [0x7c67dc]
mov ecx, dword [edx + 0x58]
call fcn.006b6e00
mov ecx, eax
call fcn.00445770
jmp 0x50d62d
test esi, esi
je 0x50d62d
mov ecx, dword [0x7c67dc]
push 0
push 0x4e2
call fcn.0040f950
mov eax, dword [esi]
push ecx
fstp dword [esp]
push 0x14
mov ecx, esi
call dword [eax + 0xd0]
mov ecx, eax
call fcn.00401250
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
cmp esi, eax
jne 0x50d62d
call fcn.006266d0
jmp 0x50d62d
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
mov ecx, eax
call fcn.0050fa20
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
mov al, byte [0x7cebdc]
test al, al
fstp dword [esp + 0xc]
je 0x50d62d
fld dword [esp + 0xc]
mov ecx, dword [str.GetPCInJail]
sub esp, 8
fstp qword [esp]
mov edx, dword [0x7c67dc]
push ecx
push str._s_____0.2f
push edx
call fcn.0040f970
add esp, 0x14
jmp 0x50d62d
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
mov ecx, eax
call fcn.0050fa30
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
mov al, byte [0x7cebdc]
test al, al
fstp dword [esp + 0xc]
je 0x50d62d
fld dword [esp + 0xc]
mov eax, dword [str.GetPCTraveling]
sub esp, 8
fstp qword [esp]
mov ecx, dword [0x7c67dc]
push eax
push str._s_____0.2f
push ecx
call fcn.0040f970
add esp, 0x14
jmp 0x50d62d
test edx, edx
jge 0x50d5ce
mov edx, dword [esp + 0x2c]
add edx, 0x10
push edx
push str.Script__s_r_nTrying_to_RunFunction_less_than_index_0_r_n
call fcn.00477400
mov ecx, dword [esp + 0x34]
add esp, 8
mov dword [ecx + 0x3c], 0
jmp 0x50d62d
cmp edx, 0x1bd
jl 0x50d5f8
mov eax, dword [esp + 0x2c]
add eax, 0x10
push eax
push str.Script__s_r_nTrying_to_RunFunction_index_greater_than_function_count_r_nThe_script_will_not_run_anymore.
call fcn.00477400
mov ecx, dword [esp + 0x34]
add esp, 8
mov dword [ecx + 0x3c], 0
jmp 0x50d62d
mov eax, dword [esp + 0x20]
lea ecx, [eax + eax*2]
mov edx, dword [ecx*4 + 0x7a9540]
mov eax, dword [esp + 0x2c]
push edx
add eax, 0x10
push eax
push str.Script__s_r_nNeed_to_add_RunFunction_code_for___s__r_nThe_script_will_not_run_anymore.
call fcn.00477400
mov ecx, dword [esp + 0x38]
add esp, 0xc
mov dword [ecx + 0x3c], 0
jmp 0x50d62d
fstp st(0)
fstp st(0)
mov ecx, dword [esp + 0x260]
fld dword [esp + 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0xc