Function at 0x100519d6
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c4
mov eax, dword [0x100a69a0]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, dword [ebp + 0xc]
push edi
mov edi, dword [ebp + 8]
call fcn.10046b60
push edi
push 0x14c08
push esi
push 0x1008b74c
push str.GoodItem
push str.config
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push 0x64
lea eax, [ebp - 0x150]
push 0
push eax
call sub.MSVCR100.dll_memset
mov edi, dword [sym.imp.MSVCR100.dll_strtok]
push 0x10093a3c
push esi
call edi
add esp, 0x14
mov dword [ebp - 0x1bc], eax
test eax, eax
je 0x10051c42
push ebx
mov esi, dword [ebp - 0x1bc]
push esi
call sub.MSVCR100.dll_strlen
inc eax
cmp byte [esi], 0x7c
pop ecx
mov dword [ebp - 0x1c4], eax
jne 0x10051a6d
inc esi
push esi
lea eax, [ebp - 0x24]
push eax
call sub.MSVCR100.dll_strcpy
pop ecx
pop ecx
jmp 0x10051c1d
and dword [ebp - 0x1b8], 0
push 0x64
lea eax, [ebp - 0x1b4]
push 0
push eax
call sub.MSVCR100.dll_memset
add esp, 0xc
cmp byte [ebp - 0x150], 0
push esi
je 0x10051aaf
lea eax, [ebp - 0x150]
push eax
lea eax, [ebp - 0x1b4]
push 0x1009a7dc
push eax
call dword [sym.imp.MSVCR100.dll_sprintf]
add esp, 0x10
jmp 0x10051abd
lea eax, [ebp - 0x1b4]
push eax
call sub.MSVCR100.dll_strcpy
pop ecx
pop ecx
mov esi, 0x1008cd0c
lea eax, [ebp - 0x1b4]
push esi
push eax
call edi
pop ecx
pop ecx
test eax, eax
je 0x10051b0f
lea ebx, [ebp - 0xec]
push eax
push ebx
call sub.MSVCR100.dll_strcpy
inc dword [ebp - 0x1b8]
push esi
push 0
add ebx, 0x32
call edi
add esp, 0x10
test eax, eax
jne 0x10051ad8
cmp dword [ebp - 0x1b8], 1
jne 0x10051b0f
lea eax, [ebp - 0xec]
push eax
lea eax, [ebp - 0x150]
jmp 0x10051a60
cmp dword [ebp - 0x1b8], 4
mov byte [ebp - 0x150], 0
jne 0x10051c1d
mov eax, dword [0x100df938]
xor esi, esi
test eax, eax
jle 0x10051b7d
mov dword [ebp - 0x1b8], 0x100ca13a
mov ebx, 0x100a74c8
lea eax, [ebp - 0xec]
push eax
push ebx
call sub.MSVCR100.dll_strcmp
pop ecx
pop ecx
test eax, eax
jne 0x10051b69
lea eax, [ebp - 0x24]
push eax
push dword [ebp - 0x1b8]
call sub.MSVCR100.dll_strcmp
pop ecx
pop ecx
test eax, eax
je 0x10051c50
mov eax, dword [0x100df938]
add dword [ebp - 0x1b8], 0x1e
inc esi
add ebx, 0x37
cmp esi, eax
jl 0x10051b3d
imul eax, eax, 0x37
lea ecx, [ebp - 0xec]
push ecx
add eax, 0x100a74c8
push eax
call sub.MSVCR100.dll_strcpy
mov esi, 0x1008b754
lea eax, [ebp - 0xba]
push esi
push eax
call sub.MSVCR100.dll_strcmp
mov ecx, dword [0x100df938]
neg eax
sbb al, al
inc al
mov byte [ecx + 0x100dd0be], al
lea eax, [ebp - 0x88]
push esi
push eax
call sub.MSVCR100.dll_strcmp
mov ecx, dword [0x100df938]
neg eax
sbb al, al
inc al
mov byte [ecx + 0x100ddadc], al
lea eax, [ebp - 0x56]
push esi
push eax
call sub.MSVCR100.dll_strcmp
mov ecx, dword [0x100df938]
neg eax
sbb al, al
inc al
mov byte [ecx + 0x100de4fa], al
lea eax, [ebp - 0x24]
push eax
mov eax, dword [0x100df938]
imul eax, eax, 0x1e
add eax, 0x100ca13a
push eax
call sub.MSVCR100.dll_strcpy
mov eax, dword [0x100df938]
add esp, 0x28
mov byte [eax + 0x100def18], 0
inc dword [0x100df938]
mov eax, dword [ebp - 0x1c4]
add eax, dword [ebp - 0x1bc]
push 0x10093a3c
push eax
call edi
pop ecx
pop ecx
mov dword [ebp - 0x1bc], eax
test eax, eax
jne 0x10051a42
pop ebx
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.10083a34
leave
ret
lea eax, [ebp - 0xba]
push eax
call dword [sym.imp.MSVCR100.dll_atoi]
mov ebx, eax
lea eax, [ebp - 0x88]
push eax
call dword [sym.imp.MSVCR100.dll_atoi]
mov dword [ebp - 0x1b8], eax
lea eax, [ebp - 0x56]
push eax
call dword [sym.imp.MSVCR100.dll_atoi]
mov dword [ebp - 0x1c0], eax
movzx eax, byte [esi + 0x100dd0be]
add esp, 0xc
cmp eax, ebx
jne 0x10051cb2
movzx eax, byte [esi + 0x100ddadc]
cmp eax, dword [ebp - 0x1b8]
jne 0x10051cb2
movzx eax, byte [esi + 0x100de4fa]
cmp eax, dword [ebp - 0x1c0]
je 0x10051c1d
mov al, byte [ebp - 0x1b8]
mov byte [esi + 0x100dd0be], bl
mov byte [esi + 0x100ddadc], al
mov al, byte [ebp - 0x1c0]
mov byte [esi + 0x100de4fa], al
mov byte [esi + 0x100def18], 0
jmp 0x10051c1d