Function at 0x45e038
Capabilities:
Execute anti-debugging instructions

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa0
mov dword [ebp - 4], 0
mov dword [ebp - 8], 0
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x48], 0
push 8
call fcn.004c8077
add esp, 4
mov dword [ebp - 0x4c], eax
mov ebx, eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x74], 0
jmp 0x45e136
mov dword [ebp - 4], 0
mov dword [ebp - 8], 0
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x18], 0
push ecx
push edx
rdtsc
mov ecx, 0x17
mul ecx
add eax, 7
mov ecx, 0x1000
sub ecx, 0x10
inc ecx
xor edx, edx
div ecx
add edx, 0x1000
mov eax, edx
pop edx
pop ecx
mov dword [ebp - 4], eax
nop
nop
push ecx
push edx
rdtsc
mov ecx, 0x17
mul ecx
add eax, 7
mov ecx, 0x1000
sub ecx, 0x10
inc ecx
xor edx, edx
div ecx
add edx, 0x1000
mov eax, edx
pop edx
pop ecx
mov dword [ebp - 8], eax
nop
nop
push ecx
push edx
rdtsc
mov ecx, 0x17
mul ecx
add eax, 7
mov ecx, 0x1000
sub ecx, 0x10
inc ecx
xor edx, edx
div ecx
add edx, 0x1000
mov eax, edx
pop edx
pop ecx
mov dword [ebp - 0xc], eax
nop
nop
push ecx
push edx
rdtsc
mov ecx, 0x17
mul ecx
add eax, 7
mov ecx, 0x1000
sub ecx, 0x10
inc ecx
xor edx, edx
div ecx
add edx, 0x1000
mov eax, edx
pop edx
pop ecx
mov dword [ebp - 0x10], eax
nop
nop
push ecx
push edx
rdtsc
mov ecx, 0x17
mul ecx
add eax, 7
mov ecx, 0x1000
sub ecx, 0x10
inc ecx
xor edx, edx
div ecx
add edx, 0x1000
mov eax, edx
pop edx
pop ecx
mov dword [ebp - 0x14], eax
nop
nop
push ecx
push edx
rdtsc
mov ecx, 0x17
mul ecx
add eax, 7
mov ecx, 0x1000
sub ecx, 0x10
inc ecx
xor edx, edx
div ecx
add edx, 0x1000
mov eax, edx
pop edx
pop ecx
mov dword [ebp - 0x18], eax
cmp dword [0x5f1ed4], 0xfffffff6
jne 0x45e2d4
fld qword [0x5f1ed8]
fsub qword [0x59aefa]
ftst
fnstsw ax
test ah, 1
je 0x45e27e
fchs
fcomp qword [0x59af58]
fnstsw ax
test ah, 0x41
je 0x45e2d4
fld dword [0x5f1ee0]
fstp qword [ebp - 0x84]
fld qword [ebp - 0x84]
fsub qword [0x5a9531]
ftst
fnstsw ax
test ah, 1
je 0x45e2b2
fchs
fcomp qword [0x59af58]
fnstsw ax
test ah, 0x41
je 0x45e2d4
cmp byte [0x5f1ee4], 0x1e
jne 0x45e2d4
xor eax, eax
jmp 0x45e2d9
mov eax, 1
test eax, eax
je 0x45e2eb
mov eax, 0x59ae18
jmp 0x45f927
push 1
call fcn.00419cc2
mov dword [ebp - 0x78], eax
lea eax, [ebp - 0x78]
push eax
call fcn.004174b1
mov dword [ebp - 0x7c], eax
mov ebx, dword [ebp - 0x78]
test ebx, ebx
je 0x45e320
push ebx
call fcn.004c8071
add esp, 4
cmp dword [ebp - 0x7c], 0
jg 0x45e337
mov eax, 0x59ae18
jmp 0x45f927
push 0x80000301
push 0
push dword [0x5f1ed0]
push 1
mov eax, 6
mov ebx, 0x554db0
call fcn.004c807d
add esp, 0x10
mov ebx, dword [ebp + 8]
mov eax, dword [ebx]
test eax, eax
je 0x45e379
push eax
mov ebx, eax
call fcn.004022a8
inc eax
push eax
call fcn.004c8077
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
push eax
mov ebx, dword [ebp - 0x1c]
test ebx, ebx
je 0x45e38a
push ebx
call fcn.004c8071
add esp, 4
pop eax
mov dword [ebp - 0x1c], eax
call fcn.004085c7
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
push eax
mov ebx, dword [ebp - 0x20]
test ebx, ebx
je 0x45e3b0
push ebx
call fcn.004c8071
add esp, 4
pop eax
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 4]
mov dword [ebp - 0x24], eax
call fcn.004107b0
push 0x80000301
push 0
push eax
push 1
mov ebx, 0x4ca530
call fcn.004c8083
add esp, 0x10
mov dword [ebp - 0x7c], eax
push dword [ebp - 0x20]
push dword [ebp - 0x7c]
push dword [0x5f1efc]
mov ecx, 3
call fcn.00402313
add esp, 0xc
mov dword [ebp - 0x80], eax
mov ebx, dword [ebp - 0x7c]
test ebx, ebx
je 0x45e414
push ebx
call fcn.004c8071
add esp, 4
push VariantClear
push 0
mov eax, dword [ebp - 0x80]
test eax, eax
jne 0x45e42a
mov eax, 0x59ae18
push eax
push 1
mov ebx, 0x4c9a20
call fcn.004c8083
add esp, 0x10
mov dword [ebp - 0x84], eax
mov ebx, dword [ebp - 0x80]
test ebx, ebx
je 0x45e456
push ebx
call fcn.004c8071
add esp, 4
mov dword [ebp - 0x88], 0
push 0
lea eax, [ebp - 0x88]
push eax
lea eax, [ebp - 0x84]
push eax
call fcn.0040f24e
mov dword [ebp - 0x8c], eax
mov ebx, dword [ebp - 0x84]
test ebx, ebx
je 0x45e48e
push ebx
call fcn.004c8071
add esp, 4
mov ebx, dword [ebp - 0x88]
test ebx, ebx
je 0x45e4a1
push ebx
call fcn.004c8071
add esp, 4
lea eax, [ebp - 0x8c]
push eax
call fcn.004082f9
mov dword [ebp - 0x90], eax
mov ebx, dword [ebp - 0x8c]
test ebx, ebx
je 0x45e4c6
push ebx
call fcn.004c8071
add esp, 4
mov eax, dword [ebp - 0x90]
push eax
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x45e4dd
push ebx
call fcn.004c8071
add esp, 4
pop eax
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.0045fa10
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x30], 0x2079d0e9
push 0x80000301
push 0
push 0x159ced57
push 1
mov ebx, 0x4c8fe0
call fcn.004c8083
add esp, 0x10
push 0x80000601
push edx
push eax
push 1
mov ebx, 0x4c9a20
call fcn.004c8083
add esp, 0x10
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0x80]
push eax
mov ebx, dword [ebp - 0x34]
test ebx, ebx
je 0x45e548
push ebx
call fcn.004c8071
add esp, 4
pop eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x2c], 0
jne 0x45eb92
mov dword [ebp - 0x78], 0
push 0
push dword [ebp - 0x78]
mov dword [ebp - 0x7c], 0
push 0
lea eax, [ebp - 0x7c]
push eax
push 0x5f1ef8
call fcn.004166de
mov dword [ebp - 0x80], eax
mov ebx, dword [ebp - 0x7c]
test ebx, ebx
je 0x45e59e
push ebx
call fcn.004c8071
add esp, 4
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x80]
test eax, eax
jne 0x45e5b4
mov eax, 0x59aea8
push eax
push 1
mov ebx, 0x4ca530
call fcn.004c8083
add esp, 0x10
mov dword [ebp - 0x84], eax
mov ebx, dword [ebp - 0x80]
test ebx, ebx
je 0x45e5e0
push ebx
call fcn.004c8071
add esp, 4
mov eax, dword [ebp - 0x84]
push eax
mov ebx, dword [ebp - 0x38]
test ebx, ebx
je 0x45e5f7
push ebx
call fcn.004c8071
add esp, 4
pop eax
mov dword [ebp - 0x38], eax
call fcn.004107b0
push 0x80000301
push 0
push eax
push 1
mov ebx, 0x4ca530
call fcn.004c8083
add esp, 0x10
mov dword [ebp - 0x7c], eax
push 0x80000301
push 0
push dword [ebp - 0x24]
push 1
mov ebx, 0x4ca530
call fcn.004c8083
add esp, 0x10
mov dword [ebp - 0x80], eax
push dword [ebp - 0x80]
push 0x59aed0
push dword [ebp - 0x7c]
push 0x59aed0
push dword [ebp - 0x20]
push 0x59aed0
push dword [ebp - 0x28]
push 0x59aed0
push dword [ebp - 0x1c]
push 0x59aed0
push dword [ebp - 0x38]
push 0x5b924a
mov ecx, 0xc
call fcn.00402313
add esp, 0x30
mov dword [ebp - 0x84], eax
mov ebx, dword [ebp - 0x7c]
test ebx, ebx
je 0x45e69e
push ebx
call fcn.004c8071
add esp, 4
mov ebx, dword [ebp - 0x80]
test ebx, ebx
je 0x45e6b1
push ebx
call fcn.004c8071
add esp, 4
push VariantClear
push 0
mov eax, dword [ebp - 0x84]
test eax, eax
jne 0x45e6c7
mov eax, 0x59ae18
push eax
push 1
mov ebx, 0x4c9a20
call fcn.004c8083
add esp, 0x10
mov dword [ebp - 0x88], eax
mov ebx, dword [ebp - 0x84]
test ebx, ebx
je 0x45e6f3
push ebx
call fcn.004c8071
add esp, 4
mov eax, dword [ebp - 0x88]
push eax
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x45e70a
push ebx
call fcn.004c8071
add esp, 4
pop eax
mov dword [ebp - 0x3c], eax
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x3c]
test eax, eax
jne 0x45e721
mov eax, 0x59aea8
push eax
push 1
mov ebx, 0x4ca530
call fcn.004c8083
add esp, 0x10
mov dword [ebp - 0x78], eax
push dword [ebp - 0x78]
push 0x5b9252
mov ecx, 2
call fcn.00402313
add esp, 8
mov dword [ebp - 0x7c], eax
mov ebx, dword [ebp - 0x78]
test ebx, ebx
je 0x45e76b
push ebx
call fcn.004c8071
add esp, 4
push VariantClear
push 0
mov eax, dword [ebp - 0x7c]
test eax, eax
jne 0x45e781
mov eax, 0x59ae18
push eax
push 1
mov ebx, 0x4c9a20
call fcn.004c8083
add esp, 0x10
mov dword [ebp - 0x80], eax
mov ebx, dword [ebp - 0x7c]
test ebx, ebx
je 0x45e7ad
push ebx
call fcn.004c8071
add esp, 4
mov eax, dword [ebp - 0x80]
push eax
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x45e7c4
push ebx
call fcn.004c8071
add esp, 4
pop eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x40], 0x2079d0e8
mov dword [ebp - 0x78], 0
push 0
push dword [ebp - 0x78]
mov dword [ebp - 0x7c], 0
push 0
push dword [ebp - 0x7c]
lea eax, [ebp - 0x3c]
push eax
call fcn.00410ab5
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0x80]
push eax
mov ebx, dword [ebp - 0x44]
test ebx, ebx
je 0x45e819
push ebx
call fcn.004c8071
add esp, 4
pop eax
mov dword [ebp - 0x44], eax
mov eax, 0x59aea8
xor ecx, ecx
test eax, eax
je 0x45e82b
mov ecx, dword [eax + 4]
push ecx
add eax, 8
push eax
mov eax, dword [ebp - 0x44]
xor ebx, ebx
test eax, eax
je 0x45e83c
mov ebx, dword [eax + 4]
add eax, 8
push eax
cmp ebx, ecx
mov eax, 1
jne 0x45e853
dec eax
test ecx, ecx
je 0x45e853
call fcn.004021fc
add esp, 0xc
test eax, eax
je 0x45eb62
mov eax, dword [ebp - 0x44]
test eax, eax
je 0x45e878
push eax
mov eax, dword [eax + 4]
add eax, 8
push eax
call fcn.004c8077
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
push eax
mov ebx, dword [ebp - 0x48]
test ebx, ebx
je 0x45e889
push ebx
call fcn.004c8071
add esp, 4
pop eax
mov dword [ebp - 0x48], eax
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x78], ebx
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x45e8b2
push eax
mov ebx, eax
call fcn.004022a8
inc eax
push eax
call fcn.004c8077
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
push eax
mov ebx, dword [ebp - 0x78]
mov ebx, dword [ebx]
test ebx, ebx
je 0x45e8c8
push ebx
call fcn.004c8071
add esp, 4
pop eax
mov ebx, dword [ebp - 0x78]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x4c]
add ebx, 4
mov dword [ebp - 0x78], ebx
mov eax, dword [ebp - 0x48]
test eax, eax
je 0x45e8f7
push eax
mov eax, dword [eax + 4]
add eax, 8
push eax
call fcn.004c8077
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
push eax
mov ebx, dword [ebp - 0x78]
mov ebx, dword [ebx]
test ebx, ebx
je 0x45e90d
push ebx
call fcn.004c8071
add esp, 4
pop eax
mov ebx, dword [ebp - 0x78]
mov dword [ebx], eax
push 0x5f1eec
push 4
mov eax, 2
call fcn.004c806b
add esp, 8
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x78], eax
mov ebx, dword [0x5f1eec]
mov dword [ebp - 0x7c], ebx
call fcn.004023df
mov dword [ebp - 0x80], ecx
mov edi, dword [ebp - 0x7c]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x45e969
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x80]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x7c]
call fcn.004c8089
add esp, 8
mov dword [0x5f1eec], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x80]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x78]
push edi
push eax
push 8
call fcn.004c8077
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x45e9cf
push eax
mov ebx, eax
call fcn.004022a8
inc eax
push eax
call fcn.004c8077
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x45e9ec
push eax
mov eax, dword [eax + 4]
add eax, 8
push eax
call fcn.004c8077
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
pop eax
pop edi
mov dword [edi], eax
mov dword [ebp - 0x78], 0
push 0
push dword [ebp - 0x78]
push 1
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.004105be
mov dword [ebp - 0x7c], eax
push VariantClear
push 0
mov eax, dword [ebp - 0x28]
test eax, eax
jne 0x45ea2d
mov eax, 0x59ae18
push eax
push 1
mov ebx, 0x4c9a20
call fcn.004c8083
add esp, 0x10
mov dword [ebp - 0x80], eax
push 0x80000301
push 0
push dword [ebp - 0x30]
push 1
mov ebx, 0x4c9a20
call fcn.004c8083
add esp, 0x10
mov dword [ebp - 0x84], eax
push dword [ebp - 0x84]
push dword [ebp - 0x80]
mov ecx, 2
call fcn.0040236f
add esp, 8
mov dword [ebp - 0x88], eax
mov ebx, dword [ebp - 0x80]
test ebx, ebx
je 0x45ea9a
push ebx
call fcn.004c8071
add esp, 4
mov ebx, dword [ebp - 0x84]
test ebx, ebx
je 0x45eaad
push ebx
call fcn.004c8071
add esp, 4
mov dword [ebp - 0x8c], 0
push 0
push dword [ebp - 0x8c]
push 1
lea eax, [ebp - 0x88]
push eax
lea eax, [ebp - 0x7c]
push eax
call fcn.004166de
mov dword [ebp - 0x90], eax
mov ebx, dword [ebp - 0x7c]
test ebx, ebx
je 0x45eaed
push ebx
call fcn.004c8071
add esp, 4
mov ebx, dword [ebp - 0x88]
test ebx, ebx
je 0x45eb00
push ebx
call fcn.004c8071
add esp, 4
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x90]
test eax, eax
jne 0x45eb16
mov eax, 0x59aea8
push eax
push 1
mov ebx, 0x4ca530
call fcn.004c8083
add esp, 0x10
mov dword [ebp - 0x94], eax
mov ebx, dword [ebp - 0x90]
test ebx, ebx
je 0x45eb42
push ebx
call fcn.004c8071
add esp, 4
mov eax, dword [ebp - 0x94]
push eax
mov ebx, dword [ebp - 0x50]
test ebx, ebx
je 0x45eb59
push ebx
call fcn.004c8071
add esp, 4
pop eax
mov dword [ebp - 0x50], eax
jmp 0x45eb8d
push 0x5f1f44
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x1c]
test eax, eax
je 0x45eb8d
push 0x5f1f44
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0xc]
jmp 0x45eb8d
jmp 0x45ed41
mov ebx, dword [0x5f1eec]
call fcn.004023df
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x45ebb2
push 4
call fcn.004c808f
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x45ebc5
push 1
call fcn.004c808f
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 4
mov dword [ebp - 0x78], ebx
mov dword [ebp - 0x7c], 0
push 0
push dword [ebp - 0x7c]
push 1
lea eax, [ebp - 0x34]
push eax
push dword [ebp - 0x78]
call fcn.004105be
mov dword [ebp - 0x80], eax
push VariantClear
push 0
mov eax, dword [ebp - 0x28]
test eax, eax
jne 0x45ec11
mov eax, 0x59ae18
push eax
push 1
mov ebx, 0x4c9a20
call fcn.004c8083
add esp, 0x10
mov dword [ebp - 0x84], eax
push 0x80000301
push 0
push dword [ebp - 0x30]
push 1
mov ebx, 0x4c9a20
call fcn.004c8083
add esp, 0x10
mov dword [ebp - 0x88], eax
push dword [ebp - 0x88]
push dword [ebp - 0x84]
mov ecx, 2
call fcn.0040236f
add esp, 8
mov dword [ebp - 0x8c], eax
mov ebx, dword [ebp - 0x84]
test ebx, ebx
je 0x45ec7e
push ebx
call fcn.004c8071
add esp, 4
mov ebx, dword [ebp - 0x88]
test ebx, ebx
je 0x45ec91
push ebx
call fcn.004c8071
add esp, 4
mov dword [ebp - 0x90], 0
push 0
push dword [ebp - 0x90]
push 1
lea eax, [ebp - 0x8c]
push eax
lea eax, [ebp - 0x80]
push eax
call fcn.004166de
mov dword [ebp - 0x94], eax
mov ebx, dword [ebp - 0x80]
test ebx, ebx
je 0x45ecd1
push ebx
call fcn.004c8071
add esp, 4
mov ebx, dword [ebp - 0x8c]
test ebx, ebx
je 0x45ece4
push ebx
call fcn.004c8071
add esp, 4
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x94]
test eax, eax
jne 0x45ecfa
mov eax, 0x59aea8
push eax
push 1
mov ebx, 0x4ca530
call fcn.004c8083
add esp, 0x10
mov dword [ebp - 0x98], eax
mov ebx, dword [ebp - 0x94]
test ebx, ebx
je 0x45ed26
push ebx
call fcn.004c8071
add esp, 4
mov eax, dword [ebp - 0x98]
push eax
mov ebx, dword [ebp - 0x50]
test ebx, ebx
je 0x45ed3d
push ebx
call fcn.004c8071
add esp, 4
pop eax
mov dword [ebp - 0x50], eax
call fcn.00417345
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
push eax
mov ebx, dword [ebp - 0x54]
test ebx, ebx
je 0x45ed63
push ebx
call fcn.004c8071
add esp, 4
pop eax
mov dword [ebp - 0x54], eax
push VariantClear
push 0
mov eax, dword [ebp - 0x54]
test eax, eax
jne 0x45ed7a
mov eax, 0x59ae18
push eax
push 1
mov ebx, 0x4c9a20
call fcn.004c8083
add esp, 0x10
mov dword [ebp - 0x78], eax
lea eax, [ebp - 0x78]
push eax
call fcn.004082f9
mov dword [ebp - 0x7c], eax
mov ebx, dword [ebp - 0x78]
test ebx, ebx
je 0x45edb8
push ebx
call fcn.004c8071
add esp, 4
lea eax, [ebp - 0x7c]
push eax
call fcn.0040d565
mov dword [ebp - 0x80], eax
mov ebx, dword [ebp - 0x7c]
test ebx, ebx
je 0x45eddd
push ebx
call fcn.004c8071
add esp, 4
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0x58], eax
push VariantClear
push 0
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x45edf9
mov eax, 0x59ae18
push eax
push 1
mov ebx, 0x4c8620
call fcn.004c8083
add esp, 0x10
mov dword [ebp - 0x80], eax
fild dword [ebp - 0x80]
fstp qword [ebp - 0x80]
fld qword [ebp - 0x80]
fdiv qword [0x59aeb0]
fstp qword [ebp - 0x88]
fld qword [ebp - 0x88]
call fcn.004021d5
xor ecx, ecx
push eax
lea eax, [ebp - 0x5c]
mov ebx, eax
pop eax
inc ecx
push ecx
push ebx
mov dword [ebx], ecx
push eax
cmp ecx, eax
jg 0x45f5b7
push 0x80000301
push 0
push 1
push 0x80000301
push 0
push dword [ebp - 0x5c]
push VariantClear
push 0
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x45ee7b
mov eax, 0x59ae18
push eax
push 3
mov ebx, 0x4c8b40
call fcn.004c8083
add esp, 0x28
mov dword [ebp - 0x78], eax
lea eax, [ebp - 0x78]
push eax
call fcn.0040d565
mov dword [ebp - 0x7c], eax
mov ebx, dword [ebp - 0x78]
test ebx, ebx
je 0x45eeb9
push ebx
call fcn.004c8071
add esp, 4
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x60], eax
push 0x80000301
push 0
push 0xfffffffd
push 0x80000301
push 0
push dword [ebp - 0x60]
push 2
mov ebx, 0x4cd4e0
call fcn.004c8083
add esp, 0x1c
mov dword [ebp - 0x78], eax
fild dword [ebp - 0x58]
fstp qword [ebp - 0x80]
fld qword [ebp - 0x80]
fild dword [ebp - 0x78]
fstp qword [ebp - 0x88]
fadd qword [ebp - 0x88]
fstp qword [ebp - 0x90]
fld qword [ebp - 0x90]
call fcn.004021d5
mov dword [ebp - 0x58], eax
push 0x80000301
push 0
push 8
push 0x80000301
push 0
push dword [ebp - 0x60]
push 2
mov ebx, 0x4cd4e0
call fcn.004c8083
add esp, 0x1c
mov dword [ebp - 0x78], eax
fild dword [ebp - 0x58]
fstp qword [ebp - 0x80]
fld qword [ebp - 0x80]
fild dword [ebp - 0x78]
fstp qword [ebp - 0x88]
fmul qword [ebp - 0x88]
fstp qword [ebp - 0x90]
fld qword [ebp - 0x90]
call fcn.004021d5
mov dword [ebp - 0x58], eax
push 0x80000301
push 0
push 0x7df
push 0x80000301
push 0
push dword [ebp - 0x60]
push 2
mov ebx, 0x4c8540
call fcn.004c8083
add esp, 0x1c
mov dword [ebp - 0x78], eax
fild dword [ebp - 0x58]
fstp qword [ebp - 0x80]
fld qword [ebp - 0x80]
fild dword [ebp - 0x78]
fstp qword [ebp - 0x88]
fmul qword [ebp - 0x88]
fstp qword [ebp - 0x90]
fld qword [ebp - 0x90]
fild dword [ebp - 0x30]
fstp qword [ebp - 0x98]
fadd qword [ebp - 0x98]
fstp qword [ebp - 0xa0]
fld qword [ebp - 0xa0]
call fcn.004021d5
mov dword [ebp - 0x58], eax
push VariantClear
push 0
mov eax, dword [ebp - 0x54]
test eax, eax
jne 0x45f019
mov eax, 0x59ae18
push eax
push 1
mov ebx, 0x4c8620
call fcn.004c8083
add esp, 0x10
mov dword [ebp - 0x80], eax
fild dword [ebp - 0x80]
fstp qword [ebp - 0x80]
fld qword [ebp - 0x80]
fdiv qword [0x59aec8]
fstp qword [ebp - 0x88]
fld qword [ebp - 0x88]
call fcn.004021d5
xor ecx, ecx
push eax
lea eax, [ebp - 0x64]
mov ebx, eax
pop eax
inc ecx
push ecx
push ebx
mov dword [ebx], ecx
push eax
cmp ecx, eax
jg 0x45f5ac
push 0x80000301
push 0
push 1
push 0x80000301
push 0
push dword [ebp - 0x64]
push VariantClear
push 0
mov eax, dword [ebp - 0x54]
test eax, eax
jne 0x45f09b
mov eax, 0x59ae18
push eax
push 3
mov ebx, 0x4c8b40
call fcn.004c8083
add esp, 0x28
mov dword [ebp - 0x78], eax
lea eax, [ebp - 0x78]
push eax
call fcn.0040d565
mov dword [ebp - 0x7c], eax
mov ebx, dword [ebp - 0x78]
test ebx, ebx
je 0x45f0d9
push ebx
call fcn.004c8071
add esp, 4
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x60], eax
push 0x80000301
push 0
push 1
push 0x80000301
push 0
push dword [ebp - 0x5c]
push VariantClear
push 0
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x45f10b
mov eax, 0x59ae18
push eax
push 3
mov ebx, 0x4c8b40
call fcn.004c8083
add esp, 0x28
mov dword [ebp - 0x78], eax
lea eax, [ebp - 0x78]
push eax
call fcn.0040d565
mov dword [ebp - 0x7c], eax
mov ebx, dword [ebp - 0x78]
test ebx, ebx
je 0x45f149
push ebx
call fcn.004c8071
add esp, 4
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x68], eax
fild dword [ebp - 0x60]
fstp qword [ebp - 0x7c]
fld qword [ebp - 0x7c]
fmul qword [0x59aec8]
fstp qword [ebp - 0x84]
fld qword [ebp - 0x84]
call fcn.004021d5
push 0x80000301
push 0
push eax
push 0x80000301
push 0
push dword [ebp - 0x60]
push 2
mov ebx, 0x4c8540
call fcn.004c8083
add esp, 0x1c
mov dword [ebp - 0x88], eax
fild dword [ebp - 0x58]
fstp qword [ebp - 0x90]
fld qword [ebp - 0x90]
fild dword [ebp - 0x88]
fstp qword [ebp - 0x98]
fmul qword [ebp - 0x98]
fstp qword [ebp - 0xa0]
fld qword [ebp - 0xa0]
call fcn.004021d5
mov dword [ebp - 0x58], eax
fild dword [ebp - 0x60]
fstp qword [ebp - 0x7c]
fld qword [ebp - 0x7c]
fmul qword [0x59aec0]
fstp qword [ebp - 0x84]
fld qword [ebp - 0x84]
call fcn.004021d5
push 0x80000301
push 0
push eax
push 0x80000301
push 0
push dword [ebp - 0x68]
push 2
mov ebx, 0x4cd4e0
call fcn.004c8083
add esp, 0x1c
mov dword [ebp - 0x88], eax
fild dword [ebp - 0x58]
fstp qword [ebp - 0x90]
fld qword [ebp - 0x90]
fild dword [ebp - 0x88]
fstp qword [ebp - 0x98]
fdiv qword [ebp - 0x98]
fstp qword [ebp - 0xa0]
fld qword [ebp - 0xa0]
call fcn.004021d5
mov dword [ebp - 0x58], eax
push 0x80000301
push 0
push 6
push 0x80000301
push 0
push dword [ebp - 0x68]
push 2
mov ebx, 0x4cd4e0
call fcn.004c8083
add esp, 0x1c
push 0x80000301
push 0
push eax
push 0x80000301
push 0
push dword [ebp - 0x58]
push 2
mov ebx, 0x4cd500
call fcn.004c8083
add esp, 0x1c
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x58]
fstp qword [ebp - 0x84]
fld qword [ebp - 0x84]
fild dword [ebp - 0x7c]
fstp qword [ebp - 0x8c]
fadd qword [ebp - 0x8c]
fild dword [ebp - 0x30]
fstp qword [ebp - 0x94]
fadd qword [ebp - 0x94]
fstp qword [ebp - 0x9c]
fld qword [ebp - 0x9c]
call fcn.004021d5
mov dword [ebp - 0x58], eax
push VariantClear
push 0
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x45f305
mov eax, 0x59ae18
push eax
push 1
mov ebx, 0x4c8620
call fcn.004c8083
add esp, 0x10
mov dword [ebp - 0x80], eax
fild dword [ebp - 0x80]
fstp qword [ebp - 0x80]
fld qword [ebp - 0x80]
fdiv qword [0x59aeb0]
fstp qword [ebp - 0x88]
fld qword [ebp - 0x88]
call fcn.004021d5
xor ecx, ecx
push eax
lea eax, [ebp - 0x6c]
mov ebx, eax
pop eax
inc ecx
push ecx
push ebx
mov dword [ebx], ecx
push eax
cmp ecx, eax
jg 0x45f5a1
push 0x80000301
push 0
push 1
push 0x80000301
push 0
push dword [ebp - 0x6c]
push VariantClear
push 0
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x45f387
mov eax, 0x59ae18
push eax
push 3
mov ebx, 0x4c8b40
call fcn.004c8083
add esp, 0x28
mov dword [ebp - 0x78], eax
lea eax, [ebp - 0x78]
push eax
call fcn.0040d565
mov dword [ebp - 0x7c], eax
mov ebx, dword [ebp - 0x78]
test ebx, ebx
je 0x45f3c5
push ebx
call fcn.004c8071
add esp, 4
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x60], eax
push 0x80000301
push 0
push 0x141
push 0x80000301
push 0
push dword [ebp - 0x60]
push 2
mov ebx, 0x4cd4e0
call fcn.004c8083
add esp, 0x1c
mov dword [ebp - 0x78], eax
fild dword [ebp - 0x58]
fstp qword [ebp - 0x80]
fld qword [ebp - 0x80]
fild dword [ebp - 0x78]
fstp qword [ebp - 0x88]
fadd qword [ebp - 0x88]
fstp qword [ebp - 0x90]
fld qword [ebp - 0x90]
call fcn.004021d5
mov dword [ebp - 0x58], eax
push 0x80000301
push 0
push 0x21
push 0x80000301
push 0
push dword [ebp - 0x60]
push 2
mov ebx, 0x4c8540
call fcn.004c8083
add esp, 0x1c
mov dword [ebp - 0x78], eax
fild dword [ebp - 0x58]
fstp qword [ebp - 0x80]
fld qword [ebp - 0x80]
fild dword [ebp - 0x78]
fstp qword [ebp - 0x88]
fmul qword [ebp - 0x88]
fstp qword [ebp - 0x90]
fld qword [ebp - 0x90]
call fcn.004021d5
mov dword [ebp - 0x58], eax
push 0x80000301
push 0
push 2
push 0x80000301
push 0
push dword [ebp - 0x60]
push 2
mov ebx, 0x4cd4e0
call fcn.004c8083
add esp, 0x1c
push 0x80000301
push 0
push eax
push 0x80000301
push 0
push dword [ebp - 0x58]
push 2
mov ebx, 0x4cd4e0
call fcn.004c8083
add esp, 0x1c
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x58]
fstp qword [ebp - 0x84]
fld qword [ebp - 0x84]
fild dword [ebp - 0x7c]
fstp qword [ebp - 0x8c]
fadd qword [ebp - 0x8c]
fstp qword [ebp - 0x94]
fld qword [ebp - 0x94]
call fcn.004021d5
mov dword [ebp - 0x58], eax
push 0x80000301
push 0
push 2
push 0x80000301
push 0
push dword [ebp - 0x60]
push 2
mov ebx, 0x4c8540
call fcn.004c8083
add esp, 0x1c
mov dword [ebp - 0x78], eax
fild dword [ebp - 0x58]
fstp qword [ebp - 0x80]
fld qword [ebp - 0x80]
fild dword [ebp - 0x78]
fstp qword [ebp - 0x88]
fmul qword [ebp - 0x88]
fstp qword [ebp - 0x90]
fld qword [ebp - 0x90]
fild dword [ebp - 0x30]
fstp qword [ebp - 0x98]
fadd qword [ebp - 0x98]
fstp qword [ebp - 0xa0]
fld qword [ebp - 0xa0]
call fcn.004021d5
mov dword [ebp - 0x58], eax
pop eax
pop ebx
pop ecx
jmp 0x45f350
add esp, 0xc
pop eax
pop ebx
pop ecx
jmp 0x45f064
add esp, 0xc
pop eax
pop ebx
pop ecx
jmp 0x45ee44
add esp, 0xc
push 1
mov eax, 0x59aed0
mov dword [ebp - 0x78], eax
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x50]
push eax
call fcn.0045fabb
mov dword [ebp - 0x7c], eax
mov ebx, dword [ebp - 0x78]
test ebx, ebx
je 0x45f5f3
push ebx
call fcn.004c8071
add esp, 4
lea eax, [ebp - 0x7c]
push eax
call fcn.00407b64
mov dword [ebp - 0x80], eax
mov ebx, dword [ebp - 0x7c]
test ebx, ebx
je 0x45f618
push ebx
call fcn.004c8071
add esp, 4
push 0x80000301
push 0
push dword [ebp - 0x58]
push 1
mov ebx, 0x4c9a20
call fcn.004c8083
add esp, 0x10
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x88], 0
push 0
push dword [ebp - 0x88]
push 1
lea eax, [ebp - 0x84]
push eax
lea eax, [ebp - 0x80]
push eax
call fcn.004105be
mov dword [ebp - 0x8c], eax
mov ebx, dword [ebp - 0x80]
test ebx, ebx
je 0x45f67a
push ebx
call fcn.004c8071
add esp, 4
mov ebx, dword [ebp - 0x84]
test ebx, ebx
je 0x45f68d
push ebx
call fcn.004c8071
add esp, 4
push 0
push 0
push 0
push 0x80000301
push 0
push 3
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x8c]
test eax, eax
jne 0x45f6b5
mov eax, 0x59aea8
push eax
push 3
mov ebx, 0x4c9c50
call fcn.004c8083
add esp, 0x28
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x94], edx
mov dword [ebp - 0x90], ecx
mov ebx, dword [ebp - 0x8c]
test ebx, ebx
je 0x45f6ed
push ebx
call fcn.004c8071
add esp, 4
mov ecx, dword [ebp - 0x90]
mov edx, dword [ebp - 0x94]
mov eax, dword [ebp - 0x98]
cmp ecx, 0x80000101
jne 0x45f70e
and eax, 0xff
jmp 0x45f765
cmp ecx, 0x80000201
jne 0x45f719
cwde
jmp 0x45f765
cmp ecx, 0x80000301
je 0x45f765
cmp ecx, 0x80000401
je 0x45f765
mov dword [ebp - 0xa0], eax
cmp ecx, 0x80000501
je 0x45f74c
cmp ecx, 0x80000601
je 0x45f754
push 2
call fcn.004c808f
add esp, 4
fld dword [ebp - 0xa0]
jmp 0x45f760
mov dword [ebp - 0x9c], edx
fld qword [ebp - 0xa0]
call fcn.004021d5
mov dword [ebp - 0x70], eax
call fcn.004107b0
cmp dword [ebp - 0x70], eax
je 0x45f7a4
push 0x80000301
push 0
push dword [0x5f1ed0]
push 1
mov eax, 6
mov ebx, 0x554dd0
call fcn.004c807d
add esp, 0x10
mov eax, 0x59ae18
jmp 0x45f927
push 0
mov eax, 0x59aed0
mov dword [ebp - 0x78], eax
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x50]
push eax
call fcn.0045fabb
mov dword [ebp - 0x7c], eax
mov ebx, dword [ebp - 0x78]
test ebx, ebx
je 0x45f7dd
push ebx
call fcn.004c8071
add esp, 4
mov eax, dword [ebp - 0x7c]
push eax
mov ebx, dword [ebp - 0x74]
test ebx, ebx
je 0x45f7f4
push ebx
call fcn.004c8071
add esp, 4
pop eax
mov dword [ebp - 0x74], eax
push 0x80000301
push 0
push dword [0x5f1ed0]
push 1
mov eax, 6
mov ebx, 0x554dd0
call fcn.004c807d
add esp, 0x10
push VariantClear
push 0
mov eax, dword [ebp - 0x74]
test eax, eax
jne 0x45f82f
mov eax, 0x59ae18
push eax
push 1
mov ebx, 0x4c8620
call fcn.004c8083
add esp, 0x10
mov dword [ebp - 0x80], eax
fild dword [ebp - 0x80]
fstp qword [ebp - 0x80]
fld qword [ebp - 0x80]
fsub qword [0x5a9529]
fstp qword [ebp - 0x88]
fld qword [ebp - 0x88]
call fcn.004021d5
push 0x80000301
push 0
push eax
push VariantClear
push 0
mov eax, dword [ebp - 0x74]
test eax, eax
jne 0x45f88c
mov eax, 0x59ae18
push eax
push 2
mov ebx, 0x4c8af0
call fcn.004c8083
add esp, 0x1c
mov dword [ebp - 0x8c], eax
lea eax, [ebp - 0x8c]
push eax
call fcn.0041ad59
mov dword [ebp - 0x90], eax
mov ebx, dword [ebp - 0x8c]
test ebx, ebx
je 0x45f8ca
push ebx
call fcn.004c8071
add esp, 4
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x90]
test eax, eax
jne 0x45f8e0
mov eax, 0x59aea8
push eax
push 1
mov ebx, 0x4ca530
call fcn.004c8083
add esp, 0x10
mov dword [ebp - 0x94], eax
mov ebx, dword [ebp - 0x90]
test ebx, ebx
je 0x45f90c
push ebx
call fcn.004c8071
add esp, 4
mov eax, dword [ebp - 0x94]
jmp 0x45f927
push eax
mov ebx, dword [ebp - 0x1c]
test ebx, ebx
je 0x45f938
push ebx
call fcn.004c8071
add esp, 4
mov ebx, dword [ebp - 0x20]
test ebx, ebx
je 0x45f948
push ebx
call fcn.004c8071
add esp, 4
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x45f958
push ebx
call fcn.004c8071
add esp, 4
mov ebx, dword [ebp - 0x34]
test ebx, ebx
je 0x45f968
push ebx
call fcn.004c8071
add esp, 4
mov ebx, dword [ebp - 0x38]
test ebx, ebx
je 0x45f978
push ebx
call fcn.004c8071
add esp, 4
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x45f988
push ebx
call fcn.004c8071
add esp, 4
mov ebx, dword [ebp - 0x44]
test ebx, ebx
je 0x45f998
push ebx
call fcn.004c8071
add esp, 4
mov ebx, dword [ebp - 0x48]
test ebx, ebx
je 0x45f9a8
push ebx
call fcn.004c8071
add esp, 4
mov ebx, dword [ebp - 0x4c]
push ebx
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x45f9bc
push ebx
call fcn.004c8071
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x45f9d0
push ebx
call fcn.004c8071
add esp, 4
pop ebx
call fcn.004c8071
add esp, 4
mov ebx, dword [ebp - 0x50]
test ebx, ebx
je 0x45f9e9
push ebx
call fcn.004c8071
add esp, 4
mov ebx, dword [ebp - 0x54]
test ebx, ebx
je 0x45f9f9
push ebx
call fcn.004c8071
add esp, 4
mov ebx, dword [ebp - 0x74]
test ebx, ebx
je 0x45fa09
push ebx
call fcn.004c8071
add esp, 4
pop eax
mov esp, ebp
pop ebp
ret 4