Function at 0x1000def0
Capabilities:
Contain obfuscated stackstrings
Parse pe header

Disassembly:
push 0xffffffffffffffff
push 0x10085055
mov eax, dword fs:[0]
push eax
sub esp, 0x2e4
mov eax, dword [section..data]
xor eax, esp
mov dword [esp + 0x2e0], eax
push esi
push edi
mov eax, dword [section..data]
xor eax, esp
push eax
lea eax, [esp + 0x2f0]
mov dword fs:[0], eax
mov esi, ecx
mov dword [esp + 0x6c], esi
mov ecx, dword [esi]
cmp byte [ecx], 0
jne 0x1000df3d
xor al, al
jmp 0x100104e1
lea eax, [ecx + 0xcc]
add ecx, 0xc0
push eax
call fcn.1001dcf0
mov eax, dword [esi]
lea ecx, [esp + 0x74]
mov byte [eax + 0x1e9], 0
mov eax, dword [esi]
mov byte [eax + 0x1e8], 0
call fcn.1000d860
mov dword [esp + 0x2f8], 0
lea eax, [esp + 0x74]
mov ecx, dword [esi]
xorps xmm0, xmm0
push eax
add ecx, 0x100
movlpd qword [esp + 0xf0], xmm0
call fcn.10010510
mov edi, dword [esi]
lea ecx, [esp + 0x28c]
xor eax, eax
mov dword [esp + 0x29c], 0
push eax
mov dword [esp + 0x2a4], 0
add edi, 0xb0
push 0x10093b18
mov dword [esp + 0x2a8], 7
mov dword [esp + 0x2a4], 0
mov word [esp + 0x294], ax
call fcn.10003000
mov byte [esp + 0x2f8], 1
xor eax, eax
push 9
mov dword [esp + 0x270], 0
lea ecx, [esp + 0x260]
mov dword [esp + 0x274], 0
push 0x10094150
mov dword [esp + 0x278], 7
mov dword [esp + 0x274], 0
mov word [esp + 0x264], ax
call fcn.10003000
mov byte [esp + 0x2f8], 2
xor eax, eax
push 6
mov dword [esp + 0x288], 0
lea ecx, [esp + 0x278]
mov dword [esp + 0x28c], 0
push 0x10093a40
mov dword [esp + 0x290], 7
mov dword [esp + 0x28c], 0
mov word [esp + 0x27c], ax
call fcn.10003000
mov byte [esp + 0x2f8], 3
lea eax, [esp + 0x28c]
push eax
lea eax, [esp + 0x260]
mov ecx, edi
push eax
lea eax, [esp + 0x27c]
push eax
lea eax, [esp + 0x250]
push eax
call fcn.100222e0
mov byte [esp + 0x2f8], 5
cmp dword [esp + 0x288], 8
mov esi, dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void__]
jb 0x1000e0d8
push dword [esp + 0x274]
call esi
add esp, 4
xor eax, eax
mov dword [esp + 0x288], 7
mov dword [esp + 0x284], 0
mov word [esp + 0x274], ax
mov byte [esp + 0x2f8], 6
cmp dword [esp + 0x270], 8
jb 0x1000e116
push dword [esp + 0x25c]
call esi
add esp, 4
xor eax, eax
mov dword [esp + 0x270], 7
mov dword [esp + 0x26c], 0
mov word [esp + 0x25c], ax
mov byte [esp + 0x2f8], 7
cmp dword [esp + 0x2a0], 8
jb 0x1000e154
push dword [esp + 0x28c]
call esi
add esp, 4
xor eax, eax
mov dword [esp + 0x2a0], 7
mov dword [esp + 0x29c], 0
mov word [esp + 0x28c], ax
cmp dword [esp + 0x254], eax
je 0x1000e20b
mov edx, dword [esp + 0x6c]
lea eax, [esp + 0x28c]
push eax
mov ecx, dword [edx]
call fcn.1000d3e0
mov byte [esp + 0x2f8], 8
cmp dword [esp + 0x29c], 0
jne 0x1000e1cd
cmp dword [esp + 0x258], 8
lea eax, [esp + 0x244]
mov dword [esp + 0x254], 0
cmovae eax, dword [esp + 0x244]
xor ecx, ecx
mov word [eax], cx
mov byte [esp + 0x2f8], 7
cmp dword [esp + 0x2a0], 8
jb 0x1000e1eb
push dword [esp + 0x28c]
call esi
add esp, 4
xor eax, eax
mov dword [esp + 0x2a0], 7
mov dword [esp + 0x29c], 0
mov word [esp + 0x28c], ax
mov eax, dword [edi]
mov dword [esp + 0x60], 0xffffffff
mov al, byte [eax + 8]
test al, al
je 0x1000e223
mov ecx, edi
call fcn.10022a00
mov eax, dword [esp + 0x6c]
mov ecx, dword [eax]
lea eax, [esp + 0x60]
push eax
lea eax, [esp + 0x78]
push eax
lea eax, [esp + 0x24c]
push eax
lea eax, [ecx + 4]
add ecx, 0xc0
push eax
call fcn.1001e3b0
mov ecx, dword [edi]
mov byte [esp + 0x6b], al
mov cl, byte [ecx + 8]
test cl, cl
je 0x1000e2cf
lea eax, [esp + 0x28c]
mov ecx, edi
push eax
call fcn.10022730
mov byte [esp + 0x2f8], 9
cmp dword [esp + 0x29c], 0
je 0x1000e291
push 1
lea eax, [esp + 0x290]
mov ecx, edi
push eax
call fcn.100227b0
mov edx, dword [esp + 0x6c]
mov ecx, dword [edx]
mov byte [ecx], al
mov byte [esp + 0x2f8], 7
cmp dword [esp + 0x2a0], 8
jb 0x1000e2af
push dword [esp + 0x28c]
call esi
add esp, 4
xor eax, eax
mov dword [esp + 0x2a0], 7
mov dword [esp + 0x29c], 0
mov word [esp + 0x28c], ax
mov eax, dword [esp + 0x60]
xor cl, cl
mov byte [esp + 0x73], 0
mov dword [esp + 0x64], ecx
cmp eax, 2
je 0x1000e2f0
cmp eax, 1
je 0x1000e2f0
test eax, eax
jne 0x1000f2bb
mov ecx, dword [esp + 0x6c]
lea eax, [esp + 0x274]
push eax
call fcn.10011650
mov byte [esp + 0x2f8], 0xa
cmp dword [esp + 0x284], 0
je 0x1000e4f6
cmp dword [esp + 0xe4], 0
je 0x1000e4f6
push 0x10093b18
lea ecx, [esp + 0x2d8]
call fcn.10002f90
mov byte [esp + 0x2f8], 0xb
lea ecx, [esp + 0x2bc]
push 0x10094164
call fcn.10002f90
mov byte [esp + 0x2f8], 0xc
lea ecx, [esp + 0x2a4]
push 0x10093a40
call fcn.10002f90
mov byte [esp + 0x2f8], 0xd
lea eax, [esp + 0x2d4]
push eax
lea eax, [esp + 0x2c0]
mov ecx, edi
push eax
lea eax, [esp + 0x2ac]
push eax
lea eax, [esp + 0x298]
push eax
call fcn.100222e0
mov byte [esp + 0x2f8], 0xf
cmp dword [esp + 0x2b8], 8
jb 0x1000e3b5
push dword [esp + 0x2a4]
call esi
add esp, 4
xor eax, eax
mov dword [esp + 0x2b8], 7
mov dword [esp + 0x2b4], 0
mov word [esp + 0x2a4], ax
mov byte [esp + 0x2f8], 0x10
cmp dword [esp + 0x2d0], 8
jb 0x1000e3f3
push dword [esp + 0x2bc]
call esi
add esp, 4
xor eax, eax
mov dword [esp + 0x2d0], 7
mov dword [esp + 0x2cc], 0
mov word [esp + 0x2bc], ax
mov byte [esp + 0x2f8], 0x11
cmp dword [esp + 0x2e8], 8
jb 0x1000e431
push dword [esp + 0x2d4]
call esi
add esp, 4
push dword [esp + 0xe4]
xor eax, eax
mov dword [esp + 0x2ec], 7
cmp dword [esp + 0xec], 8
mov word [esp + 0x2d8], ax
lea eax, [esp + 0xd8]
cmovae eax, dword [esp + 0xd8]
push eax
push dword [esp + 0x2a4]
mov dword [esp + 0x2f0], 0
push ecx
lea ecx, [esp + 0x29c]
call fcn.100035f0
test eax, eax
je 0x1000e4b8
mov ecx, dword [esp + 0x6c]
call fcn.10011340
cmp dword [esp + 0x288], 8
lea eax, [esp + 0x274]
mov dword [esp + 0x284], 0
cmovae eax, dword [esp + 0x274]
xor ecx, ecx
mov word [eax], cx
mov byte [esp + 0x2f8], 0xa
cmp dword [esp + 0x2a0], 8
jb 0x1000e4d6
push dword [esp + 0x28c]
call esi
add esp, 4
xor eax, eax
mov dword [esp + 0x2a0], 7
mov dword [esp + 0x29c], 0
mov word [esp + 0x28c], ax
cmp dword [esp + 0x60], 1
jne 0x1000e6f0
cmp dword [esp + 0xe4], 0
je 0x1000e6f0
push 0x10093b18
lea ecx, [esp + 0x2a8]
call fcn.10002f90
mov byte [esp + 0x2f8], 0x12
lea ecx, [esp + 0x2bc]
push 0x10094164
call fcn.10002f90
mov byte [esp + 0x2f8], 0x13
lea ecx, [esp + 0x2d4]
push 0x10093a40
call fcn.10002f90
mov byte [esp + 0x2f8], 0x14
lea eax, [esp + 0x2a4]
push eax
lea eax, [esp + 0x2c0]
mov ecx, edi
push eax
lea eax, [esp + 0x2dc]
push eax
lea eax, [esp + 0x298]
push eax
call fcn.100222e0
mov byte [esp + 0x2f8], 0x16
cmp dword [esp + 0x2e8], 8
jb 0x1000e59f
push dword [esp + 0x2d4]
call esi
add esp, 4
xor eax, eax
mov dword [esp + 0x2e8], 7
mov dword [esp + 0x2e4], 0
mov word [esp + 0x2d4], ax
mov byte [esp + 0x2f8], 0x17
cmp dword [esp + 0x2d0], 8
jb 0x1000e5dd
push dword [esp + 0x2bc]
call esi
add esp, 4
xor eax, eax
mov dword [esp + 0x2d0], 7
mov dword [esp + 0x2cc], 0
mov word [esp + 0x2bc], ax
mov byte [esp + 0x2f8], 0x18
cmp dword [esp + 0x2b8], 8
jb 0x1000e61b
push dword [esp + 0x2a4]
call esi
add esp, 4
xor eax, eax
mov dword [esp + 0x2b8], 7
mov word [esp + 0x2a4], ax
mov eax, dword [esp + 0x29c]
mov dword [esp + 0x2b4], 0
cmp eax, dword [esp + 0xe4]
jne 0x1000e682
cmp dword [esp + 0xe8], 8
lea edx, [esp + 0xd4]
lea ecx, [esp + 0x28c]
cmovae edx, dword [esp + 0xd4]
cmp dword [esp + 0x2a0], 8
cmovae ecx, dword [esp + 0x28c]
call fcn.1000a200
test al, al
jne 0x1000e6b2
mov ecx, dword [esp + 0x6c]
call fcn.10011340
cmp dword [esp + 0x288], 8
lea eax, [esp + 0x274]
mov dword [esp + 0x284], 0
cmovae eax, dword [esp + 0x274]
xor ecx, ecx
mov word [eax], cx
mov byte [esp + 0x2f8], 0xa
cmp dword [esp + 0x2a0], 8
jb 0x1000e6d0
push dword [esp + 0x28c]
call esi
add esp, 4
xor eax, eax
mov dword [esp + 0x2a0], 7
mov dword [esp + 0x29c], 0
mov word [esp + 0x28c], ax
lea eax, [esp + 0x25c]
push eax
mov eax, dword [esp + 0x70]
mov ecx, dword [eax]
call fcn.1000d3e0
mov byte [esp + 0x2f8], 0x19
cmp dword [esp + 0x26c], 0
jne 0x1000e722
cmp dword [esp + 0x284], 0
jmp 0x1000f22c
push 0x10094178
lea ecx, [esp + 0x2c0]
call fcn.10002f90
mov byte [esp + 0x2f8], 0x1a
lea ecx, [esp + 0x2d4]
push 0x10093a40
call fcn.10002f90
mov byte [esp + 0x2f8], 0x1b
sub esp, 8
lea eax, [esp + 0x2c4]
mov ecx, edi
push eax
lea eax, [esp + 0x2e0]
push eax
call fcn.10022520
mov dword [esp + 0x2c], eax
mov dword [esp + 0x28], edx
mov byte [esp + 0x2f8], 0x1a
cmp dword [esp + 0x2e8], 8
jb 0x1000e794
push dword [esp + 0x2d4]
call esi
add esp, 4
xor eax, eax
mov dword [esp + 0x2e8], 7
mov dword [esp + 0x2e4], 0
mov word [esp + 0x2d4], ax
mov byte [esp + 0x2f8], 0x19
cmp dword [esp + 0x2d0], 8
jb 0x1000e7d2
push dword [esp + 0x2bc]
call esi
add esp, 4
xor eax, eax
mov dword [esp + 0x2d0], 7
lea ecx, [esp + 0x25c]
mov dword [esp + 0x2cc], 0
mov word [esp + 0x2bc], ax
call fcn.1000be70
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x2c]
test ecx, ecx
jne 0x1000e816
test eax, eax
je 0x1000f22e
cmp edx, ecx
ja 0x1000f22e
jb 0x1000e82a
cmp dword [esp + 0x24], eax
jae 0x1000f22e
lea ecx, [esp + 0x15c]
call fcn.1000d860
mov byte [esp + 0x2f8], 0x1c
lea ecx, [esp + 0x2a4]
push 0x10093b18
call fcn.10002f90
mov byte [esp + 0x2f8], 0x1d
lea ecx, [esp + 0x2bc]
push str.download_url
call fcn.10002f90
mov byte [esp + 0x2f8], 0x1e
lea ecx, [esp + 0x2d4]
push 0x10093a40
call fcn.10002f90
mov byte [esp + 0x2f8], 0x1f
lea eax, [esp + 0x2a4]
push eax
lea eax, [esp + 0x2c0]
mov ecx, edi
push eax
lea eax, [esp + 0x2dc]
push eax
lea eax, [esp + 0x54]
push eax
call fcn.100222e0
mov byte [esp + 0x2f8], 0x20
lea ecx, [esp + 0x174]
push eax
call fcn.10004990
mov byte [esp + 0x2f8], 0x1f
lea ecx, [esp + 0x48]
call fcn.10002a80
mov byte [esp + 0x2f8], 0x1e
lea ecx, [esp + 0x2d4]
call fcn.10002a80
mov byte [esp + 0x2f8], 0x1d
lea ecx, [esp + 0x2bc]
call fcn.10002a80
mov byte [esp + 0x2f8], 0x1c
lea ecx, [esp + 0x2a4]
call fcn.10002a80
push 0x10093b18
lea ecx, [esp + 0x2a8]
call fcn.10002f90
mov byte [esp + 0x2f8], 0x21
lea ecx, [esp + 0x2bc]
push str.file_name
call fcn.10002f90
mov byte [esp + 0x2f8], 0x22
lea ecx, [esp + 0x2d4]
push 0x10093a40
call fcn.10002f90
mov byte [esp + 0x2f8], 0x23
lea eax, [esp + 0x2a4]
push eax
lea eax, [esp + 0x2c0]
mov ecx, edi
push eax
lea eax, [esp + 0x2dc]
push eax
lea eax, [esp + 0x54]
push eax
call fcn.100222e0
mov byte [esp + 0x2f8], 0x24
lea ecx, [esp + 0x18c]
push eax
call fcn.10004990
mov byte [esp + 0x2f8], 0x23
lea ecx, [esp + 0x48]
call fcn.10002a80
mov byte [esp + 0x2f8], 0x22
lea ecx, [esp + 0x2d4]
call fcn.10002a80
mov byte [esp + 0x2f8], 0x21
lea ecx, [esp + 0x2bc]
call fcn.10002a80
mov byte [esp + 0x2f8], 0x1c
lea ecx, [esp + 0x2a4]
call fcn.10002a80
push 0x10093b18
lea ecx, [esp + 0x2a8]
call fcn.10002f90
mov byte [esp + 0x2f8], 0x25
lea ecx, [esp + 0x2bc]
push 0x10094164
call fcn.10002f90
mov byte [esp + 0x2f8], 0x26
lea ecx, [esp + 0x2d4]
push 0x10093a40
call fcn.10002f90
mov byte [esp + 0x2f8], 0x27
lea eax, [esp + 0x2a4]
push eax
lea eax, [esp + 0x2c0]
mov ecx, edi
push eax
lea eax, [esp + 0x2dc]
push eax
lea eax, [esp + 0x54]
push eax
call fcn.100222e0
mov byte [esp + 0x2f8], 0x28
lea ecx, [esp + 0x1bc]
push eax
call fcn.10004990
mov byte [esp + 0x2f8], 0x27
lea ecx, [esp + 0x48]
call fcn.10002a80
mov byte [esp + 0x2f8], 0x26
lea ecx, [esp + 0x2d4]
call fcn.10002a80
mov byte [esp + 0x2f8], 0x25
lea ecx, [esp + 0x2bc]
call fcn.10002a80
mov byte [esp + 0x2f8], 0x1c
lea ecx, [esp + 0x2a4]
call fcn.10002a80
push 0x10093b18
lea ecx, [esp + 0x2a8]
call fcn.10002f90
mov byte [esp + 0x2f8], 0x29
lea ecx, [esp + 0x2bc]
push 0x100941bc
call fcn.10002f90
mov byte [esp + 0x2f8], 0x2a
lea ecx, [esp + 0x2d4]
push 0x10093a40
call fcn.10002f90
mov byte [esp + 0x2f8], 0x2b
lea eax, [esp + 0x2a4]
push eax
lea eax, [esp + 0x2c0]
mov ecx, edi
push eax
lea eax, [esp + 0x2dc]
push eax
lea eax, [esp + 0x54]
push eax
call fcn.100222e0
mov byte [esp + 0x2f8], 0x2c
lea ecx, [esp + 0x1a4]
push eax
call fcn.10004990
mov byte [esp + 0x2f8], 0x2b
lea ecx, [esp + 0x48]
call fcn.10002a80
mov byte [esp + 0x2f8], 0x2a
lea ecx, [esp + 0x2d4]
call fcn.10002a80
mov byte [esp + 0x2f8], 0x29
lea ecx, [esp + 0x2bc]
call fcn.10002a80
mov byte [esp + 0x2f8], 0x1c
lea ecx, [esp + 0x2a4]
call fcn.10002a80
push 0x10093b18
lea ecx, [esp + 0x2a8]
call fcn.10002f90
mov byte [esp + 0x2f8], 0x2d
lea ecx, [esp + 0x2bc]
push 0x10094150
call fcn.10002f90
mov byte [esp + 0x2f8], 0x2e
lea ecx, [esp + 0x2d4]
push 0x10093a40
call fcn.10002f90
mov byte [esp + 0x2f8], 0x2f
lea eax, [esp + 0x2a4]
push eax
lea eax, [esp + 0x2c0]
mov ecx, edi
push eax
lea eax, [esp + 0x2dc]
push eax
lea eax, [esp + 0x54]
push eax
call fcn.100222e0
mov byte [esp + 0x2f8], 0x30
lea ecx, [esp + 0x1f4]
push eax
call fcn.10004990
mov byte [esp + 0x2f8], 0x2f
lea ecx, [esp + 0x48]
call fcn.10002a80
mov byte [esp + 0x2f8], 0x2e
lea ecx, [esp + 0x2d4]
call fcn.10002a80
mov byte [esp + 0x2f8], 0x2d
lea ecx, [esp + 0x2bc]
call fcn.10002a80
mov byte [esp + 0x2f8], 0x1c
lea ecx, [esp + 0x2a4]
call fcn.10002a80
push 0x10093b18
lea ecx, [esp + 0x2a8]
call fcn.10002f90
mov byte [esp + 0x2f8], 0x31
lea ecx, [esp + 0x2bc]
push 0x100941d8
call fcn.10002f90
mov byte [esp + 0x2f8], 0x32
lea ecx, [esp + 0x2d4]
push 0x10093a40
call fcn.10002f90
mov byte [esp + 0x2f8], 0x33
lea eax, [esp + 0x2a4]
push eax
lea eax, [esp + 0x2c0]
mov ecx, edi
push eax
lea eax, [esp + 0x2dc]
push eax
lea eax, [esp + 0x54]
push eax
call fcn.100222e0
mov byte [esp + 0x2f8], 0x34
lea ecx, [esp + 0x1dc]
push eax
call fcn.10004990
mov byte [esp + 0x2f8], 0x33
lea ecx, [esp + 0x48]
call fcn.10002a80
mov byte [esp + 0x2f8], 0x32
lea ecx, [esp + 0x2d4]
call fcn.10002a80
mov byte [esp + 0x2f8], 0x31
lea ecx, [esp + 0x2bc]
call fcn.10002a80
mov byte [esp + 0x2f8], 0x1c
lea ecx, [esp + 0x2a4]
call fcn.10002a80
push 0x10093b18
lea ecx, [esp + 0x2a8]
call fcn.10002f90
mov byte [esp + 0x2f8], 0x35
lea ecx, [esp + 0x2bc]
push str.server_version
call fcn.10002f90
mov byte [esp + 0x2f8], 0x36
lea ecx, [esp + 0x2d4]
push 0x10093a40
call fcn.10002f90
mov byte [esp + 0x2f8], 0x37
lea eax, [esp + 0x2a4]
push eax
lea eax, [esp + 0x2c0]
mov ecx, edi
push eax
lea eax, [esp + 0x2dc]
push eax
lea eax, [esp + 0x54]
push eax
call fcn.100222e0
mov byte [esp + 0x2f8], 0x38
lea ecx, [esp + 0x15c]
push eax
call fcn.10004990
mov byte [esp + 0x2f8], 0x37
lea ecx, [esp + 0x48]
call fcn.10002a80
mov byte [esp + 0x2f8], 0x36
lea ecx, [esp + 0x2d4]
call fcn.10002a80
mov byte [esp + 0x2f8], 0x35
lea ecx, [esp + 0x2bc]
call fcn.10002a80
mov byte [esp + 0x2f8], 0x1c
lea ecx, [esp + 0x2a4]
call fcn.10002a80
push 0x10094178
lea ecx, [esp + 0x2c0]
call fcn.10002f90
mov byte [esp + 0x2f8], 0x39
lea ecx, [esp + 0x2d4]
push 0x10093a40
call fcn.10002f90
mov byte [esp + 0x2f8], 0x3a
sub esp, 8
lea eax, [esp + 0x2c4]
mov ecx, edi
push eax
lea eax, [esp + 0x2e0]
push eax
call fcn.10022520
mov dword [esp + 0x1d4], eax
mov dword [esp + 0x1d8], edx
mov byte [esp + 0x2f8], 0x39
lea ecx, [esp + 0x2d4]
call fcn.10002a80
mov byte [esp + 0x2f8], 0x1c
lea ecx, [esp + 0x2bc]
call fcn.10002a80
push 0x10093b18
lea ecx, [esp + 0x2a8]
call fcn.10002f90
mov byte [esp + 0x2f8], 0x3b
lea ecx, [esp + 0x2bc]
push 0x100941ec
call fcn.10002f90
mov byte [esp + 0x2f8], 0x3c
lea ecx, [esp + 0x2d4]
push 0x10093a40
call fcn.10002f90
mov byte [esp + 0x2f8], 0x3d
lea eax, [esp + 0x2a4]
push eax
lea eax, [esp + 0x2c0]
mov ecx, edi
push eax
lea eax, [esp + 0x2dc]
push eax
lea eax, [esp + 0x54]
push eax
call fcn.100222e0
mov byte [esp + 0x2f8], 0x3e
lea ecx, [esp + 0x20c]
push eax
call fcn.10004990
mov byte [esp + 0x2f8], 0x3d
lea ecx, [esp + 0x48]
call fcn.10002a80
mov byte [esp + 0x2f8], 0x3c
lea ecx, [esp + 0x2d4]
call fcn.10002a80
mov byte [esp + 0x2f8], 0x3b
lea ecx, [esp + 0x2bc]
call fcn.10002a80
mov byte [esp + 0x2f8], 0x1c
lea ecx, [esp + 0x2a4]
call fcn.10002a80
push 0x10093b18
lea ecx, [esp + 0x2a8]
call fcn.10002f90
mov byte [esp + 0x2f8], 0x3f
lea ecx, [esp + 0x2bc]
push 0x10094200
call fcn.10002f90
mov byte [esp + 0x2f8], 0x40
lea ecx, [esp + 0x2d4]
push 0x10093a40
call fcn.10002f90
mov byte [esp + 0x2f8], 0x41
lea eax, [esp + 0x2a4]
push eax
lea eax, [esp + 0x2c0]
mov ecx, edi
push eax
lea eax, [esp + 0x2dc]
push eax
lea eax, [esp + 0x54]
push eax
call fcn.100222e0
mov byte [esp + 0x2f8], 0x42
lea ecx, [esp + 0x224]
push eax
call fcn.10004990
mov byte [esp + 0x2f8], 0x41
lea ecx, [esp + 0x48]
call fcn.10002a80
mov byte [esp + 0x2f8], 0x40
lea ecx, [esp + 0x2d4]
call fcn.10002a80
mov byte [esp + 0x2f8], 0x3f
lea ecx, [esp + 0x2bc]
call fcn.10002a80
mov byte [esp + 0x2f8], 0x1c
lea ecx, [esp + 0x2a4]
call fcn.10002a80
cmp dword [esp + 0x184], 0
je 0x1000f213
cmp dword [esp + 0x19c], 0
je 0x1000f213
cmp dword [esp + 0x1cc], 0
je 0x1000f213
cmp dword [esp + 0x1b4], 0
je 0x1000f213
cmp dword [esp + 0x204], 0
je 0x1000f213
cmp dword [esp + 0x1ec], 0
je 0x1000f213
cmp dword [esp + 0x16c], 0
je 0x1000f213
cmp dword [esp + 0x1d8], 0
ja 0x1000f093
cmp dword [esp + 0x1d4], 0
jbe 0x1000f213
push 0x10093b18
lea ecx, [esp + 0x290]
call fcn.10002f90
mov byte [esp + 0x2f8], 0x43
lea ecx, [esp + 0x2a4]
push str.temp_file_md5
call fcn.10002f90
mov byte [esp + 0x2f8], 0x44
lea ecx, [esp + 0x2d4]
push 0x10093a40
call fcn.10002f90
mov byte [esp + 0x2f8], 0x45
lea eax, [esp + 0x28c]
push eax
lea eax, [esp + 0x2a8]
mov ecx, edi
push eax
lea eax, [esp + 0x2dc]
push eax
lea eax, [esp + 0x2c8]
push eax
call fcn.100222e0
mov byte [esp + 0x2f8], 0x47
lea ecx, [esp + 0x2d4]
call fcn.10002a80
mov byte [esp + 0x2f8], 0x48
lea ecx, [esp + 0x2a4]
call fcn.10002a80
mov byte [esp + 0x2f8], 0x49
lea ecx, [esp + 0x28c]
call fcn.10002a80
cmp dword [esp + 0x2cc], 0
je 0x1000f1fa
xorps xmm0, xmm0
lea ecx, [esp + 0x2d4]
movdqu xmmword [esp + 0x2d4], xmm0
movq qword [esp + 0x2e4], xmm0
call fcn.1001a1d0
mov byte [esp + 0x2f8], 0x4a
lea eax, [esp + 0x25c]
push eax
lea ecx, [esp + 0x2d8]
call fcn.10019c90
lea eax, [esp + 0x2a4]
push eax
lea ecx, [esp + 0x2d8]
call fcn.1001a380
mov byte [esp + 0x2f8], 0x4b
lea edx, [esp + 0x2bc]
lea ecx, [esp + 0x2a4]
call fcn.1000a1e0
mov ecx, dword [esp + 0x64]
test al, al
movzx ecx, cl
mov edx, 1
cmovne ecx, edx
mov dword [esp + 0x64], ecx
mov byte [esp + 0x2f8], 0x4a
lea ecx, [esp + 0x2a4]
call fcn.10002a80
mov byte [esp + 0x2f8], 0x49
lea ecx, [esp + 0x2d4]
call fcn.10009920
jmp 0x1000f1ff
mov byte [esp + 0x64], 1
mov byte [esp + 0x2f8], 0x1c
lea ecx, [esp + 0x2bc]
call fcn.10002a80
mov byte [esp + 0x2f8], 0x19
lea ecx, [esp + 0x15c]
call fcn.10004310
cmp byte [esp + 0x64], 0
jne 0x1000f237
mov ecx, dword [esp + 0x6c]
call fcn.10011340
mov byte [esp + 0x2f8], 0xa
cmp dword [esp + 0x270], 8
jb 0x1000f255
push dword [esp + 0x25c]
call esi
add esp, 4
xor eax, eax
mov dword [esp + 0x270], 7
mov dword [esp + 0x26c], 0
mov word [esp + 0x25c], ax
mov byte [esp + 0x2f8], 7
cmp dword [esp + 0x288], 8
jb 0x1000f293
push dword [esp + 0x274]
call esi
add esp, 4
mov ecx, dword [esp + 0x64]
xor eax, eax
mov word [esp + 0x274], ax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x288], 7
mov dword [esp + 0x284], 0
cmp eax, 1
jne 0x1000fbd2
mov byte [esp + 0x73], al
lea eax, [esp + 0x74]
push eax
mov eax, dword [esp + 0x70]
mov ecx, dword [eax]
add ecx, 0x100
call fcn.10010510
mov edx, dword [esp + 0x6c]
mov cl, byte [esp + 0x6b]
push str.download_url
mov eax, dword [edx]
mov byte [eax + 0x1e8], cl
lea ecx, [esp + 0x2c0]
call fcn.10002f90
mov byte [esp + 0x2f8], 0x4c
lea ecx, [esp + 0x2d4]
push 0x10093a40
call fcn.10002f90
mov byte [esp + 0x2f8], 0x4d
lea eax, [esp + 0x8c]
push eax
lea eax, [esp + 0x2c0]
mov ecx, edi
push eax
lea eax, [esp + 0x2dc]
push eax
call fcn.10022450
mov byte [esp + 0x2f8], 0x4c
cmp dword [esp + 0x2e8], 8
jb 0x1000f35d
push dword [esp + 0x2d4]
call esi
add esp, 4
xor eax, eax
mov dword [esp + 0x2e8], 7
mov dword [esp + 0x2e4], 0
mov word [esp + 0x2d4], ax
mov byte [esp + 0x2f8], 7
cmp dword [esp + 0x2d0], 8
jb 0x1000f39b
push dword [esp + 0x2bc]
call esi
add esp, 4
xor eax, eax
mov dword [esp + 0x2d0], 7
push str.file_name
lea ecx, [esp + 0x2c0]
mov dword [esp + 0x2d0], 0
mov word [esp + 0x2c0], ax
call fcn.10002f90
mov byte [esp + 0x2f8], 0x4e
lea ecx, [esp + 0x2d4]
push 0x10093a40
call fcn.10002f90
mov byte [esp + 0x2f8], 0x4f
lea eax, [esp + 0xa4]
push eax
lea eax, [esp + 0x2c0]
mov ecx, edi
push eax
lea eax, [esp + 0x2dc]
push eax
call fcn.10022450
mov byte [esp + 0x2f8], 0x4e
cmp dword [esp + 0x2e8], 8
jb 0x1000f42a
push dword [esp + 0x2d4]
call esi
add esp, 4
xor eax, eax
mov dword [esp + 0x2e8], 7
mov dword [esp + 0x2e4], 0
mov word [esp + 0x2d4], ax
mov byte [esp + 0x2f8], 7
cmp dword [esp + 0x2d0], 8
jb 0x1000f468
push dword [esp + 0x2bc]
call esi
add esp, 4
xor eax, eax
mov dword [esp + 0x2d0], 7
push 0x10094164
lea ecx, [esp + 0x2c0]
mov dword [esp + 0x2d0], 0
mov word [esp + 0x2c0], ax
call fcn.10002f90
mov byte [esp + 0x2f8], 0x50
lea ecx, [esp + 0x2d4]
push 0x10093a40
call fcn.10002f90
mov byte [esp + 0x2f8], 0x51
lea eax, [esp + 0xd4]
push eax
lea eax, [esp + 0x2c0]
mov ecx, edi
push eax
lea eax, [esp + 0x2dc]
push eax
call fcn.10022450
mov byte [esp + 0x2f8], 0x50
cmp dword [esp + 0x2e8], 8
jb 0x1000f4f7
push dword [esp + 0x2d4]
call esi
add esp, 4
xor eax, eax
mov dword [esp + 0x2e8], 7
mov dword [esp + 0x2e4], 0
mov word [esp + 0x2d4], ax
mov byte [esp + 0x2f8], 7
cmp dword [esp + 0x2d0], 8
jb 0x1000f535
push dword [esp + 0x2bc]
call esi
add esp, 4
xor eax, eax
mov dword [esp + 0x2d0], 7
push 0x100941bc
lea ecx, [esp + 0x2c0]
mov dword [esp + 0x2d0], 0
mov word [esp + 0x2c0], ax
call fcn.10002f90
mov byte [esp + 0x2f8], 0x52
lea ecx, [esp + 0x2d4]
push 0x10093a40
call fcn.10002f90
mov byte [esp + 0x2f8], 0x53
lea eax, [esp + 0xf4]
push eax
lea eax, [esp + 0x2c0]
mov ecx, edi
push eax
lea eax, [esp + 0x2dc]
push eax
call fcn.10022450
mov byte [esp + 0x2f8], 0x52
cmp dword [esp + 0x2e8], 8
jb 0x1000f5c4
push dword [esp + 0x2d4]
call esi
add esp, 4
xor eax, eax
mov dword [esp + 0x2e8], 7
mov dword [esp + 0x2e4], 0
mov word [esp + 0x2d4], ax
mov byte [esp + 0x2f8], 7
cmp dword [esp + 0x2d0], 8
jb 0x1000f602
push dword [esp + 0x2bc]
call esi
add esp, 4
xor eax, eax
mov dword [esp + 0x2d0], 7
push 0x10094150
lea ecx, [esp + 0x2c0]
mov dword [esp + 0x2d0], 0
mov word [esp + 0x2c0], ax
call fcn.10002f90
mov byte [esp + 0x2f8], 0x54
lea ecx, [esp + 0x2d4]
push 0x10093a40
call fcn.10002f90
mov byte [esp + 0x2f8], 0x55
lea eax, [esp + 0x10c]
push eax
lea eax, [esp + 0x2c0]
mov ecx, edi
push eax
lea eax, [esp + 0x2dc]
push eax
call fcn.10022450
mov byte [esp + 0x2f8], 0x54
cmp dword [esp + 0x2e8], 8
jb 0x1000f691
push dword [esp + 0x2d4]
call esi
add esp, 4
xor eax, eax
mov dword [esp + 0x2e8], 7
mov dword [esp + 0x2e4], 0
mov word [esp + 0x2d4], ax
mov byte [esp + 0x2f8], 7
cmp dword [esp + 0x2d0], 8
jb 0x1000f6cf
push dword [esp + 0x2bc]
call esi
add esp, 4
xor eax, eax
mov dword [esp + 0x2d0], 7
push 0x100941d8
lea ecx, [esp + 0x2c0]
mov dword [esp + 0x2d0], 0
mov word [esp + 0x2c0], ax
call fcn.10002f90
mov byte [esp + 0x2f8], 0x56
lea ecx, [esp + 0x2d4]
push 0x10093a40
call fcn.10002f90
mov byte [esp + 0x2f8], 0x57
lea eax, [esp + 0xf4]
push eax
lea eax, [esp + 0x2c0]
mov ecx, edi
push eax
lea eax, [esp + 0x2dc]
push eax
call fcn.10022450
mov byte [esp + 0x2f8], 0x56
cmp dword [esp + 0x2e8], 8
jb 0x1000f75e
push dword [esp + 0x2d4]
call esi
add esp, 4
xor eax, eax
mov dword [esp + 0x2e8], 7
mov dword [esp + 0x2e4], 0
mov word [esp + 0x2d4], ax
mov byte [esp + 0x2f8], 7
cmp dword [esp + 0x2d0], 8
jb 0x1000f79c
push dword [esp + 0x2bc]
call esi
add esp, 4
xor eax, eax
mov dword [esp + 0x2d0], 7
push str.server_version
lea ecx, [esp + 0x2c0]
mov dword [esp + 0x2d0], 0
mov word [esp + 0x2c0], ax
call fcn.10002f90
mov byte [esp + 0x2f8], 0x58
lea ecx, [esp + 0x2d4]
push 0x10093a40
call fcn.10002f90
mov byte [esp + 0x2f8], 0x59
lea eax, [esp + 0x74]
push eax
lea eax, [esp + 0x2c0]
mov ecx, edi
push eax
lea eax, [esp + 0x2dc]
push eax
call fcn.10022450
mov byte [esp + 0x2f8], 0x58
cmp dword [esp + 0x2e8], 8
jb 0x1000f828
push dword [esp + 0x2d4]
call esi
add esp, 4
xor eax, eax
mov dword [esp + 0x2e8], 7
mov dword [esp + 0x2e4], 0
mov word [esp + 0x2d4], ax
mov byte [esp + 0x2f8], 7
cmp dword [esp + 0x2d0], 8
jb 0x1000f866
push dword [esp + 0x2bc]
call esi
add esp, 4
xor eax, eax
mov dword [esp + 0x2d0], 7
push 0x10094178
lea ecx, [esp + 0x2c0]
mov dword [esp + 0x2d0], 0
mov word [esp + 0x2c0], ax
call fcn.10002f90
mov byte [esp + 0x2f8], 0x5a
lea ecx, [esp + 0x2d4]
push 0x10093a40
call fcn.10002f90
mov byte [esp + 0x2f8], 0x5b
lea eax, [esp + 0x2bc]
push dword [esp + 0xf0]
mov ecx, edi
push dword [esp + 0xf0]
push eax
lea eax, [esp + 0x2e0]
push eax
call fcn.10022670
mov byte [esp + 0x2f8], 0x5a
cmp dword [esp + 0x2e8], 8
jb 0x1000f8fb
push dword [esp + 0x2d4]
call esi
add esp, 4
xor eax, eax
mov dword [esp + 0x2e8], 7
mov dword [esp + 0x2e4], 0
mov word [esp + 0x2d4], ax
mov byte [esp + 0x2f8], 7
cmp dword [esp + 0x2d0], 8
jb 0x1000f939
push dword [esp + 0x2bc]
call esi
add esp, 4
xor eax, eax
mov dword [esp + 0x2d0], 7
push 0x100941ec
lea ecx, [esp + 0x2c0]
mov dword [esp + 0x2d0], 0
mov word [esp + 0x2c0], ax
call fcn.10002f90
mov byte [esp + 0x2f8], 0x5c
lea ecx, [esp + 0x2d4]
push 0x10093a40
call fcn.10002f90
mov byte [esp + 0x2f8], 0x5d
lea eax, [esp + 0x124]
push eax
lea eax, [esp + 0x2c0]
mov ecx, edi
push eax
lea eax, [esp + 0x2dc]
push eax
call fcn.10022450
mov byte [esp + 0x2f8], 0x5c
cmp dword [esp + 0x2e8], 8
jb 0x1000f9c8
push dword [esp + 0x2d4]
call esi
add esp, 4
xor eax, eax
mov dword [esp + 0x2e8], 7
mov dword [esp + 0x2e4], 0
mov word [esp + 0x2d4], ax
mov byte [esp + 0x2f8], 7
cmp dword [esp + 0x2d0], 8
jb 0x1000fa06
push dword [esp + 0x2bc]
call esi
add esp, 4
xor eax, eax
mov dword [esp + 0x2d0], 7
push 0x10094200
lea ecx, [esp + 0x2c0]
mov dword [esp + 0x2d0], 0
mov word [esp + 0x2c0], ax
call fcn.10002f90
mov byte [esp + 0x2f8], 0x5e
lea ecx, [esp + 0x2d4]
push 0x10093a40
call fcn.10002f90
mov byte [esp + 0x2f8], 0x5f
lea eax, [esp + 0x13c]
push eax
lea eax, [esp + 0x2c0]
mov ecx, edi
push eax
lea eax, [esp + 0x2dc]
push eax
call fcn.10022450
mov byte [esp + 0x2f8], 0x5e
cmp dword [esp + 0x2e8], 8
jb 0x1000fa95
push dword [esp + 0x2d4]
call esi
add esp, 4
xor eax, eax
mov dword [esp + 0x2e8], 7
mov dword [esp + 0x2e4], 0
mov word [esp + 0x2d4], ax
mov byte [esp + 0x2f8], 7
cmp dword [esp + 0x2d0], 8
jb 0x1000fad3
push dword [esp + 0x2bc]
call esi
add esp, 4
xor eax, eax
mov dword [esp + 0x2d0], 7
push str.file_limit_speed
lea ecx, [esp + 0x2c0]
mov dword [esp + 0x2d0], 0
mov word [esp + 0x2c0], ax
call fcn.10002f90
mov byte [esp + 0x2f8], 0x60
lea ecx, [esp + 0x2d4]
push 0x10093a40
call fcn.10002f90
mov byte [esp + 0x2f8], 0x61
lea eax, [esp + 0x2bc]
push dword [esp + 0x158]
mov ecx, edi
push dword [esp + 0x158]
push eax
lea eax, [esp + 0x2e0]
push eax
call fcn.10022670
mov byte [esp + 0x2f8], 0x60
cmp dword [esp + 0x2e8], 8
jb 0x1000fb68
push dword [esp + 0x2d4]
call esi
add esp, 4
xor eax, eax
mov dword [esp + 0x2e8], 7
mov dword [esp + 0x2e4], 0
mov word [esp + 0x2d4], ax
mov byte [esp + 0x2f8], 7
cmp dword [esp + 0x2d0], 8
jb 0x1000fba6
push dword [esp + 0x2bc]
call esi
add esp, 4
xor eax, eax
mov dword [esp + 0x2d0], 7
mov ecx, edi
mov dword [esp + 0x2cc], 0
mov word [esp + 0x2bc], ax
call fcn.10022a00
jmp 0x1001048b
test eax, eax
je 0x1000fbf2
cmp eax, 2
je 0x1000fbf2
mov eax, dword [esp + 0x6c]
mov byte [esp + 0x73], 0
mov eax, dword [eax]
mov byte [eax + 0x1e9], 1
jmp 0x1001048b
test cl, cl
je 0x1001048b
lea ecx, [esp + 0x15c]
call fcn.1000d860
mov byte [esp + 0x2f8], 0x62
lea ecx, [esp + 0x2a4]
push 0x10093b18
call fcn.10002f90
mov byte [esp + 0x2f8], 0x63
lea ecx, [esp + 0x2bc]
push str.download_url
call fcn.10002f90
mov byte [esp + 0x2f8], 0x64
lea ecx, [esp + 0x2d4]
push 0x10093a40
call fcn.10002f90
mov byte [esp + 0x2f8], 0x65
lea eax, [esp + 0x2a4]
push eax
lea eax, [esp + 0x2c0]
mov ecx, edi
push eax
lea eax, [esp + 0x2dc]
push eax
lea eax, [esp + 0x3c]
push eax
call fcn.100222e0
mov byte [esp + 0x2f8], 0x66
lea ecx, [esp + 0x174]
push eax
call fcn.10004990
mov byte [esp + 0x2f8], 0x65
lea ecx, [esp + 0x30]
call fcn.10002a80
mov byte [esp + 0x2f8], 0x64
lea ecx, [esp + 0x2d4]
call fcn.10002a80
mov byte [esp + 0x2f8], 0x63
lea ecx, [esp + 0x2bc]
call fcn.10002a80
mov byte [esp + 0x2f8], 0x62
lea ecx, [esp + 0x2a4]
call fcn.10002a80
push 0x10093b18
lea ecx, [esp + 0x2a8]
call fcn.10002f90
mov byte [esp + 0x2f8], 0x67
lea ecx, [esp + 0x2bc]
push str.file_name
call fcn.10002f90
mov byte [esp + 0x2f8], 0x68
lea ecx, [esp + 0x2d4]
push 0x10093a40
call fcn.10002f90
mov byte [esp + 0x2f8], 0x69
lea eax, [esp + 0x2a4]
push eax
lea eax, [esp + 0x2c0]
mov ecx, edi
push eax
lea eax, [esp + 0x2dc]
push eax
lea eax, [esp + 0x3c]
push eax
call fcn.100222e0
mov byte [esp + 0x2f8], 0x6a
lea ecx, [esp + 0x18c]
push eax
call fcn.10004990
mov byte [esp + 0x2f8], 0x69
lea ecx, [esp + 0x30]
call fcn.10002a80
mov byte [esp + 0x2f8], 0x68
lea ecx, [esp + 0x2d4]
call fcn.10002a80
mov byte [esp + 0x2f8], 0x67
lea ecx, [esp + 0x2bc]
call fcn.10002a80
mov byte [esp + 0x2f8], 0x62
lea ecx, [esp + 0x2a4]
call fcn.10002a80
push 0x10093b18
lea ecx, [esp + 0x2a8]
call fcn.10002f90
mov byte [esp + 0x2f8], 0x6b
lea ecx, [esp + 0x2bc]
push 0x10094164
call fcn.10002f90
mov byte [esp + 0x2f8], 0x6c
lea ecx, [esp + 0x2d4]
push 0x10093a40
call fcn.10002f90
mov byte [esp + 0x2f8], 0x6d
lea eax, [esp + 0x2a4]
push eax
lea eax, [esp + 0x2c0]
mov ecx, edi
push eax
lea eax, [esp + 0x2dc]
push eax
lea eax, [esp + 0x3c]
push eax
call fcn.100222e0
mov byte [esp + 0x2f8], 0x6e
lea ecx, [esp + 0x1bc]
push eax
call fcn.10004990
mov byte [esp + 0x2f8], 0x6d
lea ecx, [esp + 0x30]
call fcn.10002a80
mov byte [esp + 0x2f8], 0x6c
lea ecx, [esp + 0x2d4]
call fcn.10002a80
mov byte [esp + 0x2f8], 0x6b
lea ecx, [esp + 0x2bc]
call fcn.10002a80
mov byte [esp + 0x2f8], 0x62
lea ecx, [esp + 0x2a4]
call fcn.10002a80
push 0x10093b18
lea ecx, [esp + 0x2a8]
call fcn.10002f90
mov byte [esp + 0x2f8], 0x6f
lea ecx, [esp + 0x2bc]
push 0x100941bc
call fcn.10002f90
mov byte [esp + 0x2f8], 0x70
lea ecx, [esp + 0x2d4]
push 0x10093a40
call fcn.10002f90
mov byte [esp + 0x2f8], 0x71
lea eax, [esp + 0x2a4]
push eax
lea eax, [esp + 0x2c0]
mov ecx, edi
push eax
lea eax, [esp + 0x2dc]
push eax
lea eax, [esp + 0x3c]
push eax
call fcn.100222e0
mov byte [esp + 0x2f8], 0x72
lea ecx, [esp + 0x1a4]
push eax
call fcn.10004990
mov byte [esp + 0x2f8], 0x71
lea ecx, [esp + 0x30]
call fcn.10002a80
mov byte [esp + 0x2f8], 0x70
lea ecx, [esp + 0x2d4]
call fcn.10002a80
mov byte [esp + 0x2f8], 0x6f
lea ecx, [esp + 0x2bc]
call fcn.10002a80
mov byte [esp + 0x2f8], 0x62
lea ecx, [esp + 0x2a4]
call fcn.10002a80
push 0x10093b18
lea ecx, [esp + 0x2a8]
call fcn.10002f90
mov byte [esp + 0x2f8], 0x73
lea ecx, [esp + 0x2bc]
push 0x10094150
call fcn.10002f90
mov byte [esp + 0x2f8], 0x74
lea ecx, [esp + 0x2d4]
push 0x10093a40
call fcn.10002f90
mov byte [esp + 0x2f8], 0x75
lea eax, [esp + 0x2a4]
push eax
lea eax, [esp + 0x2c0]
mov ecx, edi
push eax
lea eax, [esp + 0x2dc]
push eax
lea eax, [esp + 0x3c]
push eax
call fcn.100222e0
mov byte [esp + 0x2f8], 0x76
lea ecx, [esp + 0x1f4]
push eax
call fcn.10004990
mov byte [esp + 0x2f8], 0x75
lea ecx, [esp + 0x30]
call fcn.10002a80
mov byte [esp + 0x2f8], 0x74
lea ecx, [esp + 0x2d4]
call fcn.10002a80
mov byte [esp + 0x2f8], 0x73
lea ecx, [esp + 0x2bc]
call fcn.10002a80
mov byte [esp + 0x2f8], 0x62
lea ecx, [esp + 0x2a4]
call fcn.10002a80
push 0x10093b18
lea ecx, [esp + 0x2a8]
call fcn.10002f90
mov byte [esp + 0x2f8], 0x77
lea ecx, [esp + 0x2bc]
push 0x100941d8
call fcn.10002f90
mov byte [esp + 0x2f8], 0x78
lea ecx, [esp + 0x2d4]
push 0x10093a40
call fcn.10002f90
mov byte [esp + 0x2f8], 0x79
lea eax, [esp + 0x2a4]
push eax
lea eax, [esp + 0x2c0]
mov ecx, edi
push eax
lea eax, [esp + 0x2dc]
push eax
lea eax, [esp + 0x3c]
push eax
call fcn.100222e0
mov byte [esp + 0x2f8], 0x7a
lea ecx, [esp + 0x1dc]
push eax
call fcn.10004990
mov byte [esp + 0x2f8], 0x79
lea ecx, [esp + 0x30]
call fcn.10002a80
mov byte [esp + 0x2f8], 0x78
lea ecx, [esp + 0x2d4]
call fcn.10002a80
mov byte [esp + 0x2f8], 0x77
lea ecx, [esp + 0x2bc]
call fcn.10002a80
mov byte [esp + 0x2f8], 0x62
lea ecx, [esp + 0x2a4]
call fcn.10002a80
push 0x10093b18
lea ecx, [esp + 0x290]
call fcn.10002f90
mov byte [esp + 0x2f8], 0x7b
lea ecx, [esp + 0x2bc]
push 0x100941ec
call fcn.10002f90
mov byte [esp + 0x2f8], 0x7c
lea ecx, [esp + 0x2d4]
push 0x10093a40
call fcn.10002f90
mov byte [esp + 0x2f8], 0x7d
lea eax, [esp + 0x28c]
push eax
lea eax, [esp + 0x2c0]
mov ecx, edi
push eax
lea eax, [esp + 0x2dc]
push eax
lea eax, [esp + 0x3c]
push eax
call fcn.100222e0
mov byte [esp + 0x2f8], 0x7e
lea ecx, [esp + 0x20c]
push eax
call fcn.10004990
mov byte [esp + 0x2f8], 0x7d
lea ecx, [esp + 0x30]
call fcn.10002a80
mov byte [esp + 0x2f8], 0x7c
lea ecx, [esp + 0x2d4]
call fcn.10002a80
mov byte [esp + 0x2f8], 0x7b
lea ecx, [esp + 0x2bc]
call fcn.10002a80
mov byte [esp + 0x2f8], 0x62
lea ecx, [esp + 0x28c]
call fcn.10002a80
push 0x10093b18
lea ecx, [esp + 0x260]
call fcn.10002f90
mov byte [esp + 0x2f8], 0x7f
lea ecx, [esp + 0x2bc]
push str.server_version
call fcn.10002f90
mov byte [esp + 0x2f8], 0x80
lea ecx, [esp + 0x2d4]
push 0x10093a40
call fcn.10002f90
mov byte [esp + 0x2f8], 0x81
lea eax, [esp + 0x25c]
push eax
lea eax, [esp + 0x2c0]
mov ecx, edi
push eax
lea eax, [esp + 0x2dc]
push eax
lea eax, [esp + 0x3c]
push eax
call fcn.100222e0
mov byte [esp + 0x2f8], 0x82
lea ecx, [esp + 0x15c]
push eax
call fcn.10004990
mov byte [esp + 0x2f8], 0x81
lea ecx, [esp + 0x30]
call fcn.10002a80
mov byte [esp + 0x2f8], 0x80
lea ecx, [esp + 0x2d4]
call fcn.10002a80
mov byte [esp + 0x2f8], 0x7f
lea ecx, [esp + 0x2bc]
call fcn.10002a80
mov byte [esp + 0x2f8], 0x62
lea ecx, [esp + 0x25c]
call fcn.10002a80
push 0x10094178
lea ecx, [esp + 0x278]
call fcn.10002f90
mov byte [esp + 0x2f8], 0x83
lea ecx, [esp + 0x2d4]
push 0x10093a40
call fcn.10002f90
mov byte [esp + 0x2f8], 0x84
sub esp, 8
lea eax, [esp + 0x27c]
mov ecx, edi
push eax
lea eax, [esp + 0x2e0]
push eax
call fcn.10022520
mov dword [esp + 0x1d4], eax
mov dword [esp + 0x1d8], edx
mov byte [esp + 0x2f8], 0x83
lea ecx, [esp + 0x2d4]
call fcn.10002a80
mov byte [esp + 0x2f8], 0x62
lea ecx, [esp + 0x274]
call fcn.10002a80
push 0x10093b18
lea ecx, [esp + 0x10]
call fcn.10002f90
mov byte [esp + 0x2f8], 0x85
lea ecx, [esp + 0x2bc]
push 0x10094200
call fcn.10002f90
mov byte [esp + 0x2f8], 0x86
lea ecx, [esp + 0x2d4]
push 0x10093a40
call fcn.10002f90
mov byte [esp + 0x2f8], 0x87
lea eax, [esp + 0xc]
push eax
lea eax, [esp + 0x2c0]
mov ecx, edi
push eax
lea eax, [esp + 0x2dc]
push eax
lea eax, [esp + 0x3c]
push eax
call fcn.100222e0
mov byte [esp + 0x2f8], 0x88
lea ecx, [esp + 0x224]
push eax
call fcn.10004990
mov byte [esp + 0x2f8], 0x87
lea ecx, [esp + 0x30]
call fcn.10002a80
mov byte [esp + 0x2f8], 0x86
lea ecx, [esp + 0x2d4]
call fcn.10002a80
mov byte [esp + 0x2f8], 0x85
lea ecx, [esp + 0x2bc]
call fcn.10002a80
mov byte [esp + 0x2f8], 0x62
lea ecx, [esp + 0xc]
call fcn.10002a80
push str.file_limit_speed
lea ecx, [esp + 0x4c]
call fcn.10002f90
mov byte [esp + 0x2f8], 0x89
lea ecx, [esp + 0xc]
push 0x10093a40
call fcn.10002f90
mov byte [esp + 0x2f8], 0x8a
sub esp, 8
lea eax, [esp + 0x50]
mov ecx, edi
push eax
lea eax, [esp + 0x18]
push eax
call fcn.10022520
mov dword [esp + 0x23c], eax
mov dword [esp + 0x240], edx
mov byte [esp + 0x2f8], 0x89
lea ecx, [esp + 0xc]
call fcn.10002a80
mov byte [esp + 0x2f8], 0x62
lea ecx, [esp + 0x48]
call fcn.10002a80
mov edi, dword [esp + 0x6c]
lea eax, [esp + 0x15c]
push eax
mov ecx, dword [edi]
add ecx, 0x100
call fcn.10010510
mov eax, dword [edi]
mov byte [esp + 0x73], 1
mov byte [eax + 0x1e8], 1
mov byte [esp + 0x2f8], 7
lea ecx, [esp + 0x15c]
call fcn.10004310
mov byte [esp + 0x2f8], 0
cmp dword [esp + 0x258], 8
jb 0x100104a9
push dword [esp + 0x244]
call esi
add esp, 4
xor eax, eax
mov dword [esp + 0x258], 7
mov dword [esp + 0x254], 0
mov word [esp + 0x244], ax
mov dword [esp + 0x2f8], 0xffffffff
lea ecx, [esp + 0x74]
call fcn.10004310
mov al, byte [esp + 0x73]
mov ecx, dword [esp + 0x2f0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [esp + 0x2e0]
xor ecx, esp
call fcn.10081b94
add esp, 0x2f0
ret