Function at 0x565b80
Capabilities:
Read .ini file

Disassembly:
push 0xffffffffffffffff
push 0x72ef74
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 8
push ebx
push ebp
push esi
push edi
mov ebp, ecx
xor ebx, ebx
push ebx
mov dword [esp + 0x14], ebp
call fcn.0054c930
mov dword [ebp], 0x74b174
mov byte [ebp + 0x5b0], bl
mov byte [ebp + 0x5b1], bl
mov byte [ebp + 0x5b2], bl
mov byte [ebp + 0x5b4], bl
mov byte [ebp + 0x5b5], bl
mov byte [ebp + 0x5b6], bl
mov byte [ebp + 0x5bd], bl
mov byte [ebp + 0x5be], bl
mov byte [ebp + 0x5b3], bl
mov dword [ebp + 0x660], ebx
mov dword [ebp + 0x664], ebx
mov dword [ebp + 0x14], ebx
mov dword [ebp + 0x5e4], ebx
xor eax, eax
mov ecx, 0x1b
lea edi, [ebp + 0x5f4]
rep stosd dword es:[edi], eax
mov byte [ebp + 0x228], 2
mov dword [ebp + 0x670], ebx
mov dword [ebp + 0x688], ebx
mov dword [ebp + 0x690], ebx
mov ecx, dword [0x7c67dc]
push 0x421
mov dword [esp + 0x24], ebx
call fcn.0040f950
push ecx
lea ecx, [ebp + 0x2e4]
fstp dword [esp]
call fcn.00401290
mov edi, dword [ebp + 0x10]
mov dword [ebp + 4], 0x5043414d
and edi, 0xffff7fff
mov dword [ebp + 0x10], edi
xor eax, eax
mov ecx, 8
lea edi, [ebp + 0x56c]
rep stosd dword es:[edi], eax
lea ecx, [ebp + 0x58c]
mov dword [ecx], eax
mov dword [ecx + 4], eax
mov dword [ecx + 8], eax
xor edx, edx
mov dword [0x7d5598], edx
mov dword [0x7d559c], edx
mov dword [0x7d55a0], edx
mov dword [0x7d55a4], edx
push 0x14
mov byte [ebp + 0x5bf], bl
mov byte [ebp + 0x5b9], bl
mov byte [ebp + 0x5ba], bl
mov dword [ebp + 0x5ec], ebx
mov byte [ebp + 0x5bb], bl
mov byte [ebp + 0x5c0], bl
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x14], eax
cmp eax, ebx
mov byte [esp + 0x20], 1
je 0x565cd5
mov ecx, eax
call fcn.0047e1e0
jmp 0x565cd7
xor eax, eax
mov dword [ebp + 0x674], eax
mov byte [ebp + 0x5c1], bl
xor eax, eax
mov dword [ebp + 0x59c], eax
mov dword [ebp + 0x5a0], eax
mov dword [ebp + 0x5a4], eax
mov dword [ebp + 0x5a8], eax
push 4
mov byte [esp + 0x24], bl
mov dword [ebp + 0x5e8], ebx
mov byte [ebp + 0x668], bl
mov byte [ebp + 0x669], bl
mov byte [ebp + 0x5b7], bl
mov byte [ebp + 0x5b8], bl
mov dword [ebp + 0x5f0], ebx
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x14], eax
cmp eax, ebx
mov byte [esp + 0x20], 2
je 0x565d45
mov ecx, eax
call fcn.0055b730
jmp 0x565d47
xor eax, eax
mov dword [ebp + 0x598], eax
mov byte [ebp + 0x5bc], bl
mov dword [ebp + 0x678], ebx
mov dword [ebp + 0x5c4], ebx
mov dword [ebp + 0x5c8], ebx
mov dword [ebp + 0x5cc], ebx
mov dword [ebp + 0x5d0], ebx
mov dword [ebp + 0x5d4], ebx
mov dword [ebp + 0x68c], ebx
mov ecx, dword [0x7c67e0]
mov ecx, dword [ecx]
push str.PCKnownWerewolf
mov byte [esp + 0x24], bl
call fcn.004ba820
cmp eax, ebx
mov dword [ebp + 0x690], eax
jne 0x565e10
push 0x38
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x14], eax
cmp eax, ebx
mov byte [esp + 0x20], 3
je 0x565dbd
mov ecx, eax
call fcn.004ad980
jmp 0x565dbf
xor eax, eax
mov dword [ebp + 0x690], eax
or ecx, 0xffffffff
lea edx, [eax + 0x10]
xor eax, eax
mov edi, str.PCKnownWerewolf
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
shr ecx, 2
mov esi, edi
mov edi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp + 0x690]
mov dword [eax + 0x34], ebx
mov ecx, dword [0x7c67e0]
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
mov edx, dword [ebp + 0x690]
push edx
mov ecx, eax
mov byte [esp + 0x24], bl
call fcn.0047e360
mov eax, dword [0x7c67e0]
mov ecx, dword [eax]
push str.WereWolfClawMult
call fcn.004ba820
cmp eax, ebx
mov dword [ebp + 0x5ac], eax
jne 0x565e9f
push 0x38
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x14], eax
cmp eax, ebx
mov byte [esp + 0x20], 4
je 0x565e4b
mov ecx, eax
call fcn.004ad980
jmp 0x565e4d
xor eax, eax
mov dword [ebp + 0x5ac], eax
or ecx, 0xffffffff
lea edx, [eax + 0x10]
xor eax, eax
mov edi, str.WereWolfClawMult
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
shr ecx, 2
mov esi, edi
mov edi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp + 0x5ac]
mov dword [ecx + 0x34], 0x3f800000
mov eax, dword [0x7c67e0]
mov edx, dword [ebp + 0x5ac]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x38]
push edx
mov byte [esp + 0x24], bl
call fcn.0047e360
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
push str..Morrowind.ini
push ebx
push str.Always_Run
push str.General
call esi
push str..Morrowind.ini
push 1
test eax, eax
push str.Joystick_X_Turns
mov dl, 1
nop
push str.General
mov byte [ebp + 0x5b7], dl
call esi
dec eax
push str..Morrowind.ini
neg eax
push 6
sbb al, al
push str.Joystick_Look_Up_Down
inc al
push str.General
mov byte [0x7d16dc], al
call esi
push str..Morrowind.ini
push 3
push str.Joystick_Look_Left_Right
push str.General
mov byte [0x7b2180], al
call esi
mov byte [0x7b2181], al
mov eax, dword [0x7de6cc]
mov dword [ebp + 0x67c], eax
mov ecx, dword [0x7de6d0]
mov dword [ebp + 0x680], ecx
mov edx, dword [0x7de6d4]
mov ecx, dword [esp + 0x18]
pop edi
mov dword [ebp + 0x684], edx
mov dword [ebp + 0x66c], ebx
pop esi
mov eax, ebp
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x14
ret