Function at 0x405c80
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
push esi
lea ebx, [edi + 0x10c]
call fcn.0040e310
lea ebx, [edi + 0x20c]
call fcn.0040e310
push 0
mov ecx, edi
call fcn.00414f69
push 0
push 0
push 0
push 0x4094c0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov eax, dword [edi + 0x20]
mov esi, dword [sym.imp.USER32.dll_KillTimer]
push 7
push eax
call esi
mov ecx, dword [edi + 0x20]
push 0x65
push ecx
call esi
mov edx, dword [edi + 0x20]
push 0x66
push edx
call esi
xor ebx, ebx
mov ecx, 0x590508
mov dword [edi + 0xa68], ebx
mov dword [edi + 0xabc], ebx
call fcn.0040a8f0
cmp dword [0x590508], ebx
jg 0x405d60
push str.CMainFrame::ControlNicChange
push str._s___The_nic_is_not_exist.___n
call fcn.00512df3
add esp, 8
mov ecx, 0x590508
call fcn.0040a8f0
cmp dword [0x590508], ebx
jg 0x405d60
push ebx
mov ecx, edi
call fcn.00414f69
push ebx
push ebx
push ebx
push 0x4094c0
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov eax, dword [edi + 0x20]
push 7
push eax
call esi
mov ecx, dword [edi + 0x20]
push 0x65
push ecx
call esi
mov edx, dword [edi + 0x20]
push 0x66
push edx
call esi
mov dword [edi + 0xa68], ebx
mov dword [edi + 0xabc], ebx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xor ebx, ebx
cmp dword [0x590508], ebx
jle 0x405dc3
mov dword [ebp - 8], 0x590514
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
test ecx, ecx
je 0x405e66
mov eax, dword [0x590564]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x405da9
test dx, dx
je 0x405da5
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x405da9
add eax, 4
add ecx, 4
test dx, dx
jne 0x405d83
xor eax, eax
jmp 0x405dae
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x406333
add dword [ebp - 8], 0x10
inc ebx
cmp ebx, dword [0x590508]
jl 0x405d71
xor ebx, ebx
push ebx
push ebx
push ebx
push 0x4094c0
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov ecx, dword [edi + 0x20]
push 7
push ecx
call esi
mov edx, dword [edi + 0x20]
push 0x65
push edx
call esi
mov eax, dword [edi + 0x20]
push 0x66
push eax
call esi
push ebx
mov ecx, edi
mov dword [edi + 0xa68], ebx
mov dword [edi + 0xabc], ebx
call fcn.00414f69
mov ecx, 0x590564
call fcn.004089d0
test al, al
je 0x4063d5
mov ecx, 0x590508
call fcn.0040a8f0
mov eax, dword [0x590508]
cmp eax, ebx
jle 0x4063d5
mov dword [ebp - 8], ebx
mov dword [ebp - 4], 0x590514
push ecx
mov ecx, dword [ebp - 4]
mov esi, dword [ecx]
mov ecx, dword [esi - 0x10]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0xc], esp
mov dword [ebp - 0xc], esp
call eax
cmp dword [esi - 4], 0
lea ecx, [esi - 4]
jl 0x405e70
cmp eax, dword [esi - 0x10]
jne 0x405e70
lea ebx, [esi - 0x10]
mov edx, 1
lock xadd dword [ecx], edx
jmp 0x405ea0
push 0x80004005
call fcn.00402b70
mov ecx, dword [esi - 0xc]
mov edx, dword [eax]
mov edx, dword [edx]
push 2
push ecx
mov ecx, eax
call edx
mov ebx, eax
test ebx, ebx
je 0x405ed1
mov eax, dword [esi - 0xc]
mov dword [ebx + 4], eax
mov eax, dword [esi - 0xc]
lea eax, [eax + eax + 2]
push eax
push esi
push eax
lea ecx, [ebx + 0x10]
push ecx
call fcn.00511fa2
add esp, 0x10
mov edx, dword [ebp - 0xc]
add ebx, 0x10
mov dword [edx], ebx
call fcn.0040afe0
add esp, 4
test eax, eax
je 0x405ed6
mov eax, dword [ebp - 8]
add dword [ebp - 4], 0x10
inc eax
mov dword [ebp - 8], eax
cmp eax, dword [0x590508]
jl 0x405e34
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.00402a80
mov ebx, dword [ebp - 8]
mov esi, dword [0x590564]
mov dword [0x58f9cc], ebx
shl ebx, 4
mov ecx, dword [ebx + 0x590514]
lea eax, [ecx - 0x10]
add esi, 0xfffffff0
mov dword [ebp - 4], ebx
cmp eax, esi
je 0x405f49
cmp dword [esi + 0xc], 0
jl 0x405f3a
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x405f3a
push eax
call fcn.00402510
mov dword [ebp - 0xc], eax
add esp, 4
lea eax, [esi + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x405f2c
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
mov ecx, dword [ebp - 0xc]
add ecx, 0x10
mov dword [0x590564], ecx
jmp 0x405f49
mov edx, dword [ecx - 0xc]
push edx
push ecx
mov ecx, 0x590564
call fcn.00402bc0
mov eax, dword [ebx + 0x59050c]
mov esi, dword [0x59055c]
lea ecx, [eax - 0x10]
add esi, 0xfffffff0
cmp ecx, esi
je 0x405fad
cmp dword [esi + 0xc], 0
jl 0x405f9e
mov edx, dword [ecx]
cmp edx, dword [esi]
jne 0x405f9e
push ecx
call fcn.00402510
mov dword [ebp - 0xc], eax
add esp, 4
lea eax, [esi + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x405f90
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
mov ecx, dword [ebp - 0xc]
add ecx, 0x10
mov dword [0x59055c], ecx
jmp 0x405fad
mov edx, dword [eax - 0xc]
push edx
push eax
mov ecx, 0x59055c
call fcn.00402bc0
mov eax, dword [ebx + 0x590510]
mov esi, dword [0x590560]
lea ecx, [eax - 0x10]
add esi, 0xfffffff0
cmp ecx, esi
je 0x406011
cmp dword [esi + 0xc], 0
jl 0x406002
mov edx, dword [ecx]
cmp edx, dword [esi]
jne 0x406002
push ecx
call fcn.00402510
mov dword [ebp - 0xc], eax
add esp, 4
lea eax, [esi + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x405ff4
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
mov ecx, dword [ebp - 0xc]
add ecx, 0x10
mov dword [0x590560], ecx
jmp 0x406011
mov edx, dword [eax - 0xc]
push edx
push eax
mov ecx, 0x590560
call fcn.00402bc0
mov eax, dword [ebx + 0x590518]
mov esi, dword [0x590568]
lea ecx, [eax - 0x10]
add esi, 0xfffffff0
cmp ecx, esi
je 0x406075
cmp dword [esi + 0xc], 0
jl 0x406066
mov edx, dword [ecx]
cmp edx, dword [esi]
jne 0x406066
push ecx
call fcn.00402510
mov dword [ebp - 0xc], eax
add esp, 4
lea eax, [esi + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x406058
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
mov ecx, dword [ebp - 0xc]
add ecx, 0x10
mov dword [0x590568], ecx
jmp 0x406075
mov edx, dword [eax - 0xc]
push edx
push eax
mov ecx, 0x590568
call fcn.00402bc0
mov eax, dword [ebx + 0x590514]
mov esi, dword [0x5900e4]
lea ecx, [eax - 0x10]
add esi, 0xfffffff0
cmp ecx, esi
je 0x4060d9
cmp dword [esi + 0xc], 0
jl 0x4060ca
mov edx, dword [ecx]
cmp edx, dword [esi]
jne 0x4060ca
push ecx
call fcn.00402510
mov dword [ebp - 0xc], eax
add esp, 4
lea eax, [esi + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4060bc
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
mov ecx, dword [ebp - 0xc]
add ecx, 0x10
mov dword [0x5900e4], ecx
jmp 0x4060d9
mov edx, dword [eax - 0xc]
push edx
push eax
mov ecx, 0x5900e4
call fcn.00402bc0
mov eax, dword [ebp - 8]
cmp eax, dword [0x590508]
jge 0x4063d5
mov esi, dword [0x590564]
mov dword [0x58f9cc], eax
mov eax, dword [ebx + 0x590514]
lea ecx, [eax - 0x10]
add esi, 0xfffffff0
cmp ecx, esi
je 0x406154
cmp dword [esi + 0xc], 0
lea ebx, [esi + 0xc]
jl 0x406142
mov edx, dword [ecx]
cmp edx, dword [esi]
jne 0x406142
push ecx
call fcn.00402510
mov dword [ebp - 0xc], eax
add esp, 4
or eax, 0xffffffff
lock xadd dword [ebx], eax
dec eax
test eax, eax
jg 0x406134
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
mov ecx, dword [ebp - 0xc]
add ecx, 0x10
mov dword [0x590564], ecx
jmp 0x406151
mov edx, dword [eax - 0xc]
push edx
push eax
mov ecx, 0x590564
call fcn.00402bc0
mov ebx, dword [ebp - 4]
mov eax, dword [ebx + 0x59050c]
mov esi, dword [0x59055c]
lea ecx, [eax - 0x10]
add esi, 0xfffffff0
cmp ecx, esi
je 0x4061bb
cmp dword [esi + 0xc], 0
lea ebx, [esi + 0xc]
jl 0x4061a9
mov edx, dword [ecx]
cmp edx, dword [esi]
jne 0x4061a9
push ecx
call fcn.00402510
mov dword [ebp - 0xc], eax
add esp, 4
or eax, 0xffffffff
lock xadd dword [ebx], eax
dec eax
test eax, eax
jg 0x40619b
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
mov ecx, dword [ebp - 0xc]
add ecx, 0x10
mov dword [0x59055c], ecx
jmp 0x4061b8
mov edx, dword [eax - 0xc]
push edx
push eax
mov ecx, 0x59055c
call fcn.00402bc0
mov ebx, dword [ebp - 4]
mov eax, dword [ebx + 0x590510]
mov esi, dword [0x590560]
lea ecx, [eax - 0x10]
add esi, 0xfffffff0
cmp ecx, esi
je 0x406222
cmp dword [esi + 0xc], 0
lea ebx, [esi + 0xc]
jl 0x406210
mov edx, dword [ecx]
cmp edx, dword [esi]
jne 0x406210
push ecx
call fcn.00402510
mov dword [ebp - 0xc], eax
add esp, 4
or eax, 0xffffffff
lock xadd dword [ebx], eax
dec eax
test eax, eax
jg 0x406202
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
mov ecx, dword [ebp - 0xc]
add ecx, 0x10
mov dword [0x590560], ecx
jmp 0x40621f
mov edx, dword [eax - 0xc]
push edx
push eax
mov ecx, 0x590560
call fcn.00402bc0
mov ebx, dword [ebp - 4]
mov ecx, dword [ebx + 0x590518]
mov esi, dword [0x590568]
lea eax, [ecx - 0x10]
add esi, 0xfffffff0
cmp eax, esi
je 0x406289
cmp dword [esi + 0xc], 0
lea ebx, [esi + 0xc]
jl 0x406277
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x406277
push eax
call fcn.00402510
mov dword [ebp - 0xc], eax
add esp, 4
or eax, 0xffffffff
lock xadd dword [ebx], eax
dec eax
test eax, eax
jg 0x406269
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
mov ecx, dword [ebp - 0xc]
add ecx, 0x10
mov dword [0x590568], ecx
jmp 0x406286
mov edx, dword [ecx - 0xc]
push edx
push ecx
mov ecx, 0x590568
call fcn.00402bc0
mov ebx, dword [ebp - 4]
mov ecx, dword [ebx + 0x590514]
mov esi, dword [0x5900e4]
lea eax, [ecx - 0x10]
add esi, 0xfffffff0
cmp eax, esi
je 0x4062ed
cmp dword [esi + 0xc], 0
lea ebx, [esi + 0xc]
jl 0x4062de
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x4062de
push eax
call fcn.00402510
mov dword [ebp - 0xc], eax
add esp, 4
or eax, 0xffffffff
lock xadd dword [ebx], eax
dec eax
test eax, eax
jg 0x4062d0
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
mov ecx, dword [ebp - 0xc]
add ecx, 0x10
mov dword [0x5900e4], ecx
jmp 0x4062ed
mov edx, dword [ecx - 0xc]
push edx
push ecx
mov ecx, 0x5900e4
call fcn.00402bc0
call fcn.0040b200
mov esi, dword [sym.imp.KERNEL32.dll_CreateThread]
push 0
push 0
push edi
push 0x40c930
push 0
push 0
mov dword [0x590148], 0
call esi
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0
push 0
push edi
push 0x4094c0
push 0
push 0
call esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, dword [sym.imp.KERNEL32.dll_CreateThread]
push 0
push 0
push 0
push 0x4094c0
push 0
push 0
call ebx
mov eax, dword [edi + 0x20]
push 7
push eax
call esi
mov ecx, dword [edi + 0x20]
push 0x65
push ecx
call esi
mov edx, dword [edi + 0x20]
push 0x66
push edx
call esi
xor eax, eax
push eax
mov ecx, edi
mov dword [edi + 0xa68], eax
mov dword [edi + 0xabc], eax
call fcn.00414f69
call fcn.0040b200
push 0
push 0
push edi
push 0x40c930
push 0
push 0
mov dword [0x590148], 0
call ebx
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0
push 0
push 0
push 0x4094c0
push 0
push 0
call ebx
mov eax, dword [edi + 0x20]
push 7
push eax
call esi
mov ecx, dword [edi + 0x20]
push 0x65
push ecx
call esi
mov edx, dword [edi + 0x20]
push 0x66
push edx
call esi
mov dword [edi + 0xa68], 0
pop esi
pop ebx
mov esp, ebp
pop ebp
ret