Function at 0x40d380
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x561b47
mov eax, dword fs:[0]
push eax
mov eax, 0x16fc
call fcn.00528110
mov eax, dword [0x5c5ebc]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x16d0], ecx
mov dword [ebp - 0x16cc], 0
mov ecx, dword [ebp - 0x16d0]
call fcn.00496220
mov ecx, dword [ebp - 0x16d0]
add ecx, 0x288
call fcn.00411ad0
mov ecx, dword [ebp - 0x16d0]
cmp dword [ecx + 0x2d0], eax
jge 0x40de2b
mov edx, dword [ebp - 0x16d0]
mov eax, dword [edx + 0x2d0]
push eax
mov ecx, dword [ebp - 0x16d0]
add ecx, 0x288
call fcn.00411af0
push eax
mov ecx, dword [ebp - 0x16d0]
add ecx, 0x234
call fcn.00415e60
mov ecx, dword [ebp - 0x16d0]
mov edx, dword [ecx + 0x2d0]
push edx
mov ecx, dword [ebp - 0x16d0]
add ecx, 0x288
call fcn.00411af0
add eax, 0x202
push eax
mov ecx, dword [ebp - 0x16d0]
add ecx, 0x228
call fcn.00415e60
mov eax, dword [ebp - 0x16d0]
mov ecx, dword [eax + 0x2d0]
push ecx
mov ecx, dword [ebp - 0x16d0]
add ecx, 0x288
call fcn.00411af0
add eax, 0x268
push eax
mov ecx, dword [ebp - 0x16d0]
add ecx, 0x21c
call fcn.00415e60
mov edx, dword [ebp - 0x16d0]
mov eax, dword [edx + 0x2d0]
push eax
mov ecx, dword [ebp - 0x16d0]
add ecx, 0x288
call fcn.00411af0
mov ecx, dword [eax + 0x288]
mov dword [ebp - 0xe6c], ecx
mov edx, dword [ebp - 0x16d0]
mov eax, dword [edx + 0x2d0]
push eax
mov ecx, dword [ebp - 0x16d0]
add ecx, 0x288
call fcn.00411af0
mov ecx, dword [eax + 0x28c]
mov dword [ebp - 0x1670], ecx
mov edx, dword [ebp - 0xe6c]
cmp edx, dword [ebp - 0x1670]
jne 0x40d599
cmp dword [ebp - 0xe6c], 0xffffffff
jne 0x40d502
mov dword [ebp - 0x16d4], 0x573da0
jmp 0x40d558
mov eax, dword [ebp - 0xe6c]
push eax
call dword [sym.imp.WS2_32.dll_inet_ntoa]
push eax
lea ecx, [ebp - 0x1688]
push ecx
call fcn.00499f80
add esp, 8
mov dword [ebp - 0x16d8], eax
mov edx, dword [ebp - 0x16d8]
mov dword [ebp - 0x16dc], edx
mov dword [ebp - 4], 0
mov eax, dword [ebp - 0x16cc]
or eax, 1
mov dword [ebp - 0x16cc], eax
mov ecx, dword [ebp - 0x16dc]
call fcn.00415f60
mov dword [ebp - 0x16d4], eax
mov ecx, dword [ebp - 0x16d4]
push ecx
mov ecx, dword [ebp - 0x16d0]
add ecx, 0x218
call fcn.00415e60
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x16cc]
and edx, 1
je 0x40d594
and dword [ebp - 0x16cc], 0xfffffffe
lea ecx, [ebp - 0x1688]
call fcn.00415e20
jmp 0x40d664
mov eax, dword [ebp - 0xe6c]
push eax
call dword [sym.imp.WS2_32.dll_inet_ntoa]
push eax
lea ecx, [ebp - 0x168c]
push ecx
call fcn.00499f80
add esp, 8
mov dword [ebp - 0x16e0], eax
mov edx, dword [ebp - 0x16e0]
mov dword [ebp - 0x16e4], edx
mov dword [ebp - 4], 1
mov eax, dword [ebp - 0x16e4]
mov ecx, dword [eax]
push ecx
push 0x573da4
mov edx, dword [ebp - 0x16d0]
add edx, 0x218
push edx
call fcn.004171c0
add esp, 0xc
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x168c]
call fcn.00415e20
mov eax, dword [ebp - 0x1670]
push eax
call dword [sym.imp.WS2_32.dll_inet_ntoa]
push eax
lea ecx, [ebp - 0x1690]
push ecx
call fcn.00499f80
add esp, 8
mov dword [ebp - 0x16e8], eax
mov edx, dword [ebp - 0x16e8]
mov dword [ebp - 0x16ec], edx
mov dword [ebp - 4], 2
mov eax, dword [ebp - 0x16ec]
push eax
mov ecx, dword [ebp - 0x16d0]
add ecx, 0x218
call fcn.004115f0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1690]
call fcn.00415e20
mov ecx, dword [ebp - 0x16d0]
mov edx, dword [ecx + 0x2d0]
push edx
mov ecx, dword [ebp - 0x16d0]
add ecx, 0x288
call fcn.00411af0
mov ecx, dword [ebp - 0x16d0]
mov edx, dword [eax + 0x298]
mov dword [ecx + 0x244], edx
mov eax, dword [ebp - 0x16d0]
mov ecx, dword [eax + 0x2d0]
push ecx
mov ecx, dword [ebp - 0x16d0]
add ecx, 0x288
call fcn.00411af0
mov edx, dword [ebp - 0x16d0]
mov eax, dword [eax + 0x29c]
mov dword [edx + 0x26c], eax
mov ecx, dword [ebp - 0x16d0]
cmp dword [ecx + 0x26c], 0
jle 0x40d6f7
mov edx, dword [ebp - 0x16d0]
mov eax, dword [edx + 0x26c]
cdq
and edx, 0x3ff
add eax, edx
sar eax, 0xa
mov ecx, dword [ebp - 0x16d0]
mov dword [ecx + 0x26c], eax
mov edx, dword [ebp - 0x16d0]
mov eax, dword [edx + 0x2d0]
push eax
mov ecx, dword [ebp - 0x16d0]
add ecx, 0x288
call fcn.00411af0
mov ecx, dword [ebp - 0x16d0]
mov edx, dword [eax + 0x2a0]
mov dword [ecx + 0x2d8], edx
mov eax, dword [ebp - 0x16d0]
cmp dword [eax + 0x2d8], 0
jle 0x40d75a
mov ecx, dword [ebp - 0x16d0]
mov eax, dword [ecx + 0x2d8]
cdq
and edx, 0x3ff
add eax, edx
sar eax, 0xa
mov edx, dword [ebp - 0x16d0]
mov dword [edx + 0x2d8], eax
mov eax, dword [ebp - 0x16d0]
mov ecx, dword [eax + 0x2d0]
push ecx
mov ecx, dword [ebp - 0x16d0]
add ecx, 0x288
call fcn.00411af0
mov edx, dword [ebp - 0x16d0]
mov eax, dword [eax + 0x2a8]
mov dword [edx + 0x23c], eax
mov ecx, dword [ebp - 0x16d0]
xor edx, edx
cmp dword [ecx + 0x23c], 0xffffffff
setne dl
mov eax, dword [ebp - 0x16d0]
mov dword [eax + 0x248], edx
mov ecx, dword [ebp - 0x16d0]
mov edx, dword [ecx + 0x2d0]
push edx
mov ecx, dword [ebp - 0x16d0]
add ecx, 0x288
call fcn.00411af0
mov ecx, dword [ebp - 0x16d0]
mov edx, dword [eax + 0x2a4]
mov dword [ecx + 0x240], edx
mov eax, dword [ebp - 0x16d0]
xor ecx, ecx
cmp dword [eax + 0x240], 0xffffffff
setne cl
mov edx, dword [ebp - 0x16d0]
mov dword [edx + 0x24c], ecx
mov eax, dword [ebp - 0x16d0]
mov ecx, dword [eax + 0x2d0]
push ecx
mov ecx, dword [ebp - 0x16d0]
add ecx, 0x288
call fcn.00411af0
mov edx, dword [ebp - 0x16d0]
mov eax, dword [eax + 0x294]
mov dword [edx + 0x2d4], eax
mov ecx, dword [ebp - 0x16d0]
mov edx, dword [ecx + 0x2d4]
and edx, 2
neg edx
sbb edx, edx
neg edx
mov eax, dword [ebp - 0x16d0]
mov dword [eax + 0x238], edx
mov ecx, dword [ebp - 0x16d0]
mov edx, dword [ecx + 0x2d4]
and edx, 4
neg edx
sbb edx, edx
neg edx
mov eax, dword [ebp - 0x16d0]
mov dword [eax + 0x220], edx
mov ecx, dword [ebp - 0x16d0]
mov edx, dword [ecx + 0x2d4]
and edx, 8
neg edx
sbb edx, edx
neg edx
mov eax, dword [ebp - 0x16d0]
mov dword [eax + 0x230], edx
mov ecx, dword [ebp - 0x16d0]
mov edx, dword [ecx + 0x2d4]
and edx, 0x10
neg edx
sbb edx, edx
neg edx
mov eax, dword [ebp - 0x16d0]
mov dword [eax + 0x210], edx
mov ecx, dword [ebp - 0x16d0]
mov edx, dword [ecx + 0x2d4]
and edx, 0x20
neg edx
sbb edx, edx
neg edx
mov eax, dword [ebp - 0x16d0]
mov dword [eax + 0x214], edx
mov ecx, dword [ebp - 0x16d0]
mov edx, dword [ecx + 0x2d4]
and edx, 0x40
neg edx
sbb edx, edx
neg edx
mov eax, dword [ebp - 0x16d0]
mov dword [eax + 0x22c], edx
mov ecx, dword [ebp - 0x16d0]
mov edx, dword [ecx + 0x2d4]
and edx, 0x80
neg edx
sbb edx, edx
neg edx
mov eax, dword [ebp - 0x16d0]
mov dword [eax + 0x224], edx
mov ecx, dword [ebp - 0x16d0]
mov edx, dword [ecx + 0x2d0]
push edx
mov ecx, dword [ebp - 0x16d0]
add ecx, 0x288
call fcn.00411af0
mov ecx, dword [ebp - 0x16d0]
mov edx, dword [eax + 0x264]
mov dword [ecx + 0x258], edx
mov eax, dword [ebp - 0x16d0]
mov ecx, dword [eax + 0x2d0]
push ecx
mov ecx, dword [ebp - 0x16d0]
add ecx, 0x288
call fcn.00411af0
mov edx, dword [ebp - 0x16d0]
mov eax, dword [eax + 0x290]
mov dword [edx + 0x250], eax
mov ecx, dword [ebp - 0x16d0]
mov edx, dword [ecx + 0x2d0]
push edx
mov ecx, dword [ebp - 0x16d0]
add ecx, 0x288
call fcn.00411af0
mov ecx, dword [ebp - 0x16d0]
mov edx, dword [eax + 0x284]
mov dword [ecx + 0x254], edx
mov eax, dword [ebp - 0x16d0]
mov ecx, dword [eax + 0x2d0]
push ecx
mov ecx, dword [ebp - 0x16d0]
add ecx, 0x288
call fcn.00411af0
mov edx, dword [ebp - 0x16d0]
mov eax, dword [eax + 0x2d4]
mov dword [edx + 0x260], eax
mov ecx, dword [ebp - 0x16d0]
mov edx, dword [ecx + 0x2d0]
push edx
mov ecx, dword [ebp - 0x16d0]
add ecx, 0x288
call fcn.00411af0
mov ecx, dword [ebp - 0x16d0]
mov edx, dword [eax + 0x2d0]
mov dword [ecx + 0x25c], edx
mov eax, dword [ebp - 0x16d0]
mov ecx, dword [eax + 0x2d0]
push ecx
mov ecx, dword [ebp - 0x16d0]
add ecx, 0x288
call fcn.00411af0
mov edx, dword [ebp - 0x16d0]
mov eax, dword [eax + 0x4dc]
mov dword [edx + 0x264], eax
mov ecx, dword [ebp - 0x16d0]
mov edx, dword [ecx + 0x2d0]
push edx
mov ecx, dword [ebp - 0x16d0]
add ecx, 0x288
call fcn.00411af0
mov ecx, dword [ebp - 0x16d0]
mov edx, dword [eax + 0x4e0]
mov dword [ecx + 0x268], edx
mov dword [ebp - 0xe68], 0
mov dword [ebp - 0xe64], 0
mov dword [ebp - 0xe58], 0
mov dword [ebp - 0x1678], 0
mov dword [ebp - 0x1674], 0
mov dword [ebp - 0xe60], 0
lea eax, [ebp - 0xe60]
push eax
lea ecx, [ebp - 0x1674]
push ecx
lea edx, [ebp - 0x1678]
push edx
lea eax, [ebp - 0xe58]
push eax
lea ecx, [ebp - 0xe64]
push ecx
lea edx, [ebp - 0xe68]
push edx
push 0x573dac
mov eax, dword [ebp - 0x16d0]
mov ecx, dword [eax + 0x2d0]
push ecx
mov ecx, dword [ebp - 0x16d0]
add ecx, 0x288
call fcn.00411af0
add eax, 0x4e4
push eax
call fcn.00528085
add esp, 0x20
mov edx, dword [ebp - 0xe60]
push edx
mov eax, dword [ebp - 0x1674]
push eax
mov ecx, dword [ebp - 0x1678]
push ecx
mov edx, dword [ebp - 0xe58]
push edx
mov eax, dword [ebp - 0xe64]
push eax
mov ecx, dword [ebp - 0xe68]
push ecx
lea ecx, [ebp - 0x169c]
call fcn.00415510
mov edx, dword [ebp - 0x16d0]
add edx, 0x270
mov ecx, dword [eax]
mov dword [edx], ecx
mov ecx, dword [eax + 4]
mov dword [edx + 4], ecx
mov eax, dword [eax + 8]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0xe60]
push ecx
mov edx, dword [ebp - 0x1674]
push edx
mov eax, dword [ebp - 0x1678]
push eax
mov ecx, dword [ebp - 0xe58]
push ecx
mov edx, dword [ebp - 0xe64]
push edx
mov eax, dword [ebp - 0xe68]
push eax
lea ecx, [ebp - 0x16a8]
call fcn.00415510
mov ecx, dword [ebp - 0x16d0]
add ecx, 0x27c
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
mov ecx, dword [ebp - 0x16d0]
mov edx, dword [ecx + 0x2d0]
push edx
mov ecx, dword [ebp - 0x16d0]
add ecx, 0x288
call fcn.00411af0
mov ecx, dword [ebp - 0x16d0]
mov edx, dword [eax + 0x50c]
mov dword [ecx + 0x2dc], edx
xor eax, eax
mov word [ebp - 0xe54], ax
push 0x208
push 0
lea ecx, [ebp - 0xe52]
push ecx
call fcn.005281f0
add esp, 0xc
push 0x105
lea edx, [ebp - 0xe54]
push edx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push 0x5c
lea eax, [ebp - 0xe54]
push eax
call fcn.004111d0
add esp, 8
xor ecx, ecx
mov word [eax], cx
xor edx, edx
mov word [ebp - 0x166c], dx
push 0x7fe
push 0
lea eax, [ebp - 0x166a]
push eax
call fcn.005281f0
add esp, 0xc
push 0x573dd0
lea ecx, [ebp - 0xe54]
push ecx
lea ecx, [ebp - 0x16ac]
call fcn.00415da0
mov dword [ebp - 0x16f0], eax
mov edx, dword [ebp - 0x16f0]
mov dword [ebp - 0x16f4], edx
mov dword [ebp - 4], 3
mov eax, dword [ebp - 0x16f4]
push eax
lea ecx, [ebp - 0x16b0]
push ecx
call fcn.00411930
add esp, 0xc
mov dword [ebp - 0x16f8], eax
mov edx, dword [ebp - 0x16f8]
mov dword [ebp - 0x16fc], edx
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x16fc]
call fcn.00415f60
push eax
push 0x400
lea eax, [ebp - 0x166c]
push eax
push 0x573dec
mov ecx, dword [ebp - 0x16d0]
mov edx, dword [ecx + 0x2d0]
push edx
mov ecx, dword [ebp - 0x16d0]
add ecx, 0x288
call fcn.00411af0
push eax
push 0x573df0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x16b0]
call fcn.00415e20
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x16ac]
call fcn.00415e20
lea eax, [ebp - 0x166c]
push eax
call fcn.00527fe6
add esp, 4
push 0
push 0x3e8
push edx
push eax
call fcn.00528140
mov dword [ebp - 0xe5c], eax
mov eax, dword [ebp - 0xe5c]
xor edx, edx
mov ecx, 0xe10
div ecx
mov eax, edx
xor edx, edx
mov ecx, 0x3c
div ecx
push eax
mov eax, dword [ebp - 0xe5c]
xor edx, edx
mov ecx, 0x15180
div ecx
mov eax, edx
xor edx, edx
mov ecx, 0xe10
div ecx
push eax
mov eax, dword [ebp - 0xe5c]
xor edx, edx
mov ecx, 0x15180
div ecx
push eax
push 0x573e04
mov edx, dword [ebp - 0x16d0]
add edx, 0x2e0
push edx
call fcn.004171c0
add esp, 0x14
mov eax, dword [ebp - 0x16d0]
mov ecx, dword [eax + 0x2d0]
push ecx
mov ecx, dword [ebp - 0x16d0]
add ecx, 0x288
call fcn.00411af0
mov edx, dword [ebp - 0x16d0]
mov eax, dword [eax + 0x518]
mov dword [edx + 0x2e4], eax
mov ecx, dword [ebp - 0x16d0]
mov edx, dword [ecx + 0x2d0]
push edx
mov ecx, dword [ebp - 0x16d0]
add ecx, 0x288
call fcn.00411af0
mov eax, dword [eax + 0x51c]
push eax
push 0x573e20
mov ecx, dword [ebp - 0x16d0]
add ecx, 0x2e8
push ecx
call fcn.004171c0
add esp, 0xc
mov edx, dword [ebp - 0x16d0]
mov eax, dword [edx + 0x2d0]
push eax
mov ecx, dword [ebp - 0x16d0]
add ecx, 0x288
call fcn.00411af0
mov ecx, dword [eax + 0x520]
push ecx
push 0x573e28
mov edx, dword [ebp - 0x16d0]
add edx, 0x2ec
push edx
call fcn.004171c0
add esp, 0xc
jmp 0x40e2b2
mov eax, dword [ebp - 0x16d0]
mov dword [eax + 0x210], 1
mov ecx, dword [ebp - 0x16d0]
mov dword [ecx + 0x214], 1
push 0x573e30
mov ecx, dword [ebp - 0x16d0]
add ecx, 0x218
call fcn.00415e60
push 0x573e34
mov ecx, dword [ebp - 0x16d0]
add ecx, 0x21c
call fcn.00415e60
mov edx, dword [ebp - 0x16d0]
mov dword [edx + 0x220], 1
mov eax, dword [ebp - 0x16d0]
mov dword [eax + 0x224], 1
push 0x573e38
mov ecx, dword [ebp - 0x16d0]
add ecx, 0x228
call fcn.00415e60
mov ecx, dword [ebp - 0x16d0]
mov dword [ecx + 0x22c], 1
mov edx, dword [ebp - 0x16d0]
mov dword [edx + 0x230], 1
push 0x573e3c
mov ecx, dword [ebp - 0x16d0]
add ecx, 0x234
call fcn.00415e60
mov eax, dword [ebp - 0x16d0]
mov dword [eax + 0x238], 1
mov ecx, dword [ebp - 0x16d0]
mov dword [ecx + 0x23c], 0xffffffff
mov edx, dword [ebp - 0x16d0]
mov dword [edx + 0x240], 0xffffffff
mov eax, dword [ebp - 0x16d0]
mov dword [eax + 0x244], 0xffffffff
mov ecx, dword [ebp - 0x16d0]
mov dword [ecx + 0x248], 0
mov edx, dword [ebp - 0x16d0]
mov dword [edx + 0x24c], 0
mov eax, dword [ebp - 0x16d0]
mov dword [eax + 0x250], 0
mov ecx, dword [ebp - 0x16d0]
mov dword [ecx + 0x254], 0
mov edx, dword [ebp - 0x16d0]
mov dword [edx + 0x258], 0
mov eax, dword [ebp - 0x16d0]
mov dword [eax + 0x25c], 1
mov ecx, dword [ebp - 0x16d0]
mov dword [ecx + 0x260], 0
mov edx, dword [ebp - 0x16d0]
mov dword [edx + 0x264], 0
mov eax, dword [ebp - 0x16d0]
mov dword [eax + 0x268], 0
mov ecx, dword [ebp - 0x16d0]
mov dword [ecx + 0x26c], 0xffffffff
mov edx, dword [ebp - 0x16d0]
mov dword [edx + 0x2d8], 0xffffffff
lea eax, [ebp - 0x16bc]
push eax
call fcn.004154a0
mov ecx, dword [ebp - 0x16d0]
add ecx, 0x270
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
lea ecx, [ebp - 0x16c8]
push ecx
call fcn.004154a0
mov edx, dword [ebp - 0x16d0]
add edx, 0x27c
mov ecx, dword [eax]
mov dword [edx], ecx
mov ecx, dword [eax + 4]
mov dword [edx + 4], ecx
mov eax, dword [eax + 8]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0x16d0]
mov dword [ecx + 0x2d4], 0xfe
mov edx, dword [ebp - 0x16d0]
mov dword [edx + 0x2dc], 0
push 0x573e40
mov ecx, dword [ebp - 0x16d0]
add ecx, 0x2e0
call fcn.00415e60
mov eax, dword [ebp - 0x16d0]
mov dword [eax + 0x2e4], 0
push 0x573e44
mov ecx, dword [ebp - 0x16d0]
add ecx, 0x2e8
call fcn.00415e60
push 0x573e48
mov ecx, dword [ebp - 0x16d0]
add ecx, 0x2ec
call fcn.00415e60
mov ecx, dword [ebp - 0x16d0]
mov edx, dword [ecx + 0x2d0]
mov dword [ebp - 0x167c], edx
mov eax, 1
test eax, eax
je 0x40e1b4
mov ecx, dword [ebp - 0x167c]
add ecx, 1
push ecx
push 0x573e4c
mov edx, dword [ebp - 0x16d0]
add edx, 0x234
push edx
call fcn.004171c0
add esp, 0xc
mov eax, dword [ebp - 0x167c]
add eax, 1
cmp eax, 0x3e8
jl 0x40e10c
mov ecx, dword [ebp - 0x167c]
add ecx, 1
push ecx
push 0x573e60
mov edx, dword [ebp - 0x16d0]
add edx, 0x234
push edx
call fcn.004171c0
add esp, 0xc
mov dword [ebp - 0x1680], 0
mov dword [ebp - 0x1680], 0
jmp 0x40e131
mov eax, dword [ebp - 0x1680]
add eax, 1
mov dword [ebp - 0x1680], eax
mov ecx, dword [ebp - 0x16d0]
add ecx, 0x288
call fcn.00411ad0
cmp dword [ebp - 0x1680], eax
jge 0x40e185
mov ecx, dword [ebp - 0x1680]
push ecx
mov ecx, dword [ebp - 0x16d0]
add ecx, 0x288
call fcn.00411af0
push eax
mov ecx, dword [ebp - 0x16d0]
add ecx, 0x234
call fcn.00415f60
push eax
call fcn.00527f0e
add esp, 8
test eax, eax
jne 0x40e183
jmp 0x40e185
jmp 0x40e122
mov ecx, dword [ebp - 0x16d0]
add ecx, 0x288
call fcn.00411ad0
cmp dword [ebp - 0x1680], eax
jne 0x40e1a0
jmp 0x40e1b4
mov edx, dword [ebp - 0x167c]
add edx, 1
mov dword [ebp - 0x167c], edx
jmp 0x40e0a7
mov ecx, 0x5c7ab0
call fcn.004111f0
cmp eax, 2
je 0x40e1ed
mov ecx, 0x5c7ab0
call fcn.004111f0
cmp eax, 3
je 0x40e1ed
mov ecx, 0x5c7ab0
call fcn.004111f0
cmp eax, 4
je 0x40e1ed
mov dword [ebp - 0x1700], 0
jmp 0x40e1f7
mov dword [ebp - 0x1700], 1
mov eax, dword [ebp - 0x16d0]
mov ecx, dword [ebp - 0x1700]
mov dword [eax + 0x258], ecx
mov ecx, 0x5c7ab0
call fcn.004111f0
test eax, eax
je 0x40e241
mov ecx, 0x5c7ab0
call fcn.004111f0
cmp eax, 3
je 0x40e241
mov ecx, 0x5c7ab0
call fcn.004111f0
cmp eax, 5
je 0x40e241
mov dword [ebp - 0x1704], 0
jmp 0x40e24b
mov dword [ebp - 0x1704], 1
mov edx, dword [ebp - 0x16d0]
mov eax, dword [ebp - 0x1704]
mov dword [edx + 0x250], eax
mov ecx, 0x5c7ab0
call fcn.004111f0
cmp eax, 1
je 0x40e296
mov ecx, 0x5c7ab0
call fcn.004111f0
cmp eax, 4
je 0x40e296
mov ecx, 0x5c7ab0
call fcn.004111f0
cmp eax, 5
je 0x40e296
mov dword [ebp - 0x1708], 0
jmp 0x40e2a0
mov dword [ebp - 0x1708], 1
mov ecx, dword [ebp - 0x16d0]
mov edx, dword [ebp - 0x1708]
mov dword [ecx + 0x254], edx
mov dword [ebp - 0x438], 0
mov dword [ebp - 0x438], 0
jmp 0x40e2d7
mov eax, dword [ebp - 0x438]
add eax, 1
mov dword [ebp - 0x438], eax
mov ecx, dword [ebp - 0x16d0]
add ecx, 0x2a0
call fcn.00411e10
cmp dword [ebp - 0x438], eax
jge 0x40e31c
mov ecx, dword [ebp - 0x438]
push ecx
mov ecx, dword [ebp - 0x16d0]
add ecx, 0x2a0
call fcn.00411e30
push eax
mov ecx, dword [ebp - 0x16d0]
add ecx, 0x1bc
call fcn.00415440
jmp 0x40e2c8
mov dword [ebp - 0x438], 0
jmp 0x40e337
mov edx, dword [ebp - 0x438]
add edx, 1
mov dword [ebp - 0x438], edx
mov ecx, dword [ebp - 0x16d0]
add ecx, 0x2b8
call fcn.004120d0
cmp dword [ebp - 0x438], eax
jge 0x40e37c
mov eax, dword [ebp - 0x438]
push eax
mov ecx, dword [ebp - 0x16d0]
add ecx, 0x2b8
call fcn.004120f0
push eax
mov ecx, dword [ebp - 0x16d0]
add ecx, 0x168
call fcn.00415440
jmp 0x40e328
mov dword [ebp - 0x438], 0
jmp 0x40e397
mov ecx, dword [ebp - 0x438]
add ecx, 1
mov dword [ebp - 0x438], ecx
mov ecx, dword [ebp - 0x16d0]
add ecx, 0x288
call fcn.00411ad0
cmp dword [ebp - 0x438], eax
jge 0x40e4c0
mov edx, dword [ebp - 0x438]
push edx
mov ecx, dword [ebp - 0x16d0]
add ecx, 0x288
call fcn.00411af0
cmp dword [eax + 0x4dc], 0
je 0x40e4bb
mov eax, dword [ebp - 0x438]
push eax
mov ecx, dword [ebp - 0x16d0]
add ecx, 0x288
call fcn.00411af0
push eax
mov ecx, dword [ebp - 0x16d0]
add ecx, 0x234
call fcn.00411610
test eax, eax
je 0x40e4bb
mov ecx, dword [ebp - 0x438]
push ecx
mov ecx, dword [ebp - 0x16d0]
add ecx, 0x288
call fcn.00411af0
push eax
mov ecx, dword [ebp - 0x16d0]
add ecx, 0x114
call fcn.00415440
mov dword [ebp - 0x1684], eax
mov ecx, dword [ebp - 0x16d0]
add ecx, 0x288
call fcn.00411ad0
mov edx, dword [ebp - 0x16d0]
cmp dword [edx + 0x2d0], eax
jge 0x40e4bb
mov eax, dword [ebp - 0x438]
push eax
mov ecx, dword [ebp - 0x16d0]
add ecx, 0x288
call fcn.00411af0
push eax
mov ecx, dword [ebp - 0x16d0]
mov edx, dword [ecx + 0x2d0]
push edx
mov ecx, dword [ebp - 0x16d0]
add ecx, 0x288
call fcn.00411af0
add eax, 0x2d8
push eax
call fcn.00527f0e
add esp, 8
test eax, eax
jne 0x40e4bb
mov eax, dword [ebp - 0x1684]
push eax
mov ecx, dword [ebp - 0x16d0]
add ecx, 0x114
call fcn.00415410
jmp 0x40e388
push 0
mov ecx, dword [ebp - 0x16d0]
call fcn.004e27ff
push 1
push 0x48a
mov ecx, dword [ebp - 0x16d0]
call fcn.004e7012
mov ecx, eax
call fcn.004e7337
mov ecx, dword [ebp - 0x16d0]
call fcn.0040fe80
mov ecx, dword [ebp - 0x16d0]
call fcn.0040fec0
mov ecx, dword [ebp - 0x16d0]
call fcn.00410370
mov ecx, dword [ebp - 0x16d0]
call fcn.004103b0
mov ecx, dword [ebp - 0x16d0]
call fcn.00410f00
mov ecx, dword [ebp - 0x16d0]
call fcn.00410fd0
mov ecx, dword [ebp - 0x16d0]
call fcn.00411010
mov ecx, dword [ebp - 0x16d0]
call fcn.004103f0
mov ecx, dword [ebp - 0x16d0]
call fcn.00410710
mov ecx, dword [ebp - 0x16d0]
call fcn.00410630
mov ecx, dword [ebp - 0x16d0]
call fcn.00410430
xor ecx, ecx
mov word [ebp - 0x224], cx
push 0x208
push 0
lea edx, [ebp - 0x222]
push edx
call fcn.005281f0
add esp, 0xc
push 0x105
lea eax, [ebp - 0x224]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push 0x5c
lea ecx, [ebp - 0x224]
push ecx
call fcn.004111d0
add esp, 8
xor edx, edx
mov word [eax], dx
xor eax, eax
mov word [ebp - 0x434], ax
push 0x208
push 0
lea ecx, [ebp - 0x432]
push ecx
call fcn.005281f0
add esp, 0xc
lea edx, [ebp - 0x224]
push edx
push 0x573e70
lea eax, [ebp - 0x434]
push eax
call fcn.00527b98
add esp, 0xc
xor ecx, ecx
mov word [ebp - 0xc44], cx
push 0x800
push 0
lea edx, [ebp - 0xc42]
push edx
call fcn.005281f0
add esp, 0xc
lea eax, [ebp - 0x434]
push eax
push 0x400
lea ecx, [ebp - 0xc44]
push ecx
push 0x573e90
push 0x573e94
push 0x573ea8
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00527aad
mov esp, ebp
pop ebp
ret