Function at 0x590d90
Capabilities:
Read .ini file

Disassembly:
sub esp, 0x20
push esi
mov esi, dword [esp + 0x28]
xor eax, eax
cmp esi, eax
je 0x592d12
mov ecx, dword [esp + 0x2c]
push ebx
push ebp
push edi
mov ebx, esi
push 0xffff8105
mov dword [esp + 0x18], ebx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x24], eax
call fcn.00595a40
xor edx, edx
mov dx, word [0x7d7c50]
add esp, 4
push 8
mov edi, eax
push esi
mov ecx, edi
push edx
call fcn.00581f30
xor eax, eax
mov ax, word [0x7d7b60]
mov ecx, edi
push eax
call fcn.00582de0
lea edi, [esi + 4]
mov ecx, edi
mov dword [esp + 0x38], eax
call fcn.004ee8b0
cmp eax, 0x52464552
jne 0x590e3a
mov ebx, dword [esi + 0x28]
mov ecx, esi
mov dword [esp + 0x14], ebx
call fcn.004e5460
mov ecx, esi
mov dword [esp + 0x10], eax
call fcn.004e5340
mov ecx, esi
mov dword [esp + 0x24], eax
call fcn.004e5220
mov ecx, esi
mov dword [esp + 0x20], eax
call fcn.004e5750
mov dword [esp + 0x28], eax
mov ecx, 0x7cb478
call fcn.004d51b0
mov ecx, 0x7cb478
mov ebp, eax
call fcn.004d51e0
mov ecx, edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x2c], 0
call fcn.004ee8b0
cmp eax, 0x52464552
jne 0x590fdd
lea esi, [ebx + 4]
mov ecx, esi
call fcn.004ee8b0
cmp eax, 0x4f4d4d41
je 0x590f3b
mov ecx, esi
call fcn.004ee8b0
cmp eax, 0x50414557
je 0x590f3b
mov ecx, esi
call fcn.004ee8b0
cmp eax, 0x4f4d5241
je 0x590f3b
mov ecx, esi
call fcn.004ee8b0
cmp eax, 0x4b434f4c
je 0x590f3b
mov ecx, esi
call fcn.004ee8b0
cmp eax, 0x41505041
je 0x590f3b
mov ecx, esi
call fcn.004ee8b0
cmp eax, 0x4847494c
je 0x590f3b
mov ecx, esi
call fcn.004ee8b0
cmp eax, 0x544f4c43
je 0x590f3b
mov ecx, esi
call fcn.004ee8b0
cmp eax, 0x424f5250
je 0x590f3b
mov ecx, esi
call fcn.004ee8b0
cmp eax, 0x41504552
je 0x590f3b
mov ecx, esi
call fcn.004ee8b0
cmp eax, 0x4353494d
je 0x590f3b
mov ecx, esi
call fcn.004ee8b0
cmp eax, 0x48434c41
je 0x590f3b
mov ecx, esi
call fcn.004ee8b0
cmp eax, 0x4b4f4f42
je 0x590f3b
mov ecx, esi
call fcn.004ee8b0
cmp eax, 0x52474e49
jne 0x590fdd
mov ecx, esi
call fcn.004ee8b0
cmp eax, 0x4847494c
jne 0x590f53
test byte [ebx + 0x6c], 2
je 0x590fdd
mov ecx, dword [esp + 0x38]
push 0
push 0xffff80b4
call fcn.00588980
mov esi, eax
push 1
mov ecx, esi
mov dword [esp + 0x30], esi
call fcn.005813c0
push 1
mov ecx, esi
call fcn.00581400
push 2
mov dword [esp + 0x20], 0x3f000000
mov ecx, dword [esp + 0x20]
push ecx
push 0xffff8054
mov ecx, esi
call fcn.00581f30
push 2
mov dword [esp + 0x20], 0x3f000000
mov edx, dword [esp + 0x20]
push edx
push 0xffff8055
mov ecx, esi
call fcn.00581f30
push ebx
call fcn.005cb4b0
add esp, 4
push 0
push ebp
push 0xffff80b4
mov ecx, esi
call fcn.00588630
mov esi, eax
push 0x20
mov ecx, esi
call fcn.00581210
push 0x20
mov ecx, esi
call fcn.00581130
lea ecx, [ebx + 4]
call fcn.004ee8b0
cmp eax, 0x5f43504e
jne 0x591010
mov eax, dword [esp + 0x28]
test eax, eax
je 0x591010
mov eax, dword [eax + 0x10]
shr eax, 0xa
test al, 1
je 0x591010
mov ecx, dword [0x7c67dc]
push 0x24f
call fcn.0040f930
jmp 0x591040
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x38]
test eax, eax
je 0x591039
mov edx, dword [ebx]
mov ecx, ebx
call dword [edx + 0x38]
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x591039
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x38]
jmp 0x591040
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x20]
or ecx, 0xffffffff
mov edi, eax
xor eax, eax
repne scasb al, byte es:[edi]
mov eax, dword [esp + 0x3c]
mov ebx, dword [sym.imp.MSVCRT.dll_sprintf]
not ecx
sub edi, ecx
mov edx, ecx
shr ecx, 2
mov esi, edi
mov edi, ebp
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
cmp eax, 1
rep movsb byte es:[edi], byte [esi]
jle 0x5910a3
mov edi, dword [esp + 0x18]
push eax
push str.___d_
push edi
call ebx
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
or ecx, 0xffffffff
mov esi, edi
mov edi, ebp
repne scasb al, byte es:[edi]
mov ecx, edx
shr ecx, 2
dec edi
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [esp + 0x10]
test edi, edi
je 0x59116e
mov esi, dword [esp + 0x14]
lea ecx, [esi + 4]
call fcn.004ee8b0
cmp eax, 0x4b434f4c
jg 0x591153
je 0x591164
cmp eax, 0x41504552
je 0x591164
cmp eax, 0x424f5250
je 0x591164
cmp eax, 0x4353494d
jne 0x591164
push esi
call fcn.0049abe0
add esp, 4
test al, al
je 0x591164
mov eax, dword [edi + 0x10]
cmp eax, 0xbf800000
je 0x591164
mov ecx, eax
mov eax, dword [ecx]
call dword [eax + 0x38]
test eax, eax
je 0x591131
mov ecx, edi
mov ecx, dword [ecx + 0x10]
mov edx, dword [ecx]
call dword [edx + 0x38]
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x591131
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x10]
mov edx, dword [ecx]
call dword [edx + 0x38]
jmp 0x59113d
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx + 0x10]
mov edx, dword [ecx]
call dword [edx + 0x20]
push eax
mov eax, dword [esp + 0x1c]
push str.___s_
push eax
call ebx
mov edi, dword [esp + 0x24]
add esp, 0xc
jmp 0x5911a8
cmp eax, 0x4f4d5241
je 0x591164
cmp eax, 0x50414557
jne 0x591164
mov al, byte [esi + 0x5c]
mov eax, dword [edi]
cmp eax, 1
jbe 0x5911d1
push eax
jmp 0x591199
mov esi, dword [esp + 0x14]
mov eax, 1
mov ecx, 0x791c6c
cmp esi, dword [ecx]
je 0x59118e
add ecx, 0xc
inc eax
cmp ecx, 0x791c9c
jl 0x59117c
jmp 0x5911d1
lea eax, [eax + eax*2]
mov ecx, dword [eax*4 + 0x791c5c]
push ecx
mov edi, dword [esp + 0x1c]
push str.___d_
push edi
call ebx
add esp, 0xc
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
or ecx, 0xffffffff
mov esi, edi
mov edi, ebp
repne scasb al, byte es:[edi]
mov ecx, edx
shr ecx, 2
dec edi
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x2c]
test ecx, ecx
push 0
push 0
push ebp
push 0xffff80b4
je 0x5911fa
call fcn.00588be0
push 0xffff80e9
mov ecx, eax
call fcn.0057f5b0
mov edi, dword [esp + 0x38]
jmp 0x591211
mov edi, dword [esp + 0x48]
mov ecx, edi
call fcn.00588be0
push 0xffff80e9
mov ecx, eax
call fcn.0057f5b0
lea ecx, [esi + 4]
call fcn.00736670
cmp eax, 0x4f4d5241
jg 0x591326
je 0x5912de
cmp eax, 0x41505041
jg 0x59124a
je 0x59129f
cmp eax, 0x41455243
je 0x592afb
cmp eax, 0x41504552
je 0x59125c
jmp 0x591634
cmp eax, 0x424f5250
je 0x59125c
cmp eax, 0x4b434f4c
jne 0x591634
mov eax, dword [esp + 0x10]
test eax, eax
je 0x59126a
mov ecx, dword [eax + 0xc]
push ecx
jmp 0x591275
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0xc8]
push eax
mov ecx, dword [0x7c67dc]
push 0x26
call fcn.0040f930
push eax
push str._s:__d
push ebp
call ebx
add esp, 0x10
push 0
push 0
push ebp
push 0xffff80b4
mov ecx, edi
call fcn.00588be0
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xb4]
mov ecx, dword [0x7c67dc]
sub esp, 8
fstp qword [esp]
push 0x27
call fcn.0040f930
push eax
push str._s:__0.2f
push ebp
call ebx
add esp, 0x14
push 0
push 0
push ebp
push 0xffff80b4
mov ecx, edi
call fcn.00588be0
jmp 0x591634
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
push eax
mov ecx, esi
call fcn.004a1120
call sub.MSVCRT.dll__ftol
mov ecx, dword [0x7c67dc]
push eax
push 0x29
call fcn.0040f930
push eax
push str._s:__d
push ebp
call ebx
add esp, 0x10
push 0
push 0
push ebp
push 0xffff80b4
mov ecx, edi
call fcn.00588be0
jmp 0x591569
cmp eax, 0x544e4f43
jg 0x591623
je 0x5913c4
cmp eax, 0x50414557
je 0x591400
cmp eax, 0x524f4f44
jne 0x591630
mov edi, dword [esp + 0x24]
test edi, edi
je 0x5913c4
mov ecx, dword [0x7c67dc]
push 0
push 0
push 0x3c
call fcn.0040f930
mov esi, dword [esp + 0x40]
push eax
push 0xffff80b4
mov ecx, esi
call fcn.00588be0
mov ecx, dword [edi]
mov edx, dword [ecx]
push 0
push 0
call dword [edx + 0x20]
push eax
push 0xffff80b4
mov ecx, esi
call fcn.00588be0
mov al, byte [0x7b3bfc]
cmp al, 0xff
jne 0x5913b4
push str..Morrowind.ini
push 0
push str.Show_Door_Notes
push str.General
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov byte [0x7b3bfc], al
test al, al
je 0x5913c4
mov eax, dword [edi]
push esi
push eax
call fcn.005f0da0
add esp, 8
mov edi, dword [esp + 0x20]
test edi, edi
je 0x592afb
mov eax, dword [edi]
test eax, eax
je 0x5915f0
test byte [edi + 0xc], 1
je 0x5915b0
mov ecx, dword [0x7c67dc]
push eax
push 0x1cd
call fcn.0040f930
push eax
push str._s:__d
jmp 0x5915d7
movsx ecx, byte [esi + 0x5c]
mov eax, dword [ecx*4 + 0x7a8c0c]
mov ecx, dword [0x7c67dc]
add eax, 0x380
push eax
call fcn.0040f930
mov ecx, dword [0x7c67dc]
push eax
push 0x365
call fcn.0040f930
push eax
push 0x793130
push ebp
call ebx
movsx edx, byte [esi + 0x5c]
xor eax, eax
mov al, byte [edx + 0x7a8c44]
add esp, 0x10
add eax, 0xffffff76
cmp eax, 5
ja case.default.0x59144f
jmp dword [eax*4 + 0x592d1c]
mov edi, dword [esp + 0x38]
push 0
push 0
push ebp
push 0xffff80b4
mov ecx, edi
call fcn.00588be0
xor eax, eax
mov al, byte [esi + 0x6b]
xor ecx, ecx
mov cl, byte [esi + 0x6a]
push eax
push ecx
push 0x25
jmp 0x591537
push 0x363
jmp 0x59148a
push 0x364
mov ecx, dword [0x7c67dc]
call fcn.0040f930
push eax
push ebp
push 0x7b3d34
push ebp
call ebx
mov edi, dword [esp + 0x48]
add esp, 0x10
push 0
push 0
push ebp
push 0xffff80b4
mov ecx, edi
call fcn.00588be0
jmp 0x5914bd
mov edi, dword [esp + 0x38]
mov ecx, dword [0x7c67dc]
xor edx, edx
mov dl, byte [esi + 0x6b]
xor eax, eax
mov al, byte [esi + 0x6a]
push edx
push eax
push 0x2c
call fcn.0040f930
push eax
push str._s:__d____d
push ebp
call ebx
add esp, 0x14
push 0
push 0
push ebp
push 0xffff80b4
mov ecx, edi
call fcn.00588be0
xor ecx, ecx
mov cl, byte [esi + 0x6d]
xor edx, edx
mov dl, byte [esi + 0x6c]
push ecx
mov ecx, dword [0x7c67dc]
push edx
push 0x2a
call fcn.0040f930
push eax
push str._s:__d____d
push ebp
call ebx
add esp, 0x14
push 0
push 0
push ebp
push 0xffff80b4
mov ecx, edi
call fcn.00588be0
xor eax, eax
mov al, byte [esi + 0x6f]
xor ecx, ecx
mov cl, byte [esi + 0x6e]
push eax
push ecx
push 0x2b
mov ecx, dword [0x7c67dc]
call fcn.0040f930
push eax
push str._s:__d____d
push ebp
call ebx
add esp, 0x14
push 0
push 0
push ebp
push 0xffff80b4
mov ecx, edi
call fcn.00588be0
cmp byte [esi + 0x5c], 0xb
jge 0x591634
mov eax, dword [esp + 0x10]
test eax, eax
mov edx, dword [esi]
mov ecx, esi
je 0x591586
call dword [edx + 0xa8]
push eax
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0xc]
push ecx
jmp 0x591598
call dword [edx + 0xa8]
push eax
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xa8]
push eax
mov ecx, dword [0x7c67dc]
push 0x2e
call fcn.0040f930
push eax
push str._s:__d__d
jmp 0x5912c2
mov ecx, dword [0x7c67dc]
push 0x1cf
call fcn.0040f930
mov ecx, dword [0x7c67dc]
push eax
push 0x1cd
call fcn.0040f930
push eax
push str._s:__s
push ebp
call ebx
mov ecx, dword [esp + 0x48]
add esp, 0x10
push 0
push 0
push ebp
push 0xffff80b4
call fcn.00588be0
mov eax, dword [edi + 8]
test eax, eax
nop
jmp 0x592afb
cmp eax, 0x5f43504e
je 0x592afb
jmp 0x591634
mov edi, dword [esp + 0x38]
lea ecx, [esi + 4]
call fcn.004ee8b0
cmp eax, 0x48434c41
jne 0x591682
fld dword [esi + 0x54]
mov ecx, dword [0x7c67dc]
sub esp, 8
fstp qword [esp]
push 0x2f
call fcn.0040f930
push eax
push str._s:__0.1f
push ebp
call ebx
add esp, 0x14
push 0
push 0
push ebp
push 0xffff80b4
mov ecx, edi
call fcn.00588be0
xor ecx, ecx
mov cx, word [esi + 0x58]
push ecx
jmp 0x5917d1
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x9c]
fcomp dword [0x746468]
fnstsw ax
test ah, 0x41
jne 0x59173b
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x9c]
mov ecx, dword [0x7c67dc]
sub esp, 8
fstp qword [esp]
push 0x2f
call fcn.0040f930
push eax
push str._s:__0.1f
push ebp
call ebx
add esp, 0x14
lea ecx, [esi + 4]
call fcn.004ee8b0
cmp eax, 0x4f4d5241
jne 0x59172a
mov ecx, dword [esp + 0x14]
call fcn.004a0f30
mov ecx, dword [0x7c67dc]
add eax, 0x31
push eax
call fcn.0040f930
mov edi, dword [esp + 0x18]
push eax
push str.___s_
push edi
call ebx
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
or ecx, 0xffffffff
mov esi, edi
mov edi, ebp
repne scasb al, byte es:[edi]
dec edi
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x38]
push 0
push 0
push ebp
push 0xffff80b4
mov ecx, edi
call fcn.00588be0
push esi
call fcn.0049abe0
add esp, 4
test al, al
je 0x5917a1
mov eax, dword [esp + 0x10]
test eax, eax
je 0x5917a1
cmp dword [eax + 0x10], 0xbf800000
je 0x5917a1
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x10]
call fcn.0073658c
jmp 0x591771
mov ecx, dword [0x7c67dc]
push eax
push 0x30
call fcn.0040f930
push eax
push str._s:__d
push ebp
call ebx
add esp, 0x10
push 0
push 0
push ebp
push 0xffff80b4
mov ecx, edi
call fcn.00588be0
jmp 0x592afb
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xa0]
test eax, eax
jle 0x5917fb
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x9c]
fcomp dword [0x746468]
fnstsw ax
test ah, 0x41
jne 0x5917fb
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xa0]
push eax
mov ecx, dword [0x7c67dc]
push 0x30
call fcn.0040f930
push eax
push str._s:__d
push ebp
call ebx
add esp, 0x10
push 0
push 0
push ebp
push 0xffff80b4
mov ecx, edi
call fcn.00588be0
lea ecx, [esi + 4]
call fcn.004ee8b0
cmp eax, 0x48434c41
jne 0x591eae
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
mov edx, dword [eax]
push 0x10
mov ecx, eax
call dword [edx + 0xd4]
fstp dword [esp + 0x3c]
test dword [esi + 8], 0x2002
jne 0x591844
mov dword [esp + 0x1c], 8
jmp 0x591930
mov ecx, dword [0x7c67dc]
push 0x3b7
call fcn.0040f950
fcomp dword [esp + 0x3c]
fnstsw ax
test ah, 0x41
jne 0x59186c
mov dword [esp + 0x1c], 0
jmp 0x591930
mov ecx, dword [0x7c67dc]
push 0x3b7
call fcn.0040f950
fadd st(0), st(0)
fcomp dword [esp + 0x3c]
fnstsw ax
test ah, 0x41
jne 0x591896
mov dword [esp + 0x1c], 2
jmp 0x591930
mov ecx, dword [0x7c67dc]
push 0x3b7
call fcn.0040f950
fadd st(0), st(0)
fcomp dword [esp + 0x3c]
fnstsw ax
test ah, 0x41
je 0x5918de
mov ecx, dword [0x7c67dc]
push 0x3b7
call fcn.0040f950
fmul dword [0x746488]
fcomp dword [esp + 0x3c]
fnstsw ax
test ah, 0x41
jne 0x5918de
mov dword [esp + 0x1c], 4
jmp 0x591930
mov ecx, dword [0x7c67dc]
push 0x3b7
call fcn.0040f950
fmul dword [0x746488]
fcomp dword [esp + 0x3c]
fnstsw ax
test ah, 0x41
je 0x591928
mov ecx, dword [0x7c67dc]
push 0x3b7
call fcn.0040f950
fmul dword [0x74648c]
mov dword [esp + 0x1c], 6
fcomp dword [esp + 0x3c]
fnstsw ax
test ah, 0x41
je 0x591930
mov dword [esp + 0x1c], 8
mov dword [esp + 0x2c], 0
lea edi, [esi + 0x5c]
mov ax, word [edi]
cmp ax, 0xffff
je 0x591e99
mov ecx, dword [0x7c67e0]
mov ecx, dword [ecx]
movsx edx, ax
push edx
call fcn.004ba590
mov ecx, dword [esp + 0x38]
push 0
push 0xffff80b4
mov dword [esp + 0x30], eax
call fcn.00588980
push 1
mov ecx, eax
mov dword [esp + 0x28], eax
call fcn.005813c0
mov ecx, dword [esp + 0x24]
push 1
call fcn.00581400
mov ecx, dword [esp + 0x24]
push 1
xor eax, eax
push eax
push 0xffff800b
call fcn.00581f30
mov eax, dword [esp + 0x1c]
cmp dword [esp + 0x2c], eax
jge 0x591e82
mov ecx, dword [esp + 0x28]
push ecx
call fcn.005e2e00
add esp, 4
test al, al
je 0x5919f4
mov ecx, dword [esp + 0x24]
push 0
push ebp
push 0xffff80b4
call fcn.00588630
mov esi, eax
push 0x10
mov ecx, esi
call fcn.00581130
push 0x10
mov ecx, esi
call fcn.00581210
push 1
mov eax, 0xa
push eax
push 0xffff800f
mov ecx, esi
call fcn.00581f30
mov esi, dword [esp + 0x14]
movsx eax, word [edi]
shl eax, 2
mov ecx, dword [eax + 0x747d88]
test cl, 1
je 0x591aad
mov eax, dword [eax + 0x79454c]
cmp eax, 0x556
jne 0x591a27
movsx edx, byte [edi + 2]
mov eax, dword [edx*4 + 0x794430]
push eax
jmp 0x591b8f
cmp eax, 0x518
jne 0x591a50
movsx ecx, byte [edi + 2]
mov edx, dword [ecx*4 + 0x794430]
mov ecx, dword [0x7c67dc]
push edx
call fcn.0040f930
push eax
push 0x2b0
jmp 0x591b60
cmp eax, 0x51d
jne 0x591a79
movsx eax, byte [edi + 2]
mov ecx, dword [eax*4 + 0x794430]
push ecx
mov ecx, dword [0x7c67dc]
call fcn.0040f930
push eax
push 0x2b4
jmp 0x591b60
cmp eax, 0x551
jne 0x591a91
movsx edx, byte [edi + 2]
mov eax, dword [edx*4 + 0x794430]
push eax
jmp 0x591b4f
cmp eax, 0x55c
jne 0x591bfd
movsx ecx, byte [edi + 2]
mov edx, dword [ecx*4 + 0x794430]
push edx
jmp 0x591bcc
test cl, 2
je 0x591bdf
mov eax, dword [eax + 0x79454c]
cmp eax, 0x514
jne 0x591afc
movsx eax, byte [edi + 3]
mov ecx, dword [eax*4 + 0x794410]
push ecx
mov ecx, dword [0x7c67dc]
call fcn.0040f930
mov ecx, dword [0x7c67dc]
push eax
push 0x2b0
call fcn.0040f930
push eax
push 0x793130
push ebp
call ebx
add esp, 0x10
jmp 0x591bfd
cmp eax, 0x519
jne 0x591b3c
movsx edx, byte [edi + 3]
mov eax, dword [edx*4 + 0x794410]
mov ecx, dword [0x7c67dc]
push eax
call fcn.0040f930
mov ecx, dword [0x7c67dc]
push eax
push 0x2b4
call fcn.0040f930
push eax
push 0x793130
push ebp
call ebx
add esp, 0x10
jmp 0x591bfd
cmp eax, 0x54d
jne 0x591b7c
movsx ecx, byte [edi + 3]
mov edx, dword [ecx*4 + 0x794410]
push edx
mov ecx, dword [0x7c67dc]
call fcn.0040f930
push eax
push 0x2b3
mov ecx, dword [0x7c67dc]
call fcn.0040f930
push eax
push 0x793130
push ebp
call ebx
add esp, 0x10
jmp 0x591bfd
cmp eax, 0x552
jne 0x591bb9
movsx eax, byte [edi + 3]
mov ecx, dword [eax*4 + 0x794410]
push ecx
mov ecx, dword [0x7c67dc]
call fcn.0040f930
push eax
push 0x2b2
mov ecx, dword [0x7c67dc]
call fcn.0040f930
push eax
push 0x793130
push ebp
call ebx
add esp, 0x10
jmp 0x591bfd
cmp eax, 0x558
jne 0x591bfd
movsx edx, byte [edi + 3]
mov eax, dword [edx*4 + 0x794410]
push eax
mov ecx, dword [0x7c67dc]
call fcn.0040f930
push eax
push 0x2b1
jmp 0x591ba0
mov ecx, dword [eax + 0x79454c]
push ecx
mov ecx, dword [0x7c67dc]
call fcn.0040f930
push eax
push 0x775998
push ebp
call ebx
add esp, 0xc
mov edx, dword [esp + 0x28]
mov eax, dword [edx + 0x10]
cmp eax, 0x54
jne 0x591d2d
mov eax, dword [edi + 0x10]
test eax, eax
mov dword [esp + 0x3c], 0
mov dword [esp + 0x20], eax
je 0x591c2e
fild dword [esp + 0x20]
fmul dword [0x7475f4]
fstp dword [esp + 0x3c]
mov eax, dword [edi + 0x14]
test eax, eax
mov dword [esp + 0x20], eax
je 0x591cec
fild dword [esp + 0x20]
fmul dword [0x7475f4]
fst dword [esp + 0x20]
fcomp dword [0x746468]
fnstsw ax
test ah, 0x40
jne 0x591cec
fld dword [esp + 0x3c]
fcomp dword [esp + 0x20]
fnstsw ax
test ah, 0x41
jne 0x591c82
fld dword [esp + 0x3c]
fsub dword [esp + 0x20]
fcomp dword [0x7464c8]
fnstsw ax
test ah, 1
jne 0x591cec
jmp 0x591c97
fld dword [esp + 0x20]
fsub dword [esp + 0x3c]
fcomp dword [0x7464c8]
fnstsw ax
test ah, 1
jne 0x591cec
mov ecx, dword [0x7c67dc]
push 0x2bf
call fcn.0040f930
fld dword [esp + 0x20]
mov ecx, dword [0x7c67dc]
push eax
sub esp, 8
fstp qword [esp]
push 0x3c
call fcn.0040f930
mov ecx, dword [0x7c67dc]
push eax
push 0x2be
call fcn.0040f930
fld dword [esp + 0x4c]
push eax
sub esp, 8
fstp qword [esp]
push ebp
push str._s__.1f_s__s__.1f_s
push ebp
call ebx
add esp, 0x28
jmp 0x591df3
fld dword [esp + 0x3c]
fcomp dword [0x746468]
fnstsw ax
test ah, 0x40
jne 0x591df3
mov ecx, dword [0x7c67dc]
push 0x2bf
call fcn.0040f930
fld dword [esp + 0x3c]
push eax
sub esp, 8
fstp qword [esp]
push ebp
push str._s__.1f_s
push ebp
call ebx
add esp, 0x18
jmp 0x591df3
test byte [eax*4 + 0x747d88], 8
jne 0x591df3
mov eax, dword [edi + 0x14]
test eax, eax
je 0x591d68
cmp dword [edi + 0x10], eax
je 0x591d68
mov ecx, dword [0x7c67dc]
push eax
push 0x3c
call fcn.0040f930
push eax
mov eax, dword [edi + 0x10]
push eax
push ebp
push str._s__d__s__d
push ebp
call ebx
add esp, 0x18
jmp 0x591d7c
mov eax, dword [edi + 0x10]
test eax, eax
je 0x591d7c
push eax
push ebp
push 0x7759a8
push ebp
call ebx
add esp, 0x10
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx + 0x10]
add eax, 0xffffffe4
cmp eax, 0x5b
ja case.0x591d93.31
xor edx, edx
mov dl, byte [eax + 0x592d44]
jmp dword [edx*4 + 0x592d34]
push 0x2b7
jmp 0x591ddb
cmp dword [edi + 0x14], 1
jne 0x591dae
push 0x2bc
jmp 0x591ddb
push 0x2bd
jmp 0x591ddb
cmp dword [edi + 0x14], 1
jne 0x591dc2
push 0x39d
jmp 0x591ddb
push 0x39e
jmp 0x591ddb
cmp dword [edi + 0x14], 1
jne 0x591dd6
push 0x2b5
jmp 0x591ddb
push 0x2b6
mov ecx, dword [0x7c67dc]
call fcn.0040f930
push eax
push ebp
push 0x793130
push ebp
call ebx
add esp, 0x10
mov eax, dword [esp + 0x28]
mov ecx, dword [eax + 0x10]
test byte [ecx*4 + 0x747d88], 4
jne 0x591e42
mov eax, dword [edi + 0xc]
test eax, eax
je 0x591e42
cmp eax, 1
jle 0x591e42
mov ecx, dword [0x7c67dc]
push 0x2ba
call fcn.0040f930
mov edx, dword [edi + 0xc]
mov ecx, dword [0x7c67dc]
push eax
push edx
push 0x2b8
call fcn.0040f930
push eax
push ebp
push str._s__s__d__s
push ebp
call ebx
add esp, 0x18
mov eax, dword [edi + 8]
test eax, eax
je 0x591e7b
mov ecx, dword [0x7c67dc]
push 0x2bc
call fcn.0040f930
mov ecx, dword [0x7c67dc]
push eax
mov eax, dword [edi + 8]
push eax
push 0x2bb
call fcn.0040f930
push eax
push ebp
push str._s__s__d__s
push ebp
call ebx
add esp, 0x18
push 0
push 0
push ebp
jmp 0x591e8b
push 0
push 0
push 0x7a0274
mov ecx, dword [esp + 0x30]
push 0xffff80b4
call fcn.00588be0
mov eax, dword [esp + 0x2c]
inc eax
add edi, 0x18
cmp eax, 8
mov dword [esp + 0x2c], eax
jl 0x59193b
lea ecx, [esi + 4]
call fcn.004ee8b0
cmp eax, 0x52474e49
jne 0x5922e2
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
mov edx, dword [eax]
push 0x10
mov ecx, eax
call dword [edx + 0xd4]
fstp dword [esp + 0x3c]
mov ecx, dword [0x7c67dc]
push 0x3b7
call fcn.0040f950
fcomp dword [esp + 0x3c]
fnstsw ax
test ah, 0x41
jne 0x591f04
mov dword [esp + 0x3c], 0
jmp 0x591fe3
mov ecx, dword [0x7c67dc]
push 0x3b7
call fcn.0040f950
fcomp dword [esp + 0x3c]
fnstsw ax
test ah, 0x41
je 0x591f49
mov ecx, dword [0x7c67dc]
push 0x3b7
call fcn.0040f950
fadd st(0), st(0)
fcomp dword [esp + 0x3c]
fnstsw ax
test ah, 0x41
jne 0x591f49
mov dword [esp + 0x3c], 1
jmp 0x591fe3
mov ecx, dword [0x7c67dc]
push 0x3b7
call fcn.0040f950
fadd st(0), st(0)
fcomp dword [esp + 0x3c]
fnstsw ax
test ah, 0x41
je 0x591f91
mov ecx, dword [0x7c67dc]
push 0x3b7
call fcn.0040f950
fmul dword [0x746488]
fcomp dword [esp + 0x3c]
fnstsw ax
test ah, 0x41
jne 0x591f91
mov dword [esp + 0x3c], 2
jmp 0x591fe3
mov ecx, dword [0x7c67dc]
push 0x3b7
call fcn.0040f950
fmul dword [0x746488]
fcomp dword [esp + 0x3c]
fnstsw ax
test ah, 0x41
je 0x591fdb
mov ecx, dword [0x7c67dc]
push 0x3b7
call fcn.0040f950
fmul dword [0x74648c]
fcomp dword [esp + 0x3c]
mov dword [esp + 0x3c], 3
fnstsw ax
test ah, 0x41
je 0x591fe3
mov dword [esp + 0x3c], 4
mov eax, dword [esp + 0x14]
mov dword [esp + 0x2c], 0
lea esi, [eax + 0xb0]
mov eax, dword [esi]
cmp eax, 0xffffffff
je 0x5922cd
mov ecx, dword [0x7c67e0]
mov ecx, dword [ecx]
push eax
call fcn.004ba590
mov ecx, dword [esp + 0x38]
push 0
push 0xffff80b4
mov dword [esp + 0x2c], eax
call fcn.00588980
mov edi, eax
push 1
mov ecx, edi
mov dword [esp + 0x2c], edi
call fcn.005813c0
push 1
mov ecx, edi
call fcn.00581400
push 1
xor eax, eax
push eax
push 0xffff800b
mov ecx, edi
call fcn.00581f30
mov edx, dword [esp + 0x2c]
cmp edx, dword [esp + 0x3c]
jge 0x5922b8
mov eax, dword [esp + 0x24]
push eax
call fcn.005e2e00
add esp, 4
test al, al
je 0x5920a5
push 0
push ebp
push 0xffff80b4
mov ecx, edi
call fcn.00588630
mov edi, eax
push 0x10
mov ecx, edi
call fcn.00581130
push 0x10
mov ecx, edi
call fcn.00581210
push 1
mov eax, 0xa
push eax
push 0xffff800f
mov ecx, edi
call fcn.00581f30
mov edi, dword [esp + 0x28]
mov eax, dword [esi]
shl eax, 2
mov ecx, dword [eax + 0x747d88]
test cl, 1
je 0x592158
mov eax, dword [eax + 0x79454c]
cmp eax, 0x556
jne 0x5920d6
mov ecx, dword [esi + 0x10]
mov edx, dword [ecx*4 + 0x794430]
push edx
jmp 0x592245
cmp eax, 0x518
jne 0x5920fe
mov eax, dword [esi + 0x10]
mov ecx, dword [eax*4 + 0x794430]
push ecx
mov ecx, dword [0x7c67dc]
call fcn.0040f930
push eax
push 0x2b0
jmp 0x592212
cmp eax, 0x51d
jne 0x592126
mov edx, dword [esi + 0x10]
mov eax, dword [edx*4 + 0x794430]
mov ecx, dword [0x7c67dc]
push eax
call fcn.0040f930
push eax
push 0x2b4
jmp 0x592212
cmp eax, 0x551
jne 0x59213d
mov ecx, dword [esi + 0x10]
mov edx, dword [ecx*4 + 0x794430]
push edx
jmp 0x592201
cmp eax, 0x55c
jne 0x5922b1
mov eax, dword [esi + 0x10]
mov ecx, dword [eax*4 + 0x794430]
push ecx
jmp 0x592286
test cl, 2
mov eax, dword [eax + 0x79454c]
je 0x592299
cmp eax, 0x514
jne 0x5921ab
mov edx, dword [esi + 0x20]
mov eax, dword [edx*4 + 0x794410]
mov ecx, dword [0x7c67dc]
push eax
call fcn.0040f930
mov ecx, dword [0x7c67dc]
push eax
push 0x2b0
call fcn.0040f930
push eax
push 0x793130
push ebp
call ebx
add esp, 0x10
push 0
push 0
push ebp
jmp 0x5922c1
cmp eax, 0x519
jne 0x5921ef
mov ecx, dword [esi + 0x20]
mov edx, dword [ecx*4 + 0x794410]
mov ecx, dword [0x7c67dc]
push edx
call fcn.0040f930
mov ecx, dword [0x7c67dc]
push eax
push 0x2b4
call fcn.0040f930
push eax
push 0x793130
push ebp
call ebx
add esp, 0x10
push 0
push 0
push ebp
jmp 0x5922c1
cmp eax, 0x54d
jne 0x592233
mov eax, dword [esi + 0x20]
mov ecx, dword [eax*4 + 0x794410]
push ecx
mov ecx, dword [0x7c67dc]
call fcn.0040f930
push eax
push 0x2b3
mov ecx, dword [0x7c67dc]
call fcn.0040f930
push eax
push 0x793130
push ebp
call ebx
add esp, 0x10
push 0
push 0
push ebp
jmp 0x5922c1
cmp eax, 0x552
jne 0x592274
mov edx, dword [esi + 0x20]
mov eax, dword [edx*4 + 0x794410]
push eax
mov ecx, dword [0x7c67dc]
call fcn.0040f930
push eax
push 0x2b2
mov ecx, dword [0x7c67dc]
call fcn.0040f930
push eax
push 0x793130
push ebp
call ebx
add esp, 0x10
push 0
push 0
push ebp
jmp 0x5922c1
cmp eax, 0x558
jne 0x5922b1
mov ecx, dword [esi + 0x20]
mov edx, dword [ecx*4 + 0x794410]
push edx
mov ecx, dword [0x7c67dc]
call fcn.0040f930
push eax
push 0x2b1
jmp 0x592256
mov ecx, dword [0x7c67dc]
push eax
call fcn.0040f930
push eax
push 0x775998
push ebp
call ebx
add esp, 0xc
push 0
push 0
push ebp
jmp 0x5922c1
push 0
push 0
push 0x7a0274
push 0xffff80b4
mov ecx, edi
call fcn.00588be0
mov eax, dword [esp + 0x2c]
inc eax
add esi, 4
cmp eax, 4
mov dword [esp + 0x2c], eax
jl 0x591ff5
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx]
call dword [edx + 0xd0]
test eax, eax
mov dword [esp + 0x20], eax
je 0x592afb
mov esi, eax
movsx eax, byte [esi + 0x2c]
mov ecx, dword [eax*4 + 0x7947b8]
push 0
push 0
push ecx
mov ecx, dword [0x7c67dc]
call fcn.0040f930
mov edi, dword [esp + 0x40]
push eax
push 0xffff80b4
mov ecx, edi
call fcn.00588be0
push 0
push 0xffff80b4
mov ecx, edi
call fcn.00588980
mov edi, eax
push 0x10
mov eax, 0xffff80c1
push eax
push 0xffff8065
mov ecx, edi
mov dword [esp + 0x20], edi
call fcn.00581f30
push 1
mov ecx, edi
call fcn.005813c0
push 1
mov ecx, edi
call fcn.00581400
push 0x10
mov eax, 0xffff80cc
push eax
push 0xffff8059
mov ecx, edi
call fcn.00581f30
push 1
mov eax, 6
push eax
push 0xffff800b
mov ecx, edi
call fcn.00581f30
add esi, 0x34
mov dword [esp + 0x1c], 8
mov ax, word [esi]
cmp ax, 0xffff
je 0x5929b9
mov edx, dword [0x7c67e0]
mov ecx, dword [edx]
movsx eax, ax
push eax
call fcn.004ba590
push 0
push 0xffff80b4
mov ecx, edi
mov dword [esp + 0x34], eax
call fcn.00588980
mov edi, eax
cmp dword [edi + 0x104], 0x1b0
mov dword [esp + 0x28], edi
je 0x5923db
mov byte [edi + 0x79], 1
push 0x1b0
mov ecx, edi
mov dword [edi + 0x104], 0x1b0
call fcn.00581130
push 1
mov ecx, edi
call fcn.00581400
push 0x10
mov eax, 0xffff80cb
push eax
push 0xffff8059
mov ecx, edi
call fcn.00581f30
mov edi, dword [esp + 0x2c]
push edi
call fcn.005e2e00
add esp, 4
test al, al
je 0x592494
mov ecx, dword [esp + 0x28]
push 0
push 0xffff80b4
call fcn.00588980
mov edi, eax
cmp dword [edi + 0x104], 0x14
je 0x59243e
mov byte [edi + 0x79], 1
push 0x14
mov ecx, edi
mov dword [edi + 0x104], 0x14
call fcn.00581130
push 1
mov ecx, edi
mov dword [edi + 0xbc], 0xa
call fcn.00581400
push 0
push ebp
push str.image
call fcn.0058df10
add esp, 4
mov ecx, edi
push eax
call fcn.00588630
mov edi, eax
push 0x10
mov ecx, edi
call fcn.00581130
push 0x10
mov ecx, edi
call fcn.00581210
mov edi, dword [esp + 0x2c]
movsx eax, word [esi]
shl eax, 2
mov ecx, dword [eax + 0x747d88]
test cl, 1
je 0x59254d
mov eax, dword [eax + 0x79454c]
cmp eax, 0x556
jne 0x5924c7
movsx ecx, byte [esi + 2]
mov edx, dword [ecx*4 + 0x794430]
push edx
jmp 0x59262c
cmp eax, 0x518
jne 0x5924f0
movsx eax, byte [esi + 2]
mov ecx, dword [eax*4 + 0x794430]
push ecx
mov ecx, dword [0x7c67dc]
call fcn.0040f930
push eax
push 0x2b0
jmp 0x592600
cmp eax, 0x51d
jne 0x592519
movsx edx, byte [esi + 2]
mov eax, dword [edx*4 + 0x794430]
mov ecx, dword [0x7c67dc]
push eax
call fcn.0040f930
push eax
push 0x2b4
jmp 0x592600
cmp eax, 0x551
jne 0x592531
movsx ecx, byte [esi + 2]
mov edx, dword [ecx*4 + 0x794430]
push edx
jmp 0x5925ef
cmp eax, 0x55c
jne 0x592694
movsx eax, byte [esi + 2]
mov ecx, dword [eax*4 + 0x794430]
push ecx
jmp 0x592669
test cl, 2
mov eax, dword [eax + 0x79454c]
je 0x59267c
cmp eax, 0x514
jne 0x59259c
movsx edx, byte [esi + 3]
mov eax, dword [edx*4 + 0x794410]
mov ecx, dword [0x7c67dc]
push eax
call fcn.0040f930
mov ecx, dword [0x7c67dc]
push eax
push 0x2b0
call fcn.0040f930
push eax
push 0x793130
push ebp
call ebx
add esp, 0x10
jmp 0x592694
cmp eax, 0x519
jne 0x5925dc
movsx ecx, byte [esi + 3]
mov edx, dword [ecx*4 + 0x794410]
mov ecx, dword [0x7c67dc]
push edx
call fcn.0040f930
mov ecx, dword [0x7c67dc]
push eax
push 0x2b4
call fcn.0040f930
push eax
push 0x793130
push ebp
call ebx
add esp, 0x10
jmp 0x592694
cmp eax, 0x54d
jne 0x592619
movsx eax, byte [esi + 3]
mov ecx, dword [eax*4 + 0x794410]
push ecx
mov ecx, dword [0x7c67dc]
call fcn.0040f930
push eax
push 0x2b3
mov ecx, dword [0x7c67dc]
call fcn.0040f930
push eax
push 0x793130
push ebp
call ebx
add esp, 0x10
jmp 0x592694
cmp eax, 0x552
jne 0x592656
movsx edx, byte [esi + 3]
mov eax, dword [edx*4 + 0x794410]
push eax
mov ecx, dword [0x7c67dc]
call fcn.0040f930
push eax
push 0x2b2
mov ecx, dword [0x7c67dc]
call fcn.0040f930
push eax
push 0x793130
push ebp
call ebx
add esp, 0x10
jmp 0x592694
cmp eax, 0x558
jne 0x592694
movsx ecx, byte [esi + 3]
mov edx, dword [ecx*4 + 0x794410]
push edx
mov ecx, dword [0x7c67dc]
call fcn.0040f930
push eax
push 0x2b1
jmp 0x59263d
mov ecx, dword [0x7c67dc]
push eax
call fcn.0040f930
push eax
push 0x775998
push ebp
call ebx
add esp, 0xc
mov eax, dword [edi + 0x10]
cmp eax, 0x54
jne 0x5927c0
mov eax, dword [esi + 0x10]
test eax, eax
mov dword [esp + 0x3c], 0
mov dword [esp + 0x2c], eax
je 0x5926c1
fild dword [esp + 0x2c]
fmul dword [0x7475f4]
fstp dword [esp + 0x3c]
mov eax, dword [esi + 0x14]
test eax, eax
mov dword [esp + 0x2c], eax
je 0x59277f
fild dword [esp + 0x2c]
fmul dword [0x7475f4]
fst dword [esp + 0x24]
fcomp dword [0x746468]
fnstsw ax
test ah, 0x40
jne 0x59277f
fld dword [esp + 0x3c]
fcomp dword [esp + 0x24]
fnstsw ax
test ah, 0x41
jne 0x592715
fld dword [esp + 0x3c]
fsub dword [esp + 0x24]
fcomp dword [0x7464c8]
fnstsw ax
test ah, 1
jne 0x59277f
jmp 0x59272a
fld dword [esp + 0x24]
fsub dword [esp + 0x3c]
fcomp dword [0x7464c8]
fnstsw ax
test ah, 1
jne 0x59277f
mov ecx, dword [0x7c67dc]
push 0x2bf
call fcn.0040f930
fld dword [esp + 0x24]
mov ecx, dword [0x7c67dc]
push eax
sub esp, 8
fstp qword [esp]
push 0x3c
call fcn.0040f930
mov ecx, dword [0x7c67dc]
push eax
push 0x2be
call fcn.0040f930
fld dword [esp + 0x4c]
push eax
sub esp, 8
fstp qword [esp]
push ebp
push str._s__.1f_s__s__.1f_s
push ebp
call ebx
add esp, 0x28
jmp 0x592882
fld dword [esp + 0x3c]
fcomp dword [0x746468]
fnstsw ax
test ah, 0x40
jne 0x592882
mov ecx, dword [0x7c67dc]
push 0x2bf
call fcn.0040f930
fld dword [esp + 0x3c]
push eax
sub esp, 8
fstp qword [esp]
push ebp
push str._s__.1f_s
push ebp
call ebx
add esp, 0x18
jmp 0x592882
test byte [eax*4 + 0x747d88], 8
jne 0x592882
mov eax, dword [esi + 0x14]
test eax, eax
je 0x5927fb
cmp dword [esi + 0x10], eax
je 0x5927fb
mov ecx, dword [0x7c67dc]
push eax
push 0x3c
call fcn.0040f930
mov ecx, dword [esi + 0x10]
push eax
push ecx
push ebp
push str._s__d__s__d
push ebp
call ebx
add esp, 0x18
jmp 0x59280f
mov eax, dword [esi + 0x10]
test eax, eax
je 0x59280f
push eax
push ebp
push 0x7759a8
push ebp
call ebx
add esp, 0x10
mov eax, dword [edi + 0x10]
add eax, 0xffffffe4
cmp eax, 0x5b
ja case.0x592822.31
xor edx, edx
mov dl, byte [eax + 0x592db0]
jmp dword [edx*4 + 0x592da0]
push 0x2b7
jmp 0x59286a
cmp dword [esi + 0x14], 1
jne 0x59283d
push 0x2bc
jmp 0x59286a
push 0x2bd
jmp 0x59286a
cmp dword [esi + 0x14], 1
jne 0x592851
push 0x39d
jmp 0x59286a
push 0x39e
jmp 0x59286a
cmp dword [esi + 0x14], 1
jne 0x592865
push 0x2b5
jmp 0x59286a
push 0x2b6
mov ecx, dword [0x7c67dc]
call fcn.0040f930
push eax
push ebp
push 0x793130
push ebp
call ebx
add esp, 0x10
mov eax, dword [edi + 0x10]
test byte [eax*4 + 0x747d88], 4
jne 0x5928cd
mov eax, dword [esi + 0xc]
test eax, eax
je 0x5928cd
cmp eax, 1
jle 0x5928cd
mov ecx, dword [0x7c67dc]
push 0x2ba
call fcn.0040f930
mov ecx, dword [esi + 0xc]
push eax
push ecx
mov ecx, dword [0x7c67dc]
push 0x2b8
call fcn.0040f930
push eax
push ebp
push str._s__s__d__s
push ebp
call ebx
add esp, 0x18
mov eax, dword [esi + 8]
test eax, eax
je 0x592906
mov ecx, dword [0x7c67dc]
push 0x2bc
call fcn.0040f930
mov edx, dword [esi + 8]
mov ecx, dword [0x7c67dc]
push eax
push edx
push 0x2bb
call fcn.0040f930
push eax
push ebp
push str._s__s__d__s
push ebp
call ebx
add esp, 0x18
mov eax, dword [esp + 0x20]
cmp byte [eax + 0x2c], 1
je 0x592945
movsx ecx, byte [esi + 4]
mov edx, dword [ecx*4 + 0x7947c8]
mov ecx, dword [0x7c67dc]
push edx
call fcn.0040f930
mov ecx, dword [0x7c67dc]
push eax
push 0x2c0
call fcn.0040f930
push eax
push ebp
push str._s__s__s
push ebp
call ebx
add esp, 0x14
mov ecx, dword [esp + 0x28]
push 0
push 0xffff80b4
call fcn.00588980
mov edi, eax
cmp dword [edi + 0x104], 0x192
je 0x592967
mov byte [edi + 0x79], 1
push 0x192
mov ecx, edi
mov dword [edi + 0x104], 0x192
call fcn.00581130
push 1
mov ecx, edi
call fcn.00581400
push 0x10
mov eax, 0xffff80cc
push eax
push 0xffff8059
mov ecx, edi
mov dword [edi + 0xc4], 2
call fcn.00581f30
push 0
push 0
push ebp
push 0xffff80b4
mov ecx, edi
call fcn.00588be0
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
add esi, 0x18
dec eax
mov dword [esp + 0x1c], eax
jne 0x592395
mov eax, dword [esp + 0x20]
mov cl, byte [eax + 0x2c]
test cl, cl
je 0x592afb
mov ecx, dword [esp + 0x14]
push 0
push 0xffff80b4
call fcn.00588980
mov edi, eax
push 1
mov ecx, edi
mov dword [edi + 0x118], 0x3f800000
call fcn.005813c0
push 1
mov ecx, edi
call fcn.00581400
push 1
xor eax, eax
push eax
push 0xffff800b
mov ecx, edi
call fcn.00581f30
push 2
mov dword [esp + 0x40], 0x3f000000
mov ecx, dword [esp + 0x40]
push ecx
push 0xffff8054
mov ecx, edi
mov dword [edi + 0xc4], 4
call fcn.00581f30
mov edx, dword [esp + 0x20]
cmp byte [edx + 0x2c], 3
je 0x592afb
mov ecx, dword [0x7c67dc]
push 0
push 0
push 0x28
call fcn.0040f930
push eax
push 0xffff80b4
mov ecx, edi
call fcn.00588be0
mov dword [eax + 0xbc], 8
xor eax, eax
mov ax, word [0x7d7c52]
push 0
push fcn.0063e640
mov ecx, edi
push eax
call fcn.00588140
mov edi, dword [esp + 0x20]
xor ecx, ecx
mov cx, word [edi + 0x30]
mov esi, eax
xor eax, eax
mov ax, word [0x7d7ad6]
push 2
mov dword [esp + 0x40], ecx
fild dword [esp + 0x40]
mov ecx, esi
fstp dword [esp + 0x40]
mov edx, dword [esp + 0x40]
push edx
push eax
call fcn.00581f30
mov eax, dword [esp + 0x10]
test eax, eax
je 0x592ad1
fld dword [eax + 0x10]
push 2
fstp dword [esp + 0x40]
mov ecx, dword [esp + 0x40]
jmp 0x592ae9
xor eax, eax
mov ax, word [edi + 0x30]
push 2
mov dword [esp + 0x40], eax
fild dword [esp + 0x40]
fstp dword [esp + 0x40]
mov ecx, dword [esp + 0x40]
xor edx, edx
mov dx, word [0x7d7ad8]
push ecx
mov ecx, esi
push edx
call fcn.00581f30
mov eax, dword [0x7c67dc]
mov ecx, dword [eax + 0x2e4]
test dword [ecx + 0x24], 0x1000000
je 0x592cb8
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0x18]
mov byte [ebp], 0
lea ecx, [esi + 4]
mov byte [edi], 0
call fcn.004ee8b0
cmp eax, 0x52464552
je 0x592bc7
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x144]
mov ecx, eax
mov dword [esp + 0x34], eax
call fcn.0047e710
test eax, eax
je 0x592bc7
mov esi, dword [eax + 8]
lea ecx, [esi + 4]
call fcn.004ee8b0
cmp eax, 0x54434146
je 0x592b76
cmp eax, 0x5f43504e
jne 0x592b89
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x20]
push eax
push str.Owner__s
jmp 0x592b83
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x20]
push eax
push str.Owner_Faction__s
push ebp
call ebx
add esp, 0xc
cmp byte [ebp], 0
je 0x592ba2
mov ecx, dword [esp + 0x38]
push 0
push 0
push ebp
push 0xffff80b4
call fcn.00588be0
cmp byte [edi], 0
je 0x592bba
mov ecx, dword [esp + 0x38]
push 0
push 0
push edi
push 0xffff80b4
call fcn.00588be0
mov ecx, dword [esp + 0x34]
call fcn.0047e720
test eax, eax
jne 0x592b4e
mov esi, dword [esp + 0x10]
test esi, esi
je 0x592cb8
mov eax, dword [esi + 4]
test eax, eax
je 0x592c8d
mov byte [ebp], 0
mov byte [edi], 0
mov ecx, dword [esi + 4]
add ecx, 4
call fcn.004ee8b0
cmp eax, 0x54434146
je 0x592c26
cmp eax, 0x5f43504e
jne 0x592c5c
mov ecx, dword [esi + 4]
mov eax, dword [ecx]
call dword [eax + 0x20]
push eax
push str.Owner__s
push ebp
call ebx
mov ecx, dword [esi + 8]
add esp, 0xc
test ecx, ecx
je 0x592c5c
mov edx, dword [ecx]
call dword [edx + 0x20]
push eax
push str.Global__s
jmp 0x592c56
mov ecx, dword [esi + 4]
mov eax, dword [ecx]
call dword [eax + 0x20]
push eax
push str.Owner_Faction__s
push ebp
call ebx
mov eax, dword [esi + 8]
add esp, 0xc
test eax, eax
jl 0x592c5c
cmp eax, 0xa
jge 0x592c5c
mov ecx, dword [esi + 4]
shl eax, 5
lea edx, [eax + ecx + 0x50]
push edx
push str.Rank__s
push edi
call ebx
add esp, 0xc
cmp byte [ebp], 0
je 0x592c75
mov ecx, dword [esp + 0x38]
push 0
push 0
push ebp
push 0xffff80b4
call fcn.00588be0
cmp byte [edi], 0
je 0x592c8d
mov ecx, dword [esp + 0x38]
push 0
push 0
push edi
push 0xffff80b4
call fcn.00588be0
mov ecx, dword [esi + 0x14]
test ecx, ecx
je 0x592cb8
mov eax, dword [ecx]
call dword [eax + 0x20]
push eax
push str.Script__s
push ebp
call ebx
mov ecx, dword [esp + 0x44]
add esp, 0xc
push 0
push 0
push ebp
push 0xffff80b4
call fcn.00588be0
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + 0x1c]
cmp ecx, dword [eax + 0x20]
pop edi
pop ebp
pop ebx
jne 0x592cd3
call fcn.00595e20
pop esi
add esp, 0x20
ret 0xc
mov edx, dword [0x7c67dc]
mov al, byte [edx + 0xd6]
test al, al
je 0x592d12
push 0xffff8105
call fcn.00595a10
mov esi, eax
add esp, 4
test esi, esi
je 0x592d12
push 1
mov ecx, esi
call fcn.0057f2a0
xor eax, eax
push 1
push eax
mov ax, word [0x7d7b8c]
mov ecx, esi
push eax
call fcn.00581f30
pop esi
add esp, 0x20
ret 0xc