Function at 0x4d01d1
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x6e80d7
mov eax, dword fs:[0]
push eax
sub esp, 0x150
mov eax, dword [0x766480]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x150], ecx
mov esi, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
mov dword [ebp - 0x158], eax
mov eax, dword [0x779904]
push dword [esi + 4]
mov dword [ebp - 0x144], esi
mov dword [ebp - 0x15c], eax
call fcn.004b7840
push dword [esi + 4]
mov dword [ebp - 0x14c], eax
call fcn.004b7aa0
mov ecx, dword [0x1a4ea6c]
xor esi, esi
add esp, 8
mov dword [ebp - 0x140], eax
or edi, 0xffffffff
mov dword [ebp - 0x138], esi
test ecx, ecx
jne 0x4cfff7
push 0x14
call fcn.006df8c3
add esp, 4
mov dword [ebp - 0x148], eax
mov dword [ebp - 4], esi
test eax, eax
je 0x4cffe8
push 0x1e
mov ecx, eax
call fcn.0067b350
mov ecx, eax
jmp 0x4cffea
xor ecx, ecx
mov dword [ebp - 4], 0xffffffff
mov dword [0x1a4ea6c], ecx
mov eax, dword [ebp - 0x144]
push dword [eax + 4]
call fcn.0067b810
mov edx, eax
mov dword [ebp - 0x154], edx
test edx, edx
je case.0x4d01ac.13
mov eax, dword [ebp - 0x140]
cmp eax, 3
jne 0x4d0114
push dword [edx + 0x7c]
call fcn.00450800
mov ecx, eax
call fcn.0067de70
mov edx, eax
mov dword [ebp - 0x140], edx
test edx, edx
je 0x4d00eb
push dword [edx + 4]
call fcn.00450780
mov ecx, eax
call fcn.0067b810
mov dword [ebp - 0x148], eax
test eax, eax
je case.0x4d01ac.13
cmp dword [eax + 0x18], 0
jne 0x4d00e5
mov ecx, dword [ebp - 0x15c]
movzx edx, byte [ecx + 0x4f09]
movsx ecx, byte [eax + 0x23]
cmp edx, ecx
je 0x4d00a1
mov eax, dword [0x77ae94]
mov eax, dword [eax]
shr eax, 0xc
test al, 1
jne 0x4d00a1
mov eax, dword [ebp - 0x154]
add eax, 8
cmp dword [eax + 0x14], 0xf
jbe 0x4d009a
mov eax, dword [eax]
mov ecx, 0x7f19c8
jmp 0x4d00c3
mov eax, dword [ebp - 0x154]
add eax, 8
cmp dword [eax + 0x14], 0xf
jbe 0x4d00b2
mov eax, dword [eax]
mov ecx, dword [ebp - 0x148]
add ecx, 8
cmp dword [ecx + 0x14], 0xf
jbe 0x4d00c3
mov ecx, dword [ecx]
push eax
push ecx
lea eax, [ebp - 0x114]
push 0x8481c8
push eax
call fcn.0044f6e0
lea esi, [ebp - 0x114]
add esp, 0x10
mov dword [ebp - 0x138], esi
mov edx, dword [ebp - 0x140]
mov eax, dword [ebp - 0x14c]
sub eax, 0
je 0x4d024c
sub eax, 1
je 0x4d0245
sub eax, 1
jne 0x4d0251
or edi, 0xffffffff
jmp 0x4d0251
xor edx, edx
xor esi, esi
mov dword [ebp - 0x138], esi
mov dword [ebp - 0x140], edx
sub eax, edx
je 0x4d00eb
sub eax, 2
je 0x4d016f
sub eax, 2
jne 0x4d037e
mov eax, dword [ebp - 0x14c]
test eax, eax
jne 0x4d0232
mov eax, dword [ebp - 0x144]
mov ecx, dword [0x76a0c4]
movzx eax, word [eax + 4]
push eax
call fcn.006aa7d0
neg eax
sbb edi, edi
and edi, 0xffffab78
add edi, 0xffff9ace
jmp 0x4d037e
mov eax, dword [ebp - 0x14c]
test eax, eax
jne 0x4d0232
mov eax, dword [ebp - 0x144]
mov ecx, dword [0x76a0c4]
movzx eax, word [eax + 4]
push eax
call fcn.006aa7d0
mov edx, eax
test edx, edx
je 0x4d0228
movzx ecx, byte [edx + 0x16e]
add ecx, 0xfffffffb
cmp ecx, 8
ja case.0x4d01ac.6
jmp dword [ecx*4 + 0x4d0794]
mov edi, 0xffff00ff
jmp 0x4d037e
mov edi, 0xff00d2ff
jmp 0x4d037e
mov edi, 0xffff0000
jmp 0x4d037e
mov ecx, dword [ebp - 0x15c]
movsx eax, byte [ecx + 0xd2]
mov ecx, dword [edx + 0x1d0]
sub ecx, eax
jne 0x4d01f2
mov edi, 0xc8fff24c
jmp 0x4d037e
test ecx, ecx
jle 0x4d020b
cmp ecx, 3
mov edi, 0xffff4646
mov eax, 0xffffb742
cmovle edi, eax
jmp 0x4d037e
lea eax, [ecx + 2]
mov ecx, 1
cmp ecx, eax
sbb edi, edi
and edi, 0xffa4ed62
add edi, 0xffffb742
jmp 0x4d037e
mov edi, 0xffff9ace
jmp 0x4d037e
cmp eax, 1
jne 0x4d037e
mov edi, 0xff949694
jmp 0x4d037e
mov edi, 0xff949694
jmp 0x4d0251
mov edi, 0xffff0000
test esi, esi
jne 0x4d02a9
mov ecx, dword [ebp - 0x144]
test edx, edx
mov eax, ecx
cmovne eax, edx
test eax, eax
je 0x4d02a9
push dword [ecx + 4]
call fcn.00450780
mov ecx, eax
call fcn.0067b810
cmp dword [eax + 0x1c], 0xf
lea ecx, [eax + 8]
jbe 0x4d0280
mov ecx, dword [ecx]
lea edx, [ebp - 0x114]
sub edx, ecx
nop dword [eax + eax]
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx + ecx - 1], al
test al, al
jne 0x4d0290
lea esi, [ebp - 0x114]
mov dword [ebp - 0x138], esi
call fcn.00450800
mov ecx, dword [ebp - 0x144]
mov edx, dword [eax]
mov eax, dword [ebp - 0x140]
test eax, eax
mov dword [ebp - 0x15c], edx
cmovne ecx, eax
mov dword [ebp - 0x140], ecx
test edx, edx
je 0x4d037a
test ecx, ecx
je 0x4d037a
call fcn.00450780
mov eax, dword [eax]
mov dword [ebp - 0x148], eax
mov eax, dword [ebp - 0x144]
push dword [eax + 4]
call fcn.00450780
mov ecx, eax
call fcn.0067b810
mov ecx, eax
mov eax, dword [ebp - 0x148]
test eax, eax
je 0x4d037a
test ecx, ecx
je 0x4d037a
mov edx, dword [eax + 0x34]
test edx, edx
je 0x4d032b
cmp edx, dword [ecx + 0x34]
jne 0x4d032b
cmp dword [ebp - 0x14c], 0
je 0x4d037a
mov edi, 0xff80ff00
jmp 0x4d037a
mov eax, dword [eax + 0x30]
test eax, eax
je 0x4d037a
js 0x4d037a
cmp eax, dword [ecx + 0x30]
jne 0x4d037a
cmp dword [ebp - 0x14c], 0
je 0x4d037a
call fcn.005bac00
mov ecx, eax
call fcn.005bac80
test al, al
jne 0x4d0375
mov eax, dword [ebp - 0x15c]
cmp byte [eax + 0x162], 0
jne 0x4d0370
mov eax, dword [ebp - 0x140]
cmp byte [eax + 0x162], 0
je 0x4d0375
or edi, 0xffffffff
jmp 0x4d037a
mov edi, 0xffffcc00
test esi, esi
jne 0x4d039b
mov esi, dword [ebp - 0x154]
add esi, 8
mov dword [ebp - 0x138], esi
cmp dword [esi + 0x14], 0xf
jbe 0x4d039b
mov esi, dword [esi]
mov dword [ebp - 0x138], esi
push esi
mov ecx, 0x76a130
call fcn.0049f600
movsx edx, word [ebp + 0x10]
movsx esi, word [ebp + 0x14]
mov ecx, edx
shr eax, 1
add edx, 3
sub ecx, eax
add eax, edx
mov dword [ebp - 0x140], ecx
lea ecx, [esi + 0x1e]
push ecx
push eax
mov eax, dword [ebp - 0x140]
push esi
add eax, 0xfffffffd
push eax
lea eax, [ebp - 0x124]
push eax
call dword [sym.imp.USER32.dll_SetRect]
mov eax, dword [ebp - 0x144]
push dword [ebp - 0x138]
mov esi, dword [eax + 0x30]
mov ecx, esi
call fcn.0047cbd0
movups xmm0, xmmword [ebp - 0x124]
sub esp, 0x10
mov ecx, esi
mov eax, esp
movups xmmword [eax], xmm0
call fcn.00482800
mov ecx, dword [esi + 0x26c]
push edi
mov eax, dword [ecx]
call dword [eax + 0x40]
push 2
lea eax, [ebp - 0x134]
mov ecx, esi
push eax
call fcn.00482690
movups xmm0, xmmword [ebp - 0x134]
mov edx, dword [esi]
mov ecx, esi
push 0
sub esp, 0x10
mov eax, esp
push 0
movups xmmword [eax], xmm0
call dword [edx + 0xe0]
mov ecx, dword [0x77b1c4]
push 4
call fcn.004db360
mov edi, dword [ebp - 0x154]
mov eax, dword [eax + 0x6c]
mov ecx, dword [eax + 0x2cc]
mov eax, dword [edi + 0x28]
mov dword [ebp - 0x148], ecx
test eax, eax
je 0x4d060a
cmp eax, 0x7d0
ja 0x4d0484
mov dword [ebp - 0x138], 1
jmp 0x4d054f
cmp eax, 0x2710
ja 0x4d049a
mov dword [ebp - 0x138], 2
jmp 0x4d054f
cmp eax, 0x61a8
ja 0x4d04b0
mov dword [ebp - 0x138], 3
jmp 0x4d054f
cmp eax, 0xc350
ja 0x4d04c6
mov dword [ebp - 0x138], 4
jmp 0x4d054f
cmp eax, 0x124f8
ja 0x4d04d9
mov dword [ebp - 0x138], 5
jmp 0x4d054f
cmp eax, 0x186a0
ja 0x4d04e7
mov eax, 6
jmp 0x4d0549
cmp eax, 0x249f0
ja 0x4d04f5
mov eax, 7
jmp 0x4d0549
cmp eax, 0x3d090
ja 0x4d0503
mov eax, 8
jmp 0x4d0549
cmp eax, 0x7a120
ja 0x4d0511
mov eax, 9
jmp 0x4d0549
cmp eax, 0xb71b0
ja 0x4d051f
mov eax, 0xa
jmp 0x4d0549
cmp eax, 0xf4240
ja 0x4d052d
mov eax, 0xb
jmp 0x4d0549
cmp eax, 0x16e360
ja 0x4d053b
mov eax, 0xc
jmp 0x4d0549
mov edx, 0x1e8480
cmp edx, eax
sbb eax, eax
neg eax
add eax, 0xd
mov dword [ebp - 0x138], eax
mov eax, dword [edi + 0x30]
mov byte [ebp - 0x139], 0
test eax, eax
je 0x4d056e
js 0x4d056e
push eax
call fcn.005173f0
test eax, eax
je 0x4d0588
mov al, byte [eax + 5]
jmp 0x4d058e
movsx eax, byte [edi + 0x24]
sub eax, 0
je 0x4d0584
sub eax, 1
je 0x4d0580
xor al, al
jmp 0x4d058e
mov al, 2
jmp 0x4d058e
mov al, 1
jmp 0x4d058e
mov al, byte [ebp - 0x139]
movzx eax, al
sub eax, 1
je 0x4d05b4
sub eax, 1
je 0x4d05aa
sub eax, 1
jne 0x4d060a
mov eax, dword [ebp - 0x138]
add al, 0x17
jmp 0x4d05bc
mov eax, dword [ebp - 0x138]
add al, 0xd
jmp 0x4d05bc
mov eax, dword [ebp - 0x138]
dec al
mov esi, dword [ebp - 0x150]
cmp al, 0x28
je 0x4d0610
add dword [ebp - 0x120], 8
movzx eax, al
lea ecx, [esi + eax*4]
mov eax, dword [ecx + 0xe0]
mov dword [eax], 0
mov dword [eax + 4], 0
push dword [ebp - 0x120]
mov ecx, dword [ecx + 0xe0]
push dword [ebp - 0x11c]
push 0xff
push dword [ebp - 0x158]
call fcn.005b7b20
jmp 0x4d0610
mov esi, dword [ebp - 0x150]
mov eax, dword [edi + 0x30]
test eax, eax
je 0x4d06be
mov ecx, dword [ebp - 0x148]
push eax
call fcn.00517580
mov edi, eax
test edi, edi
je 0x4d06be
mov eax, dword [ebp - 0x144]
cmp byte [eax + 0x162], 1
jne 0x4d068b
call fcn.005bac00
mov ecx, eax
call fcn.005bac80
test al, al
je 0x4d06be
mov eax, dword [esi + 0x1dc]
mov dword [eax], 0
mov dword [eax + 4], 0
movsx eax, word [ebp + 0x14]
mov ecx, dword [esi + 0x1dc]
add eax, 5
push eax
mov eax, dword [ebp - 0x140]
add eax, 0xffffffe0
push eax
push 0xff
push dword [ebp - 0x158]
call fcn.005b7b20
movsx esi, word [ebp + 0x14]
mov ecx, edi
mov dword [edi], 0
mov dword [edi + 4], 0
lea eax, [esi + 8]
push eax
mov eax, dword [ebp - 0x140]
add eax, 0xffffffe9
push eax
push 0xff
push dword [ebp - 0x158]
call fcn.005b7b20
jmp 0x4d06c2
movsx esi, word [ebp + 0x14]
mov eax, dword [ebp - 0x144]
mov al, byte [eax + 0x161]
mov byte [ebp - 0x139], al
test al, al
je case.0x4d01ac.13
push str..Setting.ini
push 0
push str.Star
push str.Main
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
cmp eax, 1
jne 0x4d075f
mov al, byte [ebp - 0x139]
test al, al
je 0x4d075f
movzx edi, al
lea edx, [esi - 0xf]
movsx esi, word [ebp + 0x10]
mov dword [ebp - 0x148], edx
lea eax, [edi*8]
sub esi, eax
nop dword [eax + eax]
mov ecx, dword [ebp - 0x150]
push edx
push esi
push 0xff
mov eax, dword [ecx + 0x1d4]
push dword [ebp - 0x158]
mov dword [eax], 0
mov dword [eax + 4], 0
mov ecx, dword [ecx + 0x1d4]
call fcn.005b7b20
mov edx, dword [ebp - 0x148]
add esi, 0x10
sub edi, 1
jne 0x4d0720
push str..Setting.ini
push 0
push str.Star
push str.Main
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.006dfb52
mov esp, ebp
pop ebp
ret 0x10