Function at 0x576d00
Capabilities:
Check if file exists
Clear file content
Get file attributes
Get socket status
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x624b28
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x1c4
push ebx
push esi
mov esi, ecx
push edi
xor ebx, ebx
mov dword [ebp - 0x10], esp
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x98], esi
mov dword [ebp - 4], ebx
mov ecx, dword [eax + 0x2f8]
cmp ecx, 0x80
jne 0x576d4a
mov dword [esi + 0x28], ebx
jmp 0x576f34
mov edx, dword [eax + 0x2f0]
cmp edx, 4
je 0x576ed0
cmp ecx, 0x40
je 0x576ed0
cmp edx, 0x40
je 0x576ed0
mov ecx, dword [0x6e7b6c]
mov dword [ebp - 0x14], ecx
mov eax, dword [eax]
lea edx, [ebp - 0x14]
push edx
push eax
mov edi, 1
mov byte [ebp - 4], 1
call fcn.0046d000
mov ecx, dword [ebp - 0x14]
add esp, 8
push 0x6dd5c0
push ecx
call fcn.005de4a0
mov ecx, dword [esi + 0x1a8]
mov edx, dword [esi + 0x1ac]
add esp, 8
neg eax
sbb eax, eax
inc eax
or ecx, edx
jne 0x576ec2
mov cl, byte [esi + 0x84c]
test cl, cl
jne 0x576ec2
cmp dword [esi + 0x194], edi
jle 0x576ec2
mov ecx, dword [esi + 0xc]
mov dl, byte [ecx + 0x157]
test dl, dl
je 0x576ec2
cmp dword [ecx + 0x2f8], ebx
jne 0x576ec2
mov ecx, dword [esi + 0x238]
mov dl, byte [ecx + 0xc8]
test dl, dl
je 0x576e05
cmp eax, ebx
je 0x576ec2
mov dword [ecx + 0x34cc], edi
mov edx, dword [esi + 0x238]
mov dword [edx + 0x34b0], ebx
mov dword [edx + 0x34b4], ebx
mov eax, dword [esi + 0x238]
mov dword [eax + 0x3498], ebx
mov dword [eax + 0x349c], ebx
mov ecx, dword [esi + 0x238]
mov byte [ecx + 0x6637], 1
mov eax, dword [esi + 0x238]
mov edx, dword [eax + 0x3448]
lea ecx, [eax + 0x3448]
add eax, 0x6628
push eax
call dword [edx + 0x14]
mov eax, dword [esi + 0x440]
cmp eax, 0x80
jae 0x576e84
mov ecx, dword [esi + 0x238]
mov edx, dword [ecx + 0x6628]
mov dword [esi + eax*4 + 0x444], edx
mov eax, dword [esi + 0x440]
inc eax
mov dword [esi + 0x440], eax
mov eax, dword [esi + 0x644]
cmp eax, 0x80
jae 0x576eb1
mov ecx, dword [esi + 0x238]
mov edx, dword [ecx + 0x6628]
mov dword [esi + eax*4 + 0x648], edx
mov eax, dword [esi + 0x644]
inc eax
mov dword [esi + 0x644], eax
mov eax, 2
mov dword [esi + 0x1a0], eax
mov dword [esi + 0x198], eax
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0
call fcn.005fa859
jmp 0x576f34
mov dword [esi + 0x28], ebx
mov eax, dword [eax + 0x2e8]
cmp eax, ebx
je 0x576f34
cmp dword [eax + 0x8cc], 3
jne 0x576f08
mov eax, dword [eax + 0x50]
cmp eax, ebx
je 0x576ef9
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x576f08
mov eax, dword [esi + 0xc]
mov ecx, dword [eax + 0x2e8]
mov dword [ecx + 0x8cc], ebx
mov edx, dword [esi + 0xc]
mov ecx, dword [edx + 0x2e8]
mov eax, dword [ecx + 0x8cc]
cmp eax, ebx
je 0x576f25
cmp eax, 2
je 0x576f25
cmp eax, 4
jne 0x576f34
cmp dword [ecx + 0x8d0], ebx
jne 0x576f34
push 1
call fcn.005a9420
mov eax, dword [esi + 0xc]
cmp dword [eax + 0x2f8], ebx
je 0x576f53
mov cl, byte [eax + 0x2fc]
test cl, cl
je 0x576f53
mov dword [eax + 0xb0], 1
mov eax, dword [0x6ed884]
push 1
push eax
mov ecx, esi
call fcn.0059f6b0
mov ecx, esi
call fcn.005a0210
mov ecx, esi
call fcn.005a0c10
mov eax, dword [esi + 0x1a4]
mov ecx, dword [esi + 0x1b0]
mov edx, dword [esi + 0x1b4]
add eax, 0xfffffffb
mov dword [ebp - 0x64], ecx
mov ecx, esi
mov dword [esi + 0x1a4], eax
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x60], edx
call fcn.0059f980
lea eax, [ebp - 0xd0]
mov dword [ebp - 0x88], 3
push eax
mov dword [ebp - 0x84], ebx
call fcn.005dfac7
lea ecx, [ebp - 0x94]
push ecx
call fcn.005dfac7
add esp, 8
xor edi, edi
xor edx, edx
mov dword [ebp - 0x6c], ebx
mov dword [ebp - 0x68], ebx
mov byte [ebp - 0x15], 1
xor ecx, ecx
cmp ecx, dword [esi + 0x198]
jge 0x577036
mov eax, ecx
mov ebx, dword [esi + 0x238]
shl eax, 5
sub eax, ecx
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
shl eax, 1
sub eax, ecx
lea eax, [ebx + eax*8]
mov ebx, dword [eax + 0x84]
test ebx, ebx
je 0x577031
mov ebx, dword [eax + 0x38c]
inc edx
test ebx, ebx
jg 0x577030
mov ebx, dword [eax + 0xb0]
cmp dword [ebx + 0x24], 2
jne 0x577031
mov ebx, dword [eax + 0x343c]
test ebx, ebx
ja 0x577030
mov bl, byte [eax + 0x3440]
test bl, bl
je 0x577031
inc edi
inc ecx
xor ebx, ebx
jmp 0x576fd9
cmp edi, 1
jne 0x577049
cmp edx, edi
jne 0x577049
mov byte [ebp - 0x15], 0
mov dword [ebp - 0x88], edi
cmp dword [esi + 0x1c], ebx
je 0x5770c7
lea ecx, [esi + 0x28]
call fcn.00545ab0
mov ecx, dword [esi + 0xc]
cmp dword [ecx + 0x2f8], 0x20
jne 0x577070
mov eax, dword [ecx + 0xf0]
mov ecx, dword [ecx + 0xf4]
jmp 0x57707c
mov eax, dword [esi + 0x1a8]
mov ecx, dword [esi + 0x1ac]
mov edx, dword [esi + 0x1b4]
mov dword [ebp - 0x50], ecx
mov ecx, dword [esi + 0x1b0]
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x4c], ecx
mov ecx, dword [esi + 0x10]
lea eax, [ebp - 0x54]
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x44], ebx
mov edx, dword [ecx]
push eax
push 0x1471
push 0x111
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, 0x7540
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.0059f540
test al, al
mov byte [ebp - 0x1c], al
je 0x5770f6
lea eax, [ebp - 0xc4]
push eax
call fcn.005dfac7
mov ecx, dword [esi + 0x1b0]
mov edx, dword [esi + 0x1b4]
add esp, 4
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x68], edx
xor edi, edi
xor ecx, ecx
cmp ecx, dword [esi + 0x198]
jge 0x577169
mov eax, ecx
mov edx, dword [esi + 0x238]
shl eax, 5
sub eax, ecx
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
shl eax, 1
sub eax, ecx
lea eax, [edx + eax*8]
cmp dword [eax + 0x84], ebx
je 0x57719e
cmp dword [eax + 0x8c], 6
jne 0x57719e
cmp dword [eax + 0x38c], ebx
jg 0x577164
mov edx, dword [eax + 0xb4]
cmp edx, ebx
je 0x577144
mov edx, dword [edx + 0x10]
jmp 0x57714d
mov edx, dword [eax + 0xb0]
mov edx, dword [edx + 0x24]
cmp edx, 2
jne 0x57719e
cmp dword [eax + 0x343c], ebx
ja 0x577164
mov dl, byte [eax + 0x3440]
test dl, dl
je 0x57719e
mov edi, 1
mov al, byte [ebp - 0x15]
xor bl, bl
test al, al
je 0x5771a4
test edi, edi
jne 0x5771b7
lea eax, [ebp - 0x88]
lea ecx, [esi + 0x644]
push eax
lea edx, [esi + 0x440]
push ecx
lea eax, [esi + 0x23c]
push edx
push eax
push edi
call sub.WS2_32.dll_select
mov edi, eax
mov bl, 1
jmp 0x5771b7
inc ecx
jmp 0x5770fa
mov edi, 1
mov dword [ebp - 0x88], 3
mov byte [ebp - 0x15], 1
mov eax, dword [esi + 0x1c]
test eax, eax
je 0x5771dc
lea ecx, [esi + 0x28]
call fcn.00545ab0
mov eax, 0x7540
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x1b0]
mov ecx, dword [esi + 0x1b4]
or eax, ecx
jne 0x577227
lea ecx, [ebp - 0x94]
push ecx
call fcn.005dfac7
mov edx, dword [ebp - 0x94]
mov ecx, dword [ebp - 0xd0]
sub edx, ecx
add esp, 4
cmp edx, 0x12c
jle 0x577227
mov eax, 0x7532
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x1b0]
mov ecx, dword [esi + 0x1b4]
cmp edi, 0xffffffff
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], ecx
je 0x5772f5
test edi, edi
je 0x5772f5
xor edi, edi
cmp edi, dword [esi + 0x198]
jge 0x5772fc
mov eax, edi
shl eax, 5
sub eax, edi
lea eax, [eax + eax*2]
lea edx, [eax + eax*8]
mov eax, dword [esi + 0x238]
shl edx, 1
sub edx, edi
lea ecx, [eax + edx*8]
mov eax, dword [eax + edx*8 + 0x84]
test eax, eax
je 0x5772ef
mov eax, dword [esi + 0x1c]
test eax, eax
je 0x5772a2
lea ecx, [esi + 0x28]
call fcn.00545ab0
mov eax, 0x7540
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test bl, bl
jne 0x5772ea
cmp dword [ecx + 0x8c], 6
jne 0x5772ef
mov eax, dword [ecx + 0x38c]
test eax, eax
jg 0x5772ea
mov eax, dword [ecx + 0xb4]
test eax, eax
je 0x5772c8
mov eax, dword [eax + 0x10]
jmp 0x5772d1
mov edx, dword [ecx + 0xb0]
mov eax, dword [edx + 0x24]
cmp eax, 2
jne 0x5772ef
mov eax, dword [ecx + 0x343c]
test eax, eax
ja 0x5772ea
mov al, byte [ecx + 0x3440]
test al, al
je 0x5772ef
call fcn.0056b230
inc edi
jmp 0x57724c
mov ecx, esi
call fcn.005788b0
mov eax, dword [ebp - 0x1c]
mov ecx, esi
push eax
push 0
call fcn.0059fa50
lea ecx, [ebp - 0xa4]
push ecx
call fcn.005dfac7
mov ecx, dword [ebp - 0xa4]
mov edx, dword [ebp - 0x94]
mov eax, ecx
add esp, 4
sub eax, edx
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0x90]
shl edx, 3
and eax, 0xffff
sub edx, eax
mov eax, dword [ebp - 0xa0]
mov edi, eax
and edi, 0xffff
add edx, edi
cmp edx, 0xfa
jl 0x5773f1
lea ecx, [ebp - 0x94]
push ecx
call fcn.005dfac7
add esp, 4
xor ebx, ebx
cmp ebx, dword [esi + 0x198]
jge 0x5773e5
mov eax, ebx
shl eax, 5
sub eax, ebx
lea eax, [eax + eax*2]
lea edx, [eax + eax*8]
mov eax, dword [esi + 0x238]
shl edx, 1
sub edx, ebx
lea edi, [eax + edx*8]
mov eax, dword [eax + edx*8 + 0x84]
test eax, eax
je 0x5773e2
mov ecx, dword [edi + 0xa0]
mov edx, dword [ecx]
cmp dword [edx], 0
je 0x5773e2
mov eax, dword [edi + 0x68]
mov ecx, dword [edi + 0x6c]
or eax, ecx
je 0x5773e2
lea eax, [edi + 0x3e8]
mov ecx, edi
push eax
call fcn.0054b320
mov ecx, dword [edi + 0xa0]
lea eax, [edi + 0x3e8]
push eax
push 0x13ef
mov edx, dword [ecx]
push 0x111
mov eax, dword [edx]
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
inc ebx
jmp 0x57736e
mov eax, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0xa4]
mov edx, dword [esi + 0x24]
test edx, edx
jne 0x5775a4
mov edi, dword [esi + 0x1b4]
mov ebx, dword [ebp - 0x60]
mov edx, dword [esi + 0x1b0]
cmp ebx, edi
jg 0x5775a4
jl 0x57741e
cmp dword [ebp - 0x64], edx
jae 0x5775a4
cmp dword [ebp - 0x3c], edx
jne 0x5775a4
cmp dword [ebp - 0x38], edi
jne 0x5775a4
mov edx, dword [ebp - 0x24]
mov edi, dword [ebp - 0x20]
lea ecx, [ecx + ecx*4]
or edx, edi
lea ecx, [ecx + ecx*4]
jne 0x577457
lea ecx, [ecx + ecx*4]
and eax, 0xffff
lea eax, [eax + ecx*8]
cdq
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], edx
jmp 0x5775ac
lea edx, [ecx + ecx*4]
mov ecx, dword [esi + 0xc]
and eax, 0xffff
fld qword [ecx + 0x438]
fsqrt
lea eax, [eax + edx*8]
cdq
mov ebx, eax
mov edi, edx
fmul qword [0x655900]
fadd qword [ecx + 0x428]
fcom qword [ecx + 0x448]
fnstsw ax
test ah, 1
je 0x577490
fstp qword [ebp - 0x80]
jmp 0x5774a4
mov eax, dword [ecx + 0x448]
mov edx, dword [ecx + 0x44c]
fstp st(0)
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], edx
fld qword [ecx + 0x430]
fsqrt
fmul qword [0x655900]
fadd qword [ecx + 0x420]
fcom qword [ecx + 0x440]
fnstsw ax
test ah, 1
jne 0x5774cd
fstp st(0)
fld qword [ecx + 0x440]
fld qword [ebp - 0x80]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x5774de
fstp st(0)
fld qword [ebp - 0x80]
fmul qword [0x656468]
fadd qword [0x656460]
call fcn.005de5f4
mov ecx, dword [ebp - 0x24]
sub ebx, ecx
mov ecx, dword [ebp - 0x20]
sbb edi, ecx
cmp edi, edx
jl 0x5775ac
jg 0x57750b
cmp ebx, eax
jbe 0x5775ac
xor ebx, ebx
mov ecx, esi
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x20], ebx
call fcn.005b2410
cmp eax, ebx
je 0x5775ae
cmp dword [esi + 0x1c], ebx
je 0x57753d
mov eax, 0x7540
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esi + 0x238]
mov eax, dword [ecx]
call dword [eax + 0x1c]
mov ecx, dword [esi + 0x238]
call fcn.00570620
mov ecx, dword [esi + 0x238]
mov edx, dword [ecx]
lea eax, [ecx + 0x31e0]
push eax
call dword [edx + 0x14]
cmp eax, ebx
jne 0x5785e2
mov ecx, dword [esi + 0x238]
push ebx
call fcn.00564250
cmp eax, ebx
jne 0x5785e2
mov ecx, dword [esi + 0x1b0]
mov eax, dword [0x6ed884]
mov edx, dword [esi + 0x1b4]
mov dword [ebp - 0x64], ecx
push 1
push eax
mov ecx, esi
mov dword [ebp - 0x60], edx
call fcn.0059f6b0
jmp 0x5775ae
xor eax, eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
xor ebx, ebx
mov ecx, dword [esi + 0xc]
cmp dword [ecx + 0xb0], 2
jne 0x5779d9
mov edi, dword [esi + 0x1ac]
mov edx, dword [esi + 0x1a8]
mov eax, edi
cmp eax, ebx
jl 0x5775ea
jg 0x5775d7
cmp edx, 0x32
jbe 0x5775ea
mov eax, dword [esi + 0x238]
cmp dword [eax + 0x74], ebx
jl 0x57760d
jg 0x5775ea
cmp dword [eax + 0x70], 0x32
jb 0x57760d
cmp edi, ebx
jg 0x57763b
jl 0x5775f5
cmp edx, 0x32
ja 0x57763b
mov eax, dword [esi + 0x238]
mov ebx, dword [eax + 0x74]
cmp ebx, edi
jg 0x577639
jl 0x57760b
mov edi, dword [eax + 0x70]
cmp edi, edx
jae 0x577639
xor ebx, ebx
mov dl, byte [eax + 0xc8]
test dl, dl
je 0x5779d9
mov edx, dword [eax + 0x48]
mov edi, dword [eax + 0x4c]
or edx, edi
jne 0x5779d9
mov dl, byte [eax + 0xc9]
test dl, dl
je 0x5779d9
jmp 0x57763b
xor ebx, ebx
mov al, byte [esi + 0x84e]
push eax
call fcn.005bc220
mov cl, byte [0x6ec894]
mov dword [ebp - 0x14], eax
test cl, cl
jne 0x577661
mov ecx, dword [esi + 0xc]
mov dl, byte [ecx + 0x31a]
test dl, dl
jne 0x57766b
mov cl, byte [esi + 0x84c]
test cl, cl
je 0x5776e6
mov edx, dword [esi + 0xc]
cmp dword [edx + 0xb0], 2
jne 0x57767b
cmp eax, ebx
je 0x5776e6
mov ecx, dword [esi + 0x238]
mov eax, dword [ecx]
call dword [eax + 0x1c]
lea ecx, [esi + 0x28]
call fcn.0053cba0
mov dword [esi + 0xc8], ebx
mov dword [esi + 0xd0], ebx
mov dword [esi + 0x1b0], ebx
mov dword [esi + 0xcc], ebx
mov dword [esi + 0xd4], ebx
mov dword [esi + 0x1b4], ebx
mov al, byte [0x6ec894]
test al, al
jne 0x5780ca
mov ecx, dword [esi + 0xc]
mov al, byte [ecx + 0x31a]
test al, al
je 0x5780ca
mov eax, 0x7540
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [esi + 0xb8], ebx
jle 0x57776a
mov ebx, dword [esi + 0xc]
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [ebx + 0xcc]
mov edi, edx
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x57776a
mov ebx, dword [ebx + 0xbc]
test ebx, ebx
je 0x577728
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push ebx
push edx
call fcn.005e0470
add esp, 0xc
test eax, eax
je 0x57776a
mov edx, dword [esi + 0x14]
mov eax, dword [edx]
test eax, eax
je 0x577749
mov ecx, dword [esi + 0xb8]
push ecx
push 0x13f8
push 0x111
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
mov edx, dword [esi + 0x18]
mov eax, dword [edx]
test eax, eax
je 0x57776a
mov ecx, dword [esi + 0xb8]
push ecx
push 0x13f8
push 0x111
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, dword [esi + 0xc]
xor bl, bl
mov ecx, dword [eax + 0x14c]
test ch, 1
je 0x5777de
mov edx, dword [esi + 0x1b4]
mov ecx, dword [esi + 0x1b0]
test edx, edx
jg 0x5777de
jl 0x577794
cmp ecx, 0x7d1
jae 0x5777de
mov edx, dword [eax]
push 0x6d5a00
push edx
call fcn.005de210
add esp, 8
test eax, eax
jne 0x5777bf
mov eax, dword [esi + 0xc]
push 0x6dd450
mov ecx, dword [eax]
push ecx
call fcn.005de210
add esp, 8
test eax, eax
je 0x5777de
mov ecx, dword [esi + 0x1ac]
mov eax, dword [esi + 0x1a8]
test ecx, ecx
jl 0x5777dc
jg 0x5777d8
cmp eax, 0x7d1
jb 0x5777dc
or eax, ecx
jne 0x5777de
mov bl, 1
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x5779d9
test bl, bl
jne 0x5779d9
mov eax, dword [esi + 0x13c]
test eax, eax
jne 0x57797c
mov al, byte [0x6ec894]
test al, al
jne 0x5778fa
mov eax, dword [esi + 0xc]
mov byte [ebp - 0x16], bl
mov edx, dword [eax + 0xbc]
test edx, edx
je 0x577869
mov ebx, dword [eax + 0xe4]
or ecx, 0xffffffff
mov edi, ebx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x577869
mov edi, edx
mov eax, ebx
mov dl, byte [eax]
mov bl, byte [edi]
mov cl, dl
cmp dl, bl
jne 0x57785c
test cl, cl
je 0x577858
mov dl, byte [eax + 1]
mov bl, byte [edi + 1]
mov cl, dl
cmp dl, bl
jne 0x57785c
add eax, 2
add edi, 2
test cl, cl
jne 0x577834
xor eax, eax
jmp 0x577861
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x577869
mov byte [ebp - 0x16], 1
mov edi, dword [esi + 0x1ac]
mov edx, dword [esi + 0x1a8]
xor ebx, ebx
cmp edi, ebx
jl 0x5778a2
jg 0x577881
cmp edx, ebx
jbe 0x5778a2
mov eax, dword [esi + 0xc]
mov ecx, dword [eax + 0xe8]
mov eax, dword [eax + 0xec]
cmp eax, ebx
jl 0x5778a2
jg 0x57789a
cmp ecx, ebx
jbe 0x5778a2
cmp ecx, edx
jne 0x5778a9
cmp eax, edi
jne 0x5778a9
mov al, byte [ebp - 0x16]
test al, al
je 0x5778fa
mov eax, dword [esi + 0xc]
push 0x6ec0c8
lea ecx, [eax + 0xe4]
call fcn.005fa9e2
mov eax, dword [esi + 0xc]
push 0x50040
mov dword [eax + 0xe8], ebx
mov dword [eax + 0xec], ebx
mov ecx, dword [esi + 0xc]
mov eax, dword [0x6ed084]
mov edx, dword [ecx + 8]
push edx
push eax
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
mov eax, 0x7540
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0xc]
mov ecx, dword [eax + 0x3c]
test ecx, ecx
je 0x57797c
mov ecx, dword [eax + 0x34]
test ecx, ecx
je 0x57790f
mov eax, ecx
jmp 0x577912
add eax, 0x38
push 0x2e
push eax
call fcn.005de073
mov edi, eax
add esp, 8
test edi, edi
je 0x57797c
push 0x6c4178
push edi
call fcn.005e07bc
add esp, 8
test eax, eax
je 0x57797c
push 0x6c2878
push edi
call fcn.005e07bc
add esp, 8
test eax, eax
je 0x57797c
mov ecx, dword [esi + 0xc]
mov eax, dword [0x6ed810]
push 0x50004
mov edx, dword [ecx + 8]
push edx
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp eax, 7
jne 0x57797c
mov eax, 0x7540
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0xc]
mov ecx, dword [eax + 0x3c]
test ecx, ecx
je 0x5779d9
mov ecx, dword [eax + 0x34]
test ecx, ecx
je 0x577991
mov eax, ecx
jmp 0x577994
add eax, 0x38
push 0x2e
push eax
call fcn.005de073
mov edi, eax
add esp, 8
test edi, edi
je 0x5779d9
push 0x6c4178
push edi
call fcn.005e07bc
add esp, 8
test eax, eax
je 0x5779d9
push 0x6c2878
push edi
call fcn.005e07bc
add esp, 8
test eax, eax
je 0x5779d9
mov ecx, dword [esi + 0xc]
call fcn.005bc340
test eax, eax
jne 0x5785e2
mov al, byte [ebp - 0x1c]
test al, al
je 0x577c07
mov ecx, dword [esi + 0x1b4]
mov eax, dword [esi + 0x1b0]
test ecx, ecx
jl 0x577c07
jg 0x577a05
cmp eax, 0x400
jbe 0x577c07
mov ecx, esi
call fcn.0059f500
lea ecx, [ebp - 0xb8]
mov dword [ebp - 0x74], eax
push ecx
mov ebx, edx
call fcn.005dfac7
mov eax, dword [esi + 0x1b0]
mov edi, dword [ebp - 0x6c]
mov ecx, dword [esi + 0x1b4]
mov edx, dword [ebp - 0x68]
add esp, 4
sub eax, edi
sbb ecx, edx
mov dword [ebp - 0xac], eax
mov dword [ebp - 0xa8], ecx
js 0x577c07
jg 0x577a52
test eax, eax
jbe 0x577c07
mov eax, dword [ebp - 0xb8]
mov edx, dword [ebp - 0xc4]
sub eax, edx
mov edx, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xb4]
and edx, 0xffff
lea eax, [eax + eax*4]
and ecx, 0xffff
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
shl eax, 3
sub eax, edx
add eax, ecx
mov dword [ebp - 0x14], eax
jne 0x577a94
mov dword [ebp - 0x14], 1
fild qword [ebp - 0xac]
fmul dword [0x6373c8]
fidiv dword [ebp - 0x14]
call fcn.005de5f4
mov edi, edx
mov ecx, eax
cmp edi, ebx
jl 0x577c07
jg 0x577abf
cmp ecx, dword [ebp - 0x74]
jbe 0x577c07
mov edx, dword [ebp - 0x74]
mov eax, dword [ebp - 0x14]
sub ecx, edx
cdq
sbb edi, ebx
push edx
push eax
push edi
push ecx
call fcn.005e09d0
mov ecx, dword [ebp - 0x74]
push ebx
push ecx
push edx
push eax
call fcn.005dffe0
mov edi, eax
mov eax, dword [esi + 0x1b8]
cdq
mov dword [ebp - 0x58], edx
mov edx, dword [ebp - 0x74]
push 0
push 2
push ebx
push edx
mov dword [ebp - 0x5c], eax
call fcn.005dffe0
cmp dword [ebp - 0x58], edx
jg 0x577b1d
jl 0x577b08
cmp dword [ebp - 0x5c], eax
jae 0x577b1d
mov eax, 0x66666667
imul edi
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
mov edi, edx
jmp 0x577b4b
mov ecx, dword [ebp - 0x74]
push 0
push 9
push ebx
push ecx
call fcn.005e09d0
push 0
push 0xa
push edx
push eax
call fcn.005dffe0
cmp dword [ebp - 0x58], edx
jg 0x577b4b
jl 0x577b42
cmp dword [ebp - 0x5c], eax
jae 0x577b4b
mov eax, edi
cdq
sub eax, edx
sar eax, 1
mov edi, eax
cmp edi, 0x2ee0
jle 0x577b5a
mov edi, 0x2ee0
jmp 0x577b62
test edi, edi
jle 0x577c07
mov eax, dword [esi + 0x848]
cmp eax, 0xffffffff
je 0x577c00
lea ecx, [esi + 0x23c]
lea ebx, [esi + 0x644]
mov dword [esi + 0x440], 0
mov dword [ecx], 0
mov dword [ebx], 0
mov dword [esi + 0x240], eax
mov eax, dword [ecx]
inc eax
mov dword [ecx], eax
mov eax, dword [ebx]
cmp eax, 0x80
jae 0x577bb9
mov edx, dword [esi + 0x848]
mov dword [esi + eax*4 + 0x648], edx
mov eax, dword [ebx]
inc eax
mov dword [ebx], eax
mov eax, 0x10624dd3
imul edi
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [ebp - 0x30], edx
lea eax, [edx + edx*4]
lea eax, [eax + eax*4]
lea edx, [eax + eax*4]
shl edx, 3
sub edi, edx
lea edx, [ebp - 0x30]
push edx
push ebx
lea eax, [edi + edi*4]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
shl eax, 3
mov dword [ebp - 0x2c], eax
lea eax, [esi + 0x440]
push eax
push ecx
push 0
call sub.WS2_32.dll_select
jmp 0x577c07
push edi
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, esi
call fcn.00578600
mov edi, eax
xor ebx, ebx
cmp edi, ebx
mov dword [ebp - 0x14], edi
je 0x5780e0
cmp edi, 1
jne 0x5780f5
mov ecx, dword [esi + 0xc]
cmp dword [ecx + 0x2f8], ebx
je 0x5780f5
mov al, byte [ecx + 0x2fc]
test al, al
je 0x5780f5
cmp dword [esi + 0x40], ebx
jne 0x5780f5
mov eax, dword [0x6e7b6c]
mov dword [ebp - 0x14], eax
lea edx, [ebp - 0x14]
push ebx
push edx
mov byte [ebp - 4], 2
call fcn.00579ad0
mov eax, dword [esi + 0xc]
mov cl, byte [eax + 0x313]
test cl, cl
je 0x577c76
mov ecx, esi
call fcn.00578970
mov eax, dword [esi + 0xc]
cmp dword [eax + 0x2f8], 0x20
jne 0x577d20
mov edx, dword [ebp - 0x14]
lea ecx, [esi + 0x28]
push edx
mov dword [ecx], ebx
call fcn.0053e3c0
cmp eax, ebx
jg 0x577ce7
mov ecx, dword [0x6e7b6c]
mov dword [ebp - 0x34], ecx
push eax
lea edx, [ebp - 0x34]
push 0x6dd5a4
push edx
mov byte [ebp - 4], 3
call fcn.005f368b
mov eax, dword [ebp - 0x34]
add esp, 0xc
mov ecx, esi
push eax
call fcn.0059f800
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 2
call fcn.005fa859
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0
call fcn.005fa859
mov edi, 0x753c
mov dword [ebp - 0x14], edi
jmp 0x5780f5
mov ecx, dword [esi + 0x40]
mov eax, dword [ecx + 0x20]
mov edx, eax
mov ecx, dword [ecx + 0x24]
or edx, ecx
je 0x577e51
mov edx, dword [esi + 0xc]
mov dword [edx + 0xf0], eax
mov dword [edx + 0xf4], ecx
mov ecx, esi
call fcn.005a0440
mov ecx, dword [esi + 0x238]
call fcn.0054b290
jmp 0x577e51
lea edx, [ebp - 0x78]
mov dword [ebp - 0x78], ebx
mov eax, dword [eax + 0x2f8]
push edx
mov edx, dword [ebp - 0x14]
lea ecx, [esi + 0x28]
push edx
push eax
call fcn.0053e750
cmp eax, ebx
je 0x577cce
mov ecx, dword [esi + 0xc]
cmp dword [ecx + 0x2f8], 8
jne 0x577d98
mov edx, dword [esi + 0xb0]
mov ecx, dword [esi + 0x238]
add ecx, 0x10
mov eax, dword [edx + 0x10]
push eax
call fcn.0054f8d0
mov ecx, dword [esi + 0x238]
mov edx, dword [ecx + 0x20]
push edx
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
mov ecx, dword [esi + 0x238]
add ecx, 0x10
call fcn.0054f8b0
cmp dword [ebp - 0x78], ebx
je 0x577e21
mov dword [esi + 0x140], 0x7582
jmp 0x577cce
mov eax, dword [esi + 0xb0]
mov ecx, dword [eax + 0x10]
push ecx
mov ecx, dword [esi + 0x238]
add ecx, 0x10
call fcn.0054f8d0
mov ecx, dword [esi + 0x238]
lea edx, [ebp - 0x28]
push edx
lea eax, [ebp - 0x4c]
push 0xd
push eax
add ecx, 0x10
mov dword [ebp - 0x28], ebx
mov byte [ebp - 0x4c], 0x46
mov byte [ebp - 0x4b], 0x4c
mov byte [ebp - 0x4a], 0x56
mov byte [ebp - 0x49], 1
mov byte [ebp - 0x48], 5
mov byte [ebp - 0x47], 0
mov byte [ebp - 0x46], 0
mov byte [ebp - 0x45], 0
mov byte [ebp - 0x44], 9
mov byte [ebp - 0x43], 0
mov byte [ebp - 0x42], 0
mov byte [ebp - 0x41], 0
mov byte [ebp - 0x40], 0
call fcn.0054feb0
mov edi, eax
mov eax, dword [ebp - 0x28]
cmp eax, 0xd
je 0x577e0b
xor edi, edi
mov ecx, dword [esi + 0x238]
add ecx, 0x10
call fcn.0054f8b0
cmp edi, ebx
je 0x577cce
mov ecx, dword [esi + 0xc]
mov dword [esi + 0xc8], ebx
mov dword [esi + 0xcc], ebx
cmp dword [ecx + 0x2f8], 8
jne 0x577e41
mov dword [esi + 0x1b0], ebx
jmp 0x577e4b
mov dword [esi + 0x1b0], 0xd
mov dword [esi + 0x1b4], ebx
mov edx, dword [esi + 0xc]
mov edi, 1
push edi
push ebx
mov byte [edx + 0x2fc], 0
mov dword [esi + 0xd0], ebx
push ebx
mov ecx, esi
mov dword [esi + 0xd4], ebx
call fcn.005a05c0
mov eax, dword [esi]
push edi
mov ecx, esi
call dword [eax + 0xc]
mov ecx, dword [esi + 0x40]
mov eax, dword [ecx + 0x10]
mov ecx, dword [esi + 0x194]
cmp eax, ecx
jl 0x577e90
mov eax, ecx
cmp eax, ebx
mov dword [esi + 0x198], eax
jne 0x577ea0
mov dword [esi + 0x198], edi
mov al, byte [0x6ec894]
test al, al
jne 0x577eba
mov edx, dword [esi + 0xc]
mov al, byte [edx + 0x31a]
test al, al
jne 0x578044
mov al, byte [esi + 0x84c]
test al, al
jne 0x578044
mov eax, dword [esi + 0x238]
push ebx
push ebx
push ebx
push eax
lea ecx, [esi + 0x28]
call fcn.0053f750
mov ecx, dword [esi + 0x238]
mov dword [ecx + 0x84], edi
mov edx, dword [esi + 0x238]
mov dword [edx + 0x68], ebx
mov dword [edx + 0x6c], ebx
mov eax, dword [esi + 0x238]
mov dword [eax + 0x50], ebx
mov dword [eax + 0x54], ebx
mov ecx, dword [esi + 0x238]
mov dword [ecx + 0x48], ebx
mov dword [ecx + 0x4c], ebx
mov edx, dword [esi + 0x238]
mov dword [edx + 0x31f8], ebx
mov dword [edx + 0x31fc], ebx
mov eax, dword [esi + 0x238]
mov dword [eax + 0x70], ebx
mov dword [eax + 0x74], ebx
mov ecx, dword [esi + 0x238]
mov eax, dword [ecx + 0xb4]
cmp eax, ebx
je 0x577f3d
mov eax, dword [eax + 0x10]
jmp 0x577f43
mov edx, dword [esi + 0xc]
mov eax, dword [edx + 0x24]
cmp eax, 2
jne 0x577f81
mov ecx, dword [esi + 0xc]
cmp dword [ecx + 0x408], ebx
je 0x577f5b
cmp dword [ecx + 0x194], ebx
jne 0x577f81
call fcn.005bd220
cmp eax, ebx
jne 0x577f81
mov eax, dword [0x6ed784]
mov ecx, dword [esi + 0x20]
push eax
call fcn.0054f740
mov dword [esi + 0x140], 0x756c
jmp 0x577cce
mov ecx, dword [esi + 0x238]
mov edx, dword [ecx]
lea eax, [ecx + 0x31e0]
push eax
call dword [edx + 0x14]
mov ecx, dword [esi + 0x238]
mov dword [esi + 0x23c], ebx
mov dword [esi + 0x440], ebx
mov dword [esi + 0x644], ebx
mov edx, dword [ecx + 0x31e0]
mov dword [esi + 0x444], edx
mov edx, dword [esi + 0x440]
mov eax, dword [esi + 0x644]
inc edx
cmp eax, 0x80
mov dword [esi + 0x440], edx
jae 0x577ff1
mov ecx, dword [esi + 0x238]
mov edx, dword [ecx + 0x31e0]
mov dword [esi + eax*4 + 0x648], edx
mov eax, dword [esi + 0x644]
inc eax
mov dword [esi + 0x644], eax
mov ecx, dword [esi + 0x848]
cmp ecx, 0xffffffff
je 0x578044
mov eax, dword [esi + 0x23c]
cmp eax, 0x80
jae 0x57801d
mov dword [esi + eax*4 + 0x240], ecx
mov eax, dword [esi + 0x23c]
inc eax
mov dword [esi + 0x23c], eax
mov eax, dword [esi + 0x644]
cmp eax, 0x80
jae 0x578044
mov ecx, dword [esi + 0x848]
mov dword [esi + eax*4 + 0x648], ecx
mov eax, dword [esi + 0x644]
inc eax
mov dword [esi + 0x644], eax
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0
call fcn.005fa859
mov edx, dword [esi + 0x40]
mov eax, dword [esi + 0xc]
mov ecx, dword [edx + 0x18]
mov dword [eax + 0x358], ecx
mov ecx, esi
mov edx, dword [edx + 0x1c]
mov dword [eax + 0x35c], edx
call fcn.005a0350
mov al, byte [0x6ec894]
test al, al
jne 0x578085
mov ecx, dword [esi + 0xc]
mov dl, byte [ecx + 0x31a]
test dl, dl
jne 0x578093
mov cl, byte [esi + 0x84c]
test cl, cl
je 0x5780e0
test al, al
jne 0x5780b6
mov edx, dword [esi + 0xc]
mov al, byte [edx + 0x31a]
test al, al
je 0x5780b6
mov eax, 0x7540
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea ecx, [esi + 0x28]
call fcn.0053cba0
mov dword [esi + 0x1b0], ebx
mov dword [esi + 0x1b4], ebx
mov eax, 0x756a
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00578c90
mov ecx, esi
call fcn.005a0c40
xor ebx, ebx
jmp 0x577049
cmp dword [esi + 0x1c], ebx
je 0x578118
lea ecx, [esi + 0x28]
call fcn.00545ab0
mov eax, 0x7540
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx + 0x14c]
test ah, 1
je 0x578357
mov edx, dword [esi + 0x1b4]
mov eax, dword [esi + 0x1b0]
cmp edx, ebx
jg 0x578357
jl 0x57814b
cmp eax, 0x7d1
jae 0x578357
mov eax, dword [ecx]
push 0x6d5a00
push eax
call fcn.005de210
add esp, 8
test eax, eax
jne 0x57817a
mov ecx, dword [esi + 0xc]
push 0x6dd450
mov edx, dword [ecx]
push edx
call fcn.005de210
add esp, 8
test eax, eax
je 0x578357
mov eax, dword [esi + 0x1b4]
mov edx, dword [esi + 0x1b0]
mov ecx, dword [esi + 0x1ac]
mov dword [ebp - 0x2c], eax
mov eax, dword [esi + 0x1a8]
mov dword [ebp - 0x28], ebx
cmp edx, eax
jne 0x5781a5
mov ebx, dword [ebp - 0x2c]
mov edi, ecx
cmp ebx, edi
je 0x5781ad
or eax, ecx
jne 0x578352
mov eax, dword [esi + 0x1b4]
mov edi, edx
mov dword [ebp - 0x2c], eax
lea eax, [edi + 1]
push eax
call fcn.005f6c5c
mov ecx, dword [esi + 0x238]
add esp, 4
mov dword [ecx + 0x31d8], eax
mov edx, dword [esi + 0x238]
mov eax, dword [edx + 0x31d8]
test eax, eax
je 0x578352
mov eax, dword [esi + 0xb0]
push 0
push 0
push 3
mov ecx, dword [eax + 0x10]
push 0
push 1
push bind
push ecx
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov ebx, eax
test ebx, ebx
je 0x578352
mov eax, dword [esi + 0x238]
lea edx, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0
push 0
mov ecx, dword [eax + 0x31d8]
push edx
push edi
push ecx
push ebx
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x5782c9
cmp dword [ebp - 0x1c], edi
jne 0x5782c9
mov edx, dword [esi + 0x238]
push 7
push 0x6bc0fc
mov eax, dword [edx + 0x31d8]
mov byte [eax + edi], 0
mov ecx, dword [esi + 0x238]
mov edx, dword [ecx + 0x31d8]
push edx
call fcn.005e0470
add esp, 0xc
test eax, eax
je 0x5782b7
mov eax, dword [esi + 0x238]
push 8
push 0x6bc0f0
mov ecx, dword [eax + 0x31d8]
push ecx
call fcn.005e0470
add esp, 0xc
test eax, eax
je 0x5782b7
mov edx, dword [esi + 0x238]
mov eax, dword [edx + 0x31d8]
push eax
call fcn.005f6c85
mov eax, dword [esi + 0x238]
add esp, 4
mov dword [eax + 0x31d8], 0
jmp 0x5782c9
mov ecx, dword [esi + 0x238]
call fcn.00560d40
mov dword [ebp - 0x28], 1
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x28]
xor edi, edi
cmp eax, edi
je 0x578352
lea ebx, [esi + 0x28]
mov dword [esi + 0x1b0], edi
mov dword [esi + 0x188], edi
mov ecx, ebx
mov dword [esi + 0x1b4], edi
mov dword [esi + 0x18c], edi
call fcn.00545ab0
mov ecx, ebx
call fcn.0053cba0
mov ecx, dword [esi + 0x238]
mov dword [esi + 0xc8], edi
mov dword [esi + 0xd0], edi
mov dword [esi + 0xcc], edi
mov dword [esi + 0xd4], edi
mov dword [ecx + 0x50], edi
mov dword [ecx + 0x54], edi
mov ecx, dword [esi + 0x238]
call fcn.00570620
push 1
push edi
push edi
mov ecx, esi
call fcn.005a05c0
mov eax, 0x7583
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp - 0x14]
xor ebx, ebx
cmp edi, 0x753c
je 0x578368
cmp edi, 0xffffffff
jne 0x5783f6
mov eax, dword [esi + 0xc]
mov ecx, dword [eax + 0x14c]
test ch, 1
je 0x5784d7
cmp dword [eax + 0x30], ebx
je 0x5784d7
mov eax, dword [esi + 0x1b0]
mov ecx, dword [esi + 0x1b4]
or eax, ecx
je 0x5784d7
mov ecx, dword [esi + 0x1ac]
mov eax, dword [esi + 0x1a8]
cmp ecx, ebx
jl 0x5784d7
jg 0x5783b8
cmp eax, 0x40000000
jbe 0x5784d7
push 0x6dce74
mov ecx, esi
call fcn.0059f800
mov ecx, esi
call fcn.00576af0
cmp eax, ebx
je 0x5784d7
mov ecx, dword [esi + 0x1b4]
mov eax, dword [esi + 0x1b0]
push 1
push ecx
push eax
mov ecx, esi
call fcn.005a05c0
push 0x6dce38
mov ecx, esi
call fcn.0059f800
mov ecx, dword [esi + 0x1b4]
mov edx, dword [esi + 0x1b0]
mov eax, dword [0x6ed888]
push ecx
push edx
lea ecx, [ebp - 0x1d0]
push eax
push ecx
call fcn.005deb38
add esp, 0x10
lea edx, [ebp - 0x1d0]
mov ecx, esi
push 1
push edx
call fcn.0059f6b0
mov eax, dword [esi + 0x1b0]
mov edx, dword [esi + 0x1a8]
mov ecx, dword [esi + 0x1b4]
mov edi, dword [esi + 0x1ac]
cmp eax, edx
mov dword [ebp - 0x2c], ecx
jne 0x578455
mov ebx, dword [ebp - 0x2c]
mov ecx, edi
cmp ebx, ecx
je 0x578536
mov ecx, edx
or ecx, edi
je 0x578536
mov ebx, dword [esi + 0xc]
mov dword [ebp - 0x3c], eax
mov eax, dword [esi + 0x1b4]
mov ecx, edi
mov ebx, dword [ebx + 0x330]
mov dword [ebp - 0x38], eax
mov eax, edx
mov dword [ebp - 0x30], ebx
add eax, ebx
mov ebx, 0
adc ecx, ebx
cmp dword [ebp - 0x3c], eax
jne 0x578492
cmp dword [ebp - 0x38], ecx
je 0x578536
mov eax, edx
mov edx, dword [ebp - 0x30]
mov ecx, edi
add eax, edx
mov edx, dword [esi + 0x1b4]
adc ecx, ebx
cmp edx, ecx
jl 0x5785df
jg 0x5784b9
cmp dword [esi + 0x1b0], eax
jbe 0x5785df
lea ecx, [esi + 0x28]
call fcn.00546770
mov eax, 0x7570
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [esi + 0x1b4]
mov eax, dword [esi + 0x1b0]
mov ecx, dword [0x6ed87c]
push edx
push eax
lea edx, [ebp - 0x1d0]
push ecx
push edx
call fcn.005deb38
add esp, 0x10
lea eax, [ebp - 0x1d0]
mov ecx, esi
push 1
push eax
call fcn.0059f6b0
mov esi, dword [esi + 0x140]
cmp esi, ebx
je 0x578523
cmp edi, 0x753c
mov eax, esi
je 0x5785e2
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xor ebx, ebx
cmp ebx, dword [esi + 0x198]
jge 0x5785af
mov eax, ebx
mov ecx, dword [esi + 0x238]
shl eax, 5
sub eax, ebx
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
shl eax, 1
sub eax, ebx
lea edi, [ecx + eax*8]
mov eax, dword [ecx + eax*8 + 0x84]
test eax, eax
je 0x5785ac
mov edx, dword [edi + 0xa0]
mov eax, dword [edx]
cmp dword [eax], 0
je 0x5785ac
mov ecx, dword [edi + 0x68]
mov eax, dword [edi + 0x6c]
or ecx, eax
je 0x5785ac
lea eax, [edi + 0x3e8]
mov ecx, edi
push eax
call fcn.0054b320
mov edx, dword [edi + 0xa0]
lea eax, [edi + 0x3e8]
push eax
push 0x13ef
mov eax, dword [edx]
push 0x111
mov ecx, dword [eax]
push ecx
call dword [sym.imp.USER32.dll_PostMessageA]
inc ebx
jmp 0x578538
mov ecx, esi
call fcn.005a0c40
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
or eax, 0xffffffff
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret