Function at 0x404080
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x42f534
mov eax, dword fs:[0]
push eax
sub esp, 0x13c
mov eax, dword [0x441060]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, dword [ebp + 8]
mov dword [ebp - 0x90], esi
mov dword [ebp - 0x8c], esi
mov dword [ebp - 0x80], 0
push 1
push 0x40
push 1
push str.config.ini
lea ecx, [ebp - 0x148]
mov dword [ebp - 4], 2
call fcn.00402010
cmp dword [ebp - 0xec], 0
mov byte [ebp - 4], 3
je 0x404ab1
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0xf
mov byte [ebp - 0x70], 0
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0xf
mov byte [ebp - 0x58], 0
mov dword [esi], 0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [ebp - 4], 6
mov byte [esi], 0
xor eax, eax
mov dword [ebp - 0x80], 1
mov dword [ebp - 0x84], eax
push 0xa
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x148]
push eax
call fcn.00401b30
mov ecx, eax
add esp, 0xc
mov eax, dword [ecx]
mov eax, dword [eax + 4]
test byte [eax + ecx + 0xc], 6
jne 0x404b03
mov esi, 1
mov dword [ebp - 0x28], 0
cmp dword [ebp - 0x30], esi
lea eax, [ebp - 0x40]
mov ecx, 0x16
mov dword [ebp - 0x14], 0xf
cmovb esi, dword [ebp - 0x30]
cmp dword [ebp - 0x2c], 0x10
mov dword [ebp - 0x78], esi
cmovae eax, dword [ebp - 0x40]
mov dword [ebp - 0x7c], eax
cmp esi, 0xf
ja 0x4041e3
push esi
push eax
lea eax, [ebp - 0x28]
mov dword [ebp - 0x18], esi
push eax
call fcn.004101c0
mov byte [ebp + esi - 0x28], 0
mov esi, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x28]
jmp 0x40426b
cmp esi, 0x7fffffff
ja 0x404aac
or esi, 0xf
cmp esi, 0x7fffffff
jbe 0x404204
mov esi, closesocket
lea ecx, [esi + 0x24]
jmp 0x40421f
cmp esi, 0x16
cmovb esi, ecx
lea eax, [esi + 1]
cmp eax, 0x1000
jb 0x40423b
lea ecx, [eax + 0x23]
cmp ecx, eax
jbe 0x404b68
push ecx
call fcn.0040ec59
add esp, 4
test eax, eax
je 0x404b63
lea edi, [eax + 0x23]
and edi, 0xffffffe0
mov dword [edi - 4], eax
jmp 0x40424e
test eax, eax
je 0x40424c
push eax
call fcn.0040ec59
add esp, 4
mov edi, eax
jmp 0x40424e
xor edi, edi
mov eax, dword [ebp - 0x78]
push eax
push dword [ebp - 0x7c]
mov dword [ebp - 0x18], eax
push edi
mov dword [ebp - 0x14], esi
call fcn.004101c0
mov ecx, dword [ebp - 0x78]
mov dword [ebp - 0x28], edi
mov byte [edi + ecx], 0
or dword [ebp - 0x80], 2
lea eax, [ebp - 0x28]
add esp, 0xc
cmp esi, 0x10
cmovae eax, edi
push 1
push 0x431470
push ecx
push eax
call fcn.00401920
add esp, 0x10
mov byte [ebp - 0x71], al
cmp esi, 0x10
jb 0x4042c0
inc esi
mov eax, edi
cmp esi, 0x1000
jb 0x4042b3
mov edi, dword [edi - 4]
add esi, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404b63
push esi
push edi
call fcn.0040ec89
mov al, byte [ebp - 0x71]
add esp, 8
test al, al
jne 0x404166
mov edi, dword [ebp - 0x84]
test edi, edi
jne 0x40461c
cmp dword [ebp + 0x20], 0x10
lea ecx, [ebp + 0xc]
push dword [ebp + 0x1c]
cmovae ecx, dword [ebp + 0xc]
lea eax, [ebp - 0x40]
cmp dword [ebp - 0x2c], 0x10
mov esi, dword [ebp - 0x30]
cmovae eax, dword [ebp - 0x40]
push ecx
push edi
push esi
push eax
call fcn.00401990
add esp, 0x14
cmp eax, 0xffffffff
je 0x40461f
mov dword [ebp - 0x28], edi
lea eax, [ebp - 0x40]
mov edi, 1
mov dword [ebp - 0x14], 0xf
cmp esi, edi
cmovb edi, esi
cmp dword [ebp - 0x2c], 0x10
cmovae eax, dword [ebp - 0x40]
mov dword [ebp - 0x7c], eax
cmp edi, 0xf
ja 0x40434f
push edi
push eax
lea eax, [ebp - 0x28]
mov dword [ebp - 0x18], edi
push eax
call fcn.004101c0
mov byte [ebp + edi - 0x28], 0
mov ecx, dword [ebp - 0x28]
mov esi, dword [ebp - 0x14]
mov edi, dword [ebp - 0x18]
mov dword [ebp - 0x78], ecx
jmp 0x4043a3
cmp edi, 0x7fffffff
ja 0x404aac
mov esi, edi
or esi, 0xf
cmp esi, 0x7fffffff
jbe 0x40436f
mov esi, closesocket
jmp 0x40437a
cmp esi, 0x16
mov eax, 0x16
cmovb esi, eax
lea eax, [esi + 1]
push eax
lea ecx, [ebp - 0x28]
call fcn.00403a20
push edi
push dword [ebp - 0x7c]
mov dword [ebp - 0x78], eax
push eax
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x14], esi
call fcn.004101c0
mov ecx, dword [ebp - 0x78]
mov dword [ebp - 0x28], ecx
mov byte [ecx + edi], 0
or dword [ebp - 0x80], 4
lea eax, [ebp - 0x28]
add esp, 0xc
cmp esi, 0x10
cmovae eax, ecx
push 1
push 0x431474
push edi
push eax
call fcn.00401920
add esp, 0x10
mov byte [ebp - 0x71], al
cmp esi, 0x10
jb 0x4043fb
mov ecx, dword [ebp - 0x78]
inc esi
mov eax, ecx
cmp esi, 0x1000
jb 0x4043ee
mov ecx, dword [ecx - 4]
add esi, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404b63
push esi
push ecx
call fcn.0040ec89
mov al, byte [ebp - 0x71]
add esp, 8
test al, al
je 0x404616
cmp dword [ebp - 0x2c], 0x10
lea esi, [ebp - 0x40]
mov edi, dword [ebp - 0x30]
cmovae esi, dword [ebp - 0x40]
cmp edi, 1
jb 0x404b03
push edi
push 0x5d
push esi
call fcn.00410110
mov ecx, eax
add esp, 0xc
test ecx, ecx
je 0x404b03
movzx eax, byte [ecx]
cmp al, 0x5d
jne 0x40443b
xor eax, eax
jmp 0x404440
sbb eax, eax
or eax, 1
test eax, eax
je 0x404462
inc ecx
lea eax, [esi + edi]
sub eax, ecx
push eax
push 0x5d
push ecx
call fcn.00410110
mov ecx, eax
add esp, 0xc
test ecx, ecx
je 0x404b03
jmp 0x404430
sub ecx, esi
cmp ecx, 0xffffffff
je 0x404b03
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x14], 0xf
cmp edi, 1
jb 0x404b6d
lea eax, [edi - 1]
or esi, 0xffffffff
cmp eax, 0xffffffff
cmovb esi, eax
cmp dword [ebp - 0x2c], 0x10
lea eax, [ebp - 0x40]
cmovae eax, dword [ebp - 0x40]
inc eax
mov dword [ebp - 0x7c], eax
cmp esi, 0xf
ja 0x4044c5
push esi
push eax
lea eax, [ebp - 0x28]
mov dword [ebp - 0x18], esi
push eax
call fcn.004101c0
mov byte [ebp + esi - 0x28], 0
mov eax, dword [ebp - 0x28]
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x18]
mov dword [ebp - 0x78], eax
jmp 0x404519
cmp esi, 0x7fffffff
ja 0x404aac
mov edi, esi
or edi, 0xf
cmp edi, 0x7fffffff
jbe 0x4044e5
mov edi, closesocket
jmp 0x4044f0
cmp edi, 0x16
mov eax, 0x16
cmovb edi, eax
lea eax, [edi + 1]
push eax
lea ecx, [ebp - 0x28]
call fcn.00403a20
push esi
push dword [ebp - 0x7c]
mov dword [ebp - 0x78], eax
push eax
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x14], edi
call fcn.004101c0
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x28], eax
mov byte [eax + esi], 0
or dword [ebp - 0x80], 8
add esp, 0xc
mov edx, dword [ebp - 0x5c]
cmp edx, 0x10
jb 0x404554
mov ecx, dword [ebp - 0x70]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40454a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404b63
push edx
push ecx
call fcn.0040ec89
add esp, 8
movups xmm0, xmmword [ebp - 0x28]
cmp edi, 0x10
lea eax, [ebp - 0x70]
cmovae eax, dword [ebp - 0x78]
mov dword [ebp - 0x7c], eax
movups xmmword [ebp - 0x70], xmm0
movq xmm0, qword [ebp - 0x18]
movq qword [ebp - 0x60], xmm0
cmp esi, 1
jb 0x4045bb
push esi
push 0x5d
push eax
lea edi, [eax + esi]
call fcn.00410110
mov ecx, eax
add esp, 0xc
test ecx, ecx
je 0x4045bb
nop dword [eax]
movzx eax, byte [ecx]
cmp al, 0x5d
jne 0x40459b
xor eax, eax
jmp 0x4045a0
sbb eax, eax
or eax, 1
test eax, eax
je 0x404611
inc ecx
mov eax, edi
sub eax, ecx
push eax
push 0x5d
push ecx
call fcn.00410110
mov ecx, eax
add esp, 0xc
test ecx, ecx
jne 0x404590
or ecx, 0xffffffff
cmp esi, ecx
jb 0x404b6d
cmp dword [ebp - 0x5c], 0x10
lea eax, [ebp - 0x70]
mov dword [ebp - 0x60], ecx
cmovae eax, dword [ebp - 0x70]
mov byte [eax + ecx], 0
lea ecx, [ebp + 0xc]
cmp dword [ebp + 0x20], 0x10
lea eax, [ebp - 0x70]
push dword [ebp + 0x1c]
cmovae ecx, dword [ebp + 0xc]
cmp dword [ebp - 0x5c], 0x10
push ecx
cmovae eax, dword [ebp - 0x70]
push dword [ebp - 0x60]
push eax
call fcn.00401920
add esp, 0x10
test al, al
je 0x404616
mov dword [ebp - 0x84], 1
jmp 0x404166
sub ecx, dword [ebp - 0x7c]
jmp 0x4045be
mov edi, dword [ebp - 0x84]
mov esi, dword [ebp - 0x30]
cmp edi, 1
jne 0x404166
cmp esi, edi
mov dword [ebp - 0x28], 0
lea eax, [ebp - 0x40]
mov dword [ebp - 0x14], 0xf
cmovb edi, esi
cmp dword [ebp - 0x2c], 0x10
cmovae eax, dword [ebp - 0x40]
mov dword [ebp - 0x7c], eax
cmp edi, 0xf
ja 0x40466f
push edi
push eax
lea eax, [ebp - 0x28]
mov dword [ebp - 0x18], edi
push eax
call fcn.004101c0
mov byte [ebp + edi - 0x28], 0
mov ecx, dword [ebp - 0x28]
mov esi, dword [ebp - 0x14]
mov edi, dword [ebp - 0x18]
mov dword [ebp - 0x78], ecx
jmp 0x4046c3
cmp edi, 0x7fffffff
ja 0x404aac
mov esi, edi
or esi, 0xf
cmp esi, 0x7fffffff
jbe 0x40468f
mov esi, closesocket
jmp 0x40469a
cmp esi, 0x16
mov eax, 0x16
cmovb esi, eax
lea eax, [esi + 1]
push eax
lea ecx, [ebp - 0x28]
call fcn.00403a20
push edi
push dword [ebp - 0x7c]
mov dword [ebp - 0x78], eax
push eax
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x14], esi
call fcn.004101c0
mov ecx, dword [ebp - 0x78]
mov dword [ebp - 0x28], ecx
mov byte [ecx + edi], 0
or dword [ebp - 0x80], 0x10
lea eax, [ebp - 0x28]
add esp, 0xc
cmp esi, 0x10
cmovae eax, ecx
push 1
push 0x431474
push edi
push eax
call fcn.00401920
add esp, 0x10
mov byte [ebp - 0x71], al
cmp esi, 0x10
jb 0x40471b
mov ecx, dword [ebp - 0x78]
inc esi
mov eax, ecx
cmp esi, 0x1000
jb 0x40470e
mov ecx, dword [ecx - 4]
add esi, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404b63
push esi
push ecx
call fcn.0040ec89
mov al, byte [ebp - 0x71]
add esp, 8
test al, al
jne 0x404b03
cmp dword [ebp + 0x38], 0x10
lea ecx, [ebp + 0x24]
push dword [ebp + 0x34]
cmovae ecx, dword [ebp + 0x24]
lea eax, [ebp - 0x40]
cmp dword [ebp - 0x2c], 0x10
mov edi, dword [ebp - 0x30]
cmovae eax, dword [ebp - 0x40]
push ecx
push 0
push edi
push eax
call fcn.00401990
add esp, 0x14
cmp eax, 0xffffffff
je 0x404166
cmp dword [ebp - 0x2c], 0x10
lea esi, [ebp - 0x40]
cmovae esi, dword [ebp - 0x40]
cmp edi, 1
jb 0x404b03
push edi
push 0x3d
push esi
call fcn.00410110
mov ecx, eax
add esp, 0xc
test ecx, ecx
je 0x404b03
nop
movzx eax, byte [ecx]
cmp al, 0x3d
jne 0x40478b
xor eax, eax
jmp 0x404790
sbb eax, eax
or eax, 1
test eax, eax
je 0x4047b1
inc ecx
lea eax, [edi + esi]
sub eax, ecx
push eax
push 0x3d
push ecx
call fcn.00410110
mov ecx, eax
add esp, 0xc
test ecx, ecx
jne 0x404780
jmp 0x404b03
sub ecx, esi
cmp ecx, 0xffffffff
je 0x404b03
cmp dword [ebp - 0x2c], 0x10
lea eax, [ebp - 0x40]
mov ecx, dword [ebp - 0x44]
cmovae eax, dword [ebp - 0x40]
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x88], ecx
cmp edi, ecx
ja 0x4047fb
cmp ecx, 0x10
mov dword [ebp - 0x48], edi
push edi
lea esi, [ebp - 0x58]
cmovae esi, dword [ebp - 0x58]
push eax
push esi
call fcn.004101c0
mov byte [esi + edi], 0
add esp, 0xc
mov esi, dword [ebp - 0x58]
jmp 0x40489d
cmp edi, 0x7fffffff
ja 0x404aac
mov esi, edi
or esi, 0xf
cmp esi, 0x7fffffff
jbe 0x40481b
mov esi, closesocket
jmp 0x404839
mov edx, ecx
mov eax, closesocket
shr edx, 1
sub eax, edx
cmp ecx, eax
jbe 0x404831
mov esi, closesocket
jmp 0x404839
lea eax, [ecx + edx]
cmp esi, eax
cmovb esi, eax
lea eax, [esi + 1]
push eax
lea ecx, [ebp - 0x58]
call fcn.00403a20
push edi
push dword [ebp - 0x7c]
mov dword [ebp - 0x44], esi
mov esi, eax
push esi
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x48], edi
call fcn.004101c0
mov ecx, dword [ebp - 0x88]
add esp, 0xc
mov byte [esi + edi], 0
cmp ecx, 0x10
jb 0x40489a
lea edx, [ecx + 1]
mov ecx, dword [ebp - 0x58]
mov eax, ecx
cmp edx, 0x1000
jb 0x404890
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404b63
push edx
push ecx
call fcn.0040ec89
add esp, 8
mov dword [ebp - 0x58], esi
mov edx, dword [ebp - 0x44]
lea edi, [ebp - 0x58]
mov ecx, dword [ebp - 0x48]
cmp edx, 0x10
cmovae edi, esi
cmp ecx, 1
jb 0x404906
push ecx
lea eax, [ecx + edi]
push 0x3d
push edi
mov dword [ebp - 0x88], eax
call fcn.00410110
mov ecx, eax
add esp, 0xc
test ecx, ecx
je 0x404903
nop dword [eax]
movzx eax, byte [ecx]
cmp al, 0x3d
jne 0x4048db
xor eax, eax
jmp 0x4048e0
sbb eax, eax
or eax, 1
test eax, eax
je 0x404a4e
mov eax, dword [ebp - 0x88]
inc ecx
sub eax, ecx
push eax
push 0x3d
push ecx
call fcn.00410110
mov ecx, eax
add esp, 0xc
test ecx, ecx
jne 0x4048d0
mov edx, dword [ebp - 0x44]
or ecx, 0xffffffff
cmp dword [ebp - 0x48], ecx
jb 0x404b6d
cmp edx, 0x10
mov dword [ebp - 0x48], ecx
lea eax, [ebp - 0x58]
cmovae eax, esi
mov byte [eax + ecx], 0
lea ecx, [ebp + 0x24]
cmp dword [ebp + 0x38], 0x10
lea eax, [ebp - 0x58]
push dword [ebp + 0x34]
cmovae ecx, dword [ebp + 0x24]
cmp dword [ebp - 0x44], 0x10
push ecx
cmovae eax, dword [ebp - 0x58]
push dword [ebp - 0x48]
push eax
call fcn.00401920
add esp, 0x10
test al, al
je 0x404166
cmp dword [ebp - 0x2c], 0x10
lea eax, [ebp - 0x40]
push 1
cmovae eax, dword [ebp - 0x40]
push 0x431478
push 0
push dword [ebp - 0x30]
push eax
call fcn.00401990
add esp, 0x14
lea ecx, [ebp - 0x40]
inc eax
push 0xffffffffffffffff
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.00405480
mov esi, dword [ebp - 0x8c]
mov ecx, esi
push eax
call fcn.00402f30
lea ecx, [ebp - 0x28]
call fcn.00402c80
mov edx, dword [ebp - 0x44]
cmp edx, 0x10
jb 0x4049ca
mov ecx, dword [ebp - 0x58]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4049c0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404b63
push edx
push ecx
call fcn.0040ec89
add esp, 8
mov edx, dword [ebp - 0x5c]
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0xf
mov byte [ebp - 0x58], 0
cmp edx, 0x10
jb 0x404a10
mov ecx, dword [ebp - 0x70]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x404a06
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404b63
push edx
push ecx
call fcn.0040ec89
add esp, 8
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0xf
mov byte [ebp - 0x70], 0
cmp edx, 0x10
jb 0x404a62
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x404a58
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404b63
jmp 0x404a58
mov edx, dword [ebp - 0x44]
sub ecx, edi
jmp 0x404909
push edx
push ecx
call fcn.0040ec89
add esp, 8
lea ecx, [ebp - 0x148]
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
call fcn.00402fc0
lea ecx, [ebp + 0xc]
call fcn.00402c80
lea ecx, [ebp + 0x24]
call fcn.00402c80
mov eax, esi
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.0040ec9c
mov esp, ebp
pop ebp
ret
call fcn.00403a00
push fcn.00401a80
push str.config.ini
push str.Could_not_open
push 0x4423c8
call fcn.00401400
add esp, 8
push eax
call fcn.00401400
add esp, 8
mov ecx, eax
call fcn.00402fb0
mov eax, dword [ebp - 0x148]
lea ecx, [ebp - 0x148]
push 0
push 0
mov eax, dword [eax + 4]
add ecx, eax
call fcn.00403cd0
call fcn.00414872
push 0xffffffffffffffff
call fcn.004146c8
push fcn.00401a80
push 0x43147c
lea eax, [ebp + 0x24]
push eax
push 0x431480
lea eax, [ebp + 0xc]
push eax
push 0x43148c
push 0x442318
call fcn.00401400
add esp, 8
push eax
call fcn.004013d0
add esp, 8
push eax
call fcn.00401400
add esp, 8
push eax
call fcn.004013d0
add esp, 8
push eax
call fcn.00401400
add esp, 8
mov ecx, eax
call fcn.00402fb0
call fcn.00414872
push 0xffffffffffffffff
call fcn.004146c8
call fcn.00412eef
call fcn.004039d0
call fcn.00403a10
int3