Function at 0x1005ba80
Capabilities:
Check for time delay via gettickcount
Get number of processors
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100b085f
mov eax, dword fs:[0]
push eax
sub esp, 0x730
mov eax, dword [0x100dbc1c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x67c], edi
lea eax, [edi + 0x30]
mov dword [ebp - 0x65c], 0
mov dword [ebp - 0x678], eax
mov eax, dword [eax]
cmp dword [eax - 0xc], 0
je 0x1005da33
lea eax, [ebp - 0x674]
push eax
call fcn.1003b6a0
add esp, 4
cmp dword [eax], 0
mov ecx, 1
mov dword [ebp - 4], 0
mov dword [ebp - 0x658], ecx
mov dword [ebp - 0x65c], ecx
je 0x1005bb3b
lea eax, [ebp - 0x66c]
push eax
call fcn.1003b6a0
add esp, 4
mov ecx, 3
mov dword [ebp - 4], 1
mov dword [ebp - 0x658], ecx
mov dword [ebp - 0x65c], ecx
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov byte [ebp - 0x651], 1
test al, al
jne 0x1005bb42
mov byte [ebp - 0x651], 0
mov ecx, dword [ebp - 0x658]
or esi, 0xffffffff
test cl, 2
je 0x1005bb92
mov edx, dword [ebp - 0x668]
and ecx, 0xfffffffd
mov dword [ebp - 0x658], ecx
mov dword [ebp - 0x660], edx
test edx, edx
je 0x1005bb92
mov eax, esi
lock xadd dword [edx + 4], eax
jne 0x1005bb92
mov eax, dword [edx]
mov ecx, edx
call dword [eax]
mov ecx, dword [ebp - 0x660]
mov eax, esi
lock xadd dword [ecx + 8], eax
jne 0x1005bb8c
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0x658]
and ecx, 0xfffffffe
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x658], ecx
mov ecx, dword [ebp - 0x670]
mov dword [ebp - 0x660], ecx
test ecx, ecx
je 0x1005bbd3
mov eax, esi
lock xadd dword [ecx + 4], eax
jne 0x1005bbd3
mov eax, dword [ecx]
call dword [eax]
mov ecx, dword [ebp - 0x660]
mov eax, esi
lock xadd dword [ecx + 8], eax
jne 0x1005bbd3
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [ebp - 0x651], 0
je 0x1005bddf
lea eax, [ebp - 0x628]
push eax
call fcn.1003b6a0
add esp, 4
mov eax, dword [eax]
mov dword [ebp - 0x664], eax
lea eax, [ebp - 0x73c]
mov dword [ebp - 4], 2
mov dword [ebp - 0x668], eax
mov dword [ebp - 0x73c], 0x100b38d0
mov eax, dword [ebp - 0x658]
lea ecx, [ebp - 0x6ec]
or eax, 0x20000
mov byte [ebp - 4], 3
mov dword [ebp - 0x658], eax
mov dword [ebp - 0x65c], eax
lea eax, [ebp - 0x738]
push 0
push eax
mov dword [ebp - method.std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__.virtual_0], vtable.std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__.0
mov dword [ebp - 0x6f0], 0x48
call fcn.10014f00
mov eax, dword [ebp - 0x73c]
push 8
mov dword [ebp - 4], 5
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ostringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.virtual_0], vtable.std::basic_ostringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
mov eax, dword [ebp - 0x73c]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x50]
mov dword [ebp + ecx - 0x740], eax
lea eax, [ebp - 0x738]
mov dword [ebp - 0x670], eax
mov dword [ebp - method.std::basic_streambuf_wchar_t__struct_std::char_traits_wchar_t__.virtual_0], vtable.std::basic_streambuf_wchar_t__struct_std::char_traits_wchar_t__.0
call fcn.10076018
add esp, 4
mov dword [ebp - 0x660], eax
test eax, eax
je 0x1005bcc8
push 1
mov byte [ebp - 4], 6
call fcn.1006bd53
mov ecx, dword [ebp - 0x660]
add esp, 4
mov dword [ecx + 4], eax
jmp 0x1005bcca
xor ecx, ecx
lea eax, [ebp - 0x734]
mov dword [ebp - 0x704], ecx
mov dword [ebp - 0x72c], eax
lea eax, [ebp - 0x730]
mov dword [ebp - 0x728], eax
lea eax, [ebp - 0x724]
mov dword [ebp - 0x71c], eax
lea eax, [ebp - 0x720]
mov dword [ebp - 0x718], eax
lea eax, [ebp - 0x714]
mov dword [ebp - 0x70c], eax
lea eax, [ebp - 0x710]
mov dword [ebp - 0x708], eax
mov dword [ebp - 0x730], 0
mov dword [ebp - 0x720], 0
mov dword [ebp - 0x710], 0
mov dword [ebp - 0x734], 0
mov dword [ebp - 0x724], 0
mov dword [ebp - 0x714], 0
mov dword [ebp - method.std::basic_stringbuf_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.virtual_0], vtable.std::basic_stringbuf_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
mov dword [ebp - 0x700], 0
mov dword [ebp - 0x6fc], 4
lea eax, [ebp - 0x73c]
mov byte [ebp - 4], 8
push str.start_request
push eax
call fcn.10012080
mov ecx, dword [ebp - 0x664]
lea edx, [ebp - 0x73c]
add esp, 8
mov eax, dword [ecx]
push edx
call dword [eax + 0x14]
lea ecx, [ebp - 0x73c]
call fcn.10012280
mov ecx, dword [ebp - 0x624]
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x660], ecx
test ecx, ecx
je 0x1005bddf
mov eax, esi
lock xadd dword [ecx + 4], eax
jne 0x1005bddf
mov eax, dword [ecx]
call dword [eax]
mov ecx, dword [ebp - 0x660]
mov eax, esi
lock xadd dword [ecx + 8], eax
jne 0x1005bddf
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [0x100e0e60]
test ecx, ecx
jne 0x1005be49
push 0x100da004
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [0x100e0e60], 0
jne 0x1005be38
push 0x28
call fcn.10076018
add esp, 4
mov dword [ebp - 0x668], eax
mov dword [ebp - 4], 9
test eax, eax
je 0x1005be23
mov ecx, eax
call fcn.1004d1d0
mov ecx, eax
jmp 0x1005be25
xor ecx, ecx
mov dword [ebp - 4], 0xffffffff
xchg dword [ebp - 0x664], eax
mov dword [0x100e0e60], ecx
push 0x100da004
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [0x100e0e60]
push 0
push 0
push 1
push 0
push str.request_start
call fcn.1004fb80
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x690], eax
call fcn.1000a9e0
mov ecx, eax
test ecx, ecx
je 0x1005da4e
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x694], eax
push 0
push 0x7530
lea eax, [ebp - 0x694]
mov dword [ebp - 4], 0xa
push eax
lea eax, [edi + 0x30]
push eax
call fcn.10035540
add esp, 0x10
test eax, eax
jne 0x1005c1b1
mov eax, dword [sym.imp.KERNEL32.dll_GetTickCount]
call eax
sub eax, dword [ebp - 0x690]
push 0
push 0
push 1
push 0
cmp eax, 0x7530
jb 0x1005c00f
push str.request_timeout
call fcn.10021db0
mov ecx, eax
call fcn.1004fb80
lea eax, [ebp - 0x674]
push eax
call fcn.1003b6a0
add esp, 4
mov ecx, dword [ebp - 0x658]
or ecx, 4
mov byte [ebp - 4], 0xb
cmp dword [eax], 0
mov dword [ebp - 0x658], ecx
mov dword [ebp - 0x65c], ecx
je 0x1005bf4c
lea eax, [ebp - 0x66c]
push eax
call fcn.1003b6a0
add esp, 4
mov ecx, dword [ebp - 0x658]
or ecx, 8
mov dword [ebp - 4], 0xc
mov dword [ebp - 0x658], ecx
mov dword [ebp - 0x65c], ecx
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov byte [ebp - 0x651], 1
test al, al
jne 0x1005bf53
mov byte [ebp - 0x651], 0
mov edi, dword [ebp - 0x668]
test edi, edi
je 0x1005bf87
mov ecx, dword [ebp - 0x658]
test cl, 8
je 0x1005bf87
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x1005bf87
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x1005bf87
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov edi, dword [ebp - 0x670]
mov dword [ebp - 4], 0xa
test edi, edi
je 0x1005bfb7
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x1005bfb7
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x1005bfb7
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
cmp byte [ebp - 0x651], 0
je 0x1005c194
lea eax, [ebp - 0x66c]
push eax
call fcn.1003b6a0
add esp, 4
mov edi, dword [eax]
lea ecx, [ebp - 0x73c]
mov byte [ebp - 4], 0xd
call fcn.10015e70
mov esi, eax
push str.request__
push esi
mov byte [ebp - 4], 0xe
call fcn.10012080
add esp, 8
mov ecx, esi
push dword [ebp - 0x678]
call fcn.1005aa80
push str.__timeout
jmp 0x1005c14a
push str.request_fail
call fcn.10021db0
mov ecx, eax
call fcn.1004fb80
lea eax, [ebp - 0x674]
push eax
call fcn.1003b6a0
add esp, 4
mov ecx, dword [ebp - 0x658]
or ecx, 0x10
mov byte [ebp - 4], 0xf
cmp dword [eax], 0
mov dword [ebp - 0x658], ecx
mov dword [ebp - 0x65c], ecx
je 0x1005c08c
lea eax, [ebp - 0x66c]
push eax
call fcn.1003b6a0
add esp, 4
mov ecx, dword [ebp - 0x658]
or ecx, 0x20
mov dword [ebp - 4], 0x10
mov dword [ebp - 0x658], ecx
mov dword [ebp - 0x65c], ecx
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov byte [ebp - 0x651], 1
test al, al
jne 0x1005c093
mov byte [ebp - 0x651], 0
mov edi, dword [ebp - 0x668]
test edi, edi
je 0x1005c0c7
mov ecx, dword [ebp - 0x658]
test cl, 0x20
je 0x1005c0c7
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x1005c0c7
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x1005c0c7
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov edi, dword [ebp - 0x670]
mov dword [ebp - 4], 0xa
test edi, edi
je 0x1005c0f7
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x1005c0f7
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x1005c0f7
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
cmp byte [ebp - 0x651], 0
je 0x1005c194
lea eax, [ebp - 0x66c]
push eax
call fcn.1003b6a0
add esp, 4
mov edi, dword [eax]
lea ecx, [ebp - 0x73c]
mov byte [ebp - 4], 0x11
call fcn.10015e70
mov esi, eax
push str.request__
push esi
mov byte [ebp - 4], 0x12
call fcn.10012080
add esp, 8
mov ecx, esi
push dword [ebp - 0x678]
call fcn.1005aa80
push str.__fail
mov esi, eax
push esi
call fcn.10012080
mov edx, dword [edi]
add esp, 8
mov ecx, edi
push esi
call dword [edx + 0x14]
lea ecx, [ebp - 0x73c]
call fcn.10012280
mov edi, dword [ebp - 0x668]
or esi, 0xffffffff
test edi, edi
je 0x1005c194
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x1005c194
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x1005c194
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov edx, dword [ebp - 0x694]
mov dword [ebp - 4], 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], esi
dec esi
test esi, esi
jmp 0x1005da29
mov ecx, dword [0x100e0e60]
test ecx, ecx
jne 0x1005c215
push 0x100da004
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [0x100e0e60], 0
jne 0x1005c204
push 0x28
call fcn.10076018
add esp, 4
mov dword [ebp - 0x668], eax
mov byte [ebp - 4], 0x13
test eax, eax
je 0x1005c1f2
mov ecx, eax
call fcn.1004d1d0
mov ecx, eax
jmp 0x1005c1f4
xor ecx, ecx
mov byte [ebp - 4], 0xa
xchg dword [ebp - 0x660], eax
mov dword [0x100e0e60], ecx
push 0x100da004
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [0x100e0e60]
push 0
push 0
push 1
push 0
push str.request_success
call fcn.1004fb80
lea eax, [edi + 0x38]
mov ecx, eax
mov dword [ebp - 0x668], eax
call fcn.1000a6b0
lea eax, [edi + 0x6c]
mov ecx, eax
mov dword [ebp - 0x670], eax
call fcn.1000a6b0
cmp dword [edi + 0x50], 0x10
lea ecx, [edi + 0x3c]
mov dword [ebp - 0x660], ecx
mov eax, ecx
mov dword [ecx + 0x10], 0
jb 0x1005c261
mov eax, dword [ecx]
mov byte [eax], 0
lea eax, [edi + 0x34]
mov ecx, eax
mov dword [ebp - 0x688], eax
call fcn.1000a6b0
lea ecx, [edi + 0x30]
call fcn.1000a6b0
mov eax, dword [ebp - 0x694]
mov edx, eax
mov dword [ebp - 0x628], 0
mov dword [ebp - 0x624], 0xf
mov byte [ebp - 0x638], 0
lea ecx, [edx + 1]
mov dword [ebp - 0x664], ecx
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x1005c2a8
sub edx, dword [ebp - 0x664]
lea ecx, [ebp - 0x638]
push edx
push eax
call fcn.1001dd80
lea eax, [ebp - 0x638]
mov byte [ebp - 4], 0x14
push eax
mov ecx, edi
call fcn.1005e600
mov edx, dword [ebp - 0x624]
test eax, eax
mov byte [ebp - 4], 0xa
sete al
mov byte [ebp - 0x651], al
cmp edx, 0x10
jb 0x1005c323
mov ecx, dword [ebp - 0x638]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1005c313
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005da58
push edx
push ecx
call fcn.10076048
mov al, byte [ebp - 0x651]
add esp, 8
test al, al
je 0x1005c4a9
lea eax, [ebp - 0x674]
push eax
call fcn.1003b6a0
add esp, 4
mov ecx, dword [ebp - 0x658]
or ecx, 0x40
mov byte [ebp - 4], 0x15
cmp dword [eax], 0
mov dword [ebp - 0x658], ecx
mov dword [ebp - 0x65c], ecx
je 0x1005c39a
lea eax, [ebp - 0x66c]
push eax
call fcn.1003b6a0
add esp, 4
mov ecx, dword [ebp - 0x658]
or ecx, 0x80
mov dword [ebp - 4], 0x16
mov dword [ebp - 0x658], ecx
mov dword [ebp - 0x65c], ecx
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov byte [ebp - 0x651], 1
test al, al
jne 0x1005c3a1
mov byte [ebp - 0x651], 0
mov edi, dword [ebp - 0x668]
test edi, edi
je 0x1005c3d4
mov ecx, dword [ebp - 0x658]
test cl, cl
jns 0x1005c3d4
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x1005c3d4
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x1005c3d4
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov edi, dword [ebp - 0x670]
mov dword [ebp - 4], 0xa
test edi, edi
je 0x1005c404
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x1005c404
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x1005c404
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
cmp byte [ebp - 0x651], 0
je 0x1005c194
lea eax, [ebp - 0x66c]
push eax
call fcn.1003b6a0
add esp, 4
mov edi, dword [eax]
lea ecx, [ebp - 0x73c]
mov byte [ebp - 4], 0x17
call fcn.10015e70
mov esi, eax
push str.ParsestrResponse_fail
push esi
mov byte [ebp - 4], 0x18
call fcn.10012080
mov edx, dword [edi]
add esp, 8
mov ecx, edi
push esi
call dword [edx + 0x14]
lea ecx, [ebp - 0x73c]
call fcn.10012280
mov edi, dword [ebp - 0x668]
or esi, 0xffffffff
test edi, edi
je 0x1005c194
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x1005c194
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x1005c194
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov edx, dword [ebp - 0x694]
mov dword [ebp - 4], esi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], esi
dec esi
test esi, esi
jmp 0x1005da29
push 0x208
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.100837f0
push 0x208
lea eax, [ebp - 0x620]
push 0
push eax
call fcn.100837f0
xor eax, eax
add esp, 0x18
mov word [ebp - 0x620], ax
xorps xmm0, xmm0
lea eax, [ebp - 0x630]
movups xmmword [ebp - 0x630], xmm0
push eax
call dword [sym.imp.ole32.dll_CoCreateGuid]
push 0x200
lea eax, [ebp - 0x418]
push 0
push eax
call fcn.100837f0
movzx eax, byte [ebp - 0x621]
push eax
movzx eax, byte [ebp - 0x622]
push eax
movzx eax, byte [ebp - 0x623]
push eax
movzx eax, byte [ebp - 0x624]
push eax
movzx eax, byte [ebp - 0x625]
push eax
movzx eax, byte [ebp - 0x626]
push eax
movzx eax, byte [ebp - 0x627]
push eax
movzx eax, byte [ebp - 0x628]
push eax
movzx eax, word [ebp - 0x62a]
push eax
movzx eax, word [ebp - 0x62c]
push eax
push dword [ebp - 0x630]
lea eax, [ebp - 0x418]
push str._08X__04X__04x__02X_02X__02X_02X_02X_02X_02X_02X
push eax
call fcn.100331a0
lea ecx, [ebp - 0x418]
add esp, 0x40
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x1005c580
sub ecx, edx
lea eax, [ebp - 0x418]
sar ecx, 1
push ecx
push eax
lea eax, [ebp - 0x620]
push 0x104
push eax
call fcn.1008a665
add esp, 0x10
lea eax, [ebp - 0x620]
push eax
push dword [edi + 0x78]
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
call fcn.1000a9e0
mov ecx, eax
test ecx, ecx
je 0x1005da5d
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x68c], eax
lea eax, [ebp - 0x218]
mov byte [ebp - 4], 0x19
shr eax, 0x10
mov dword [ebp - 0x624], eax
test eax, eax
jne 0x1005c60f
lea eax, [ebp - 0x218]
movzx eax, ax
lea ecx, [ebp - 0x68c]
push eax
call fcn.10009c70
jmp 0x1005c642
lea ecx, [ebp - 0x218]
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x1005c620
sub ecx, edx
lea eax, [ebp - 0x218]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x68c]
call fcn.10009e80
push 0
push 0x4e20
push 0
lea eax, [ebp - 0x68c]
mov byte [ebp - 4], 0x1a
push eax
lea eax, [edi + 0x34]
push eax
call fcn.10035430
mov edx, dword [ebp - 0x68c]
add esp, 0x14
test eax, eax
mov byte [ebp - 4], 0xa
mov eax, esi
sete byte [ebp - 0x651]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x1005c68c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [ebp - 0x651], 0
je 0x1005c835
push 0
push 0
push 1
push 0
push str.request_down_img_fail
call fcn.10021db0
mov ecx, eax
call fcn.1004fb80
lea eax, [ebp - 0x674]
push eax
call fcn.1003b6a0
add esp, 4
mov ecx, dword [ebp - 0x658]
or ecx, 0x100
mov byte [ebp - 4], 0x1b
cmp dword [eax], 0
mov dword [ebp - 0x658], ecx
mov dword [ebp - 0x65c], ecx
je 0x1005c724
lea eax, [ebp - 0x66c]
push eax
call fcn.1003b6a0
add esp, 4
mov ecx, dword [ebp - 0x658]
or ecx, 0x200
mov dword [ebp - 4], 0x1c
mov dword [ebp - 0x658], ecx
mov dword [ebp - 0x65c], ecx
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov byte [ebp - 0x651], 1
test al, al
jne 0x1005c72b
mov byte [ebp - 0x651], 0
mov edi, dword [ebp - 0x668]
test edi, edi
je 0x1005c760
test dword [ebp - 0x658], 0x200
je 0x1005c760
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x1005c760
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x1005c760
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov edi, dword [ebp - 0x670]
mov dword [ebp - 4], 0xa
test edi, edi
je 0x1005c790
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x1005c790
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x1005c790
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
cmp byte [ebp - 0x651], 0
je 0x1005c194
lea eax, [ebp - 0x66c]
push eax
call fcn.1003b6a0
add esp, 4
mov edi, dword [eax]
lea ecx, [ebp - 0x73c]
mov byte [ebp - 4], 0x1d
call fcn.10015e70
mov esi, eax
push str.down_img_fail
push esi
mov byte [ebp - 4], 0x1e
call fcn.10012080
mov edx, dword [edi]
add esp, 8
mov ecx, edi
push esi
call dword [edx + 0x14]
lea ecx, [ebp - 0x73c]
call fcn.10012280
mov edi, dword [ebp - 0x668]
or esi, 0xffffffff
test edi, edi
je 0x1005c194
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x1005c194
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x1005c194
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov edx, dword [ebp - 0x694]
mov dword [ebp - 4], esi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], esi
dec esi
test esi, esi
jmp 0x1005da29
mov eax, dword [sym.imp.KERNEL32.dll_GetTickCount]
call eax
sub eax, dword [ebp - 0x690]
mov dword [ebp - 0x664], eax
call fcn.1000a9e0
mov ecx, eax
test ecx, ecx
je 0x1005da67
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x690], eax
push dword [ebp - 0x664]
lea eax, [ebp - 0x690]
mov byte [ebp - 4], 0x1f
push 0x100b85e4
push eax
call fcn.10021c80
add esp, 0xc
call fcn.1000a9e0
mov ecx, eax
test ecx, ecx
je 0x1005da71
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x68c], eax
push dword [edi + 0x18]
lea eax, [ebp - 0x68c]
mov byte [ebp - 4], 0x20
push str.down_success__s
push eax
call fcn.10021c80
mov ecx, dword [0x100e0e60]
add esp, 0xc
test ecx, ecx
jne 0x1005c923
push 0x100da004
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [0x100e0e60], 0
jne 0x1005c912
push 0x28
call fcn.10076018
add esp, 4
mov dword [ebp - 0x698], eax
mov byte [ebp - 4], 0x21
test eax, eax
je 0x1005c900
mov ecx, eax
call fcn.1004d1d0
mov ecx, eax
jmp 0x1005c902
xor ecx, ecx
mov byte [ebp - 4], 0x20
xchg dword [ebp - 0x664], eax
mov dword [0x100e0e60], ecx
push 0x100da004
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [0x100e0e60]
mov edi, dword [ebp - 0x68c]
push 0
push 0
push 1
push 0
push edi
call fcn.1004fb80
lea eax, [ebp - 0x6a4]
push eax
call fcn.1003b6a0
add esp, 4
mov ecx, dword [ebp - 0x658]
or ecx, 0x400
mov byte [ebp - 4], 0x22
cmp dword [eax], 0
mov dword [ebp - 0x658], ecx
mov dword [ebp - 0x65c], ecx
je 0x1005c9a9
lea eax, [ebp - 0x69c]
push eax
call fcn.1003b6a0
add esp, 4
mov ecx, dword [ebp - 0x658]
or ecx, 0x800
mov dword [ebp - 4], 0x23
mov dword [ebp - 0x658], ecx
mov dword [ebp - 0x65c], ecx
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov byte [ebp - 0x651], 1
test al, al
jne 0x1005c9b0
mov byte [ebp - 0x651], 0
mov ecx, dword [ebp - 0x658]
test ecx, 0x800
je 0x1005ca03
mov edx, dword [ebp - 0x698]
and ecx, 0xfffff7ff
mov dword [ebp - 0x658], ecx
mov dword [ebp - 0x664], edx
test edx, edx
je 0x1005ca03
mov eax, esi
lock xadd dword [edx + 4], eax
jne 0x1005ca03
mov eax, dword [edx]
mov ecx, edx
call dword [eax]
mov ecx, dword [ebp - 0x664]
mov eax, esi
lock xadd dword [ecx + 8], eax
jne 0x1005c9fd
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0x658]
and ecx, 0xfffffbff
mov dword [ebp - 4], 0x20
mov dword [ebp - 0x658], ecx
mov ecx, dword [ebp - 0x6a0]
mov dword [ebp - 0x664], ecx
test ecx, ecx
je 0x1005ca47
mov eax, esi
lock xadd dword [ecx + 4], eax
jne 0x1005ca47
mov eax, dword [ecx]
call dword [eax]
mov ecx, dword [ebp - 0x664]
mov eax, esi
lock xadd dword [ecx + 8], eax
jne 0x1005ca47
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [ebp - 0x651], 0
mov esi, dword [ebp - 0x690]
je 0x1005cc79
lea eax, [ebp - 0x684]
push eax
call fcn.1003b6a0
add esp, 4
mov eax, dword [eax]
mov dword [ebp - 0x678], eax
lea eax, [ebp - 0x73c]
mov dword [ebp - 0x698], eax
mov dword [ebp - 0x73c], 0x100b38d0
mov eax, dword [ebp - 0x658]
lea ecx, [ebp - 0x6ec]
or eax, 0x80000
mov byte [ebp - 4], 0x25
mov dword [ebp - 0x658], eax
mov dword [ebp - 0x65c], eax
lea eax, [ebp - 0x738]
push 0
push eax
mov dword [ebp - method.std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__.virtual_0], vtable.std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__.0
mov dword [ebp - 0x6f0], 0x48
call fcn.10014f00
mov eax, dword [ebp - 0x73c]
push 8
mov dword [ebp - 4], 0x27
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ostringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.virtual_0], vtable.std::basic_ostringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
mov eax, dword [ebp - 0x73c]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x50]
mov dword [ebp + ecx - 0x740], eax
lea eax, [ebp - 0x738]
mov dword [ebp - 0x6a0], eax
mov dword [ebp - method.std::basic_streambuf_wchar_t__struct_std::char_traits_wchar_t__.virtual_0], vtable.std::basic_streambuf_wchar_t__struct_std::char_traits_wchar_t__.0
call fcn.10076018
add esp, 4
mov dword [ebp - 0x664], eax
test eax, eax
je 0x1005cb3b
push 1
mov byte [ebp - 4], 0x28
call fcn.1006bd53
mov ecx, dword [ebp - 0x664]
add esp, 4
mov dword [ecx + 4], eax
jmp 0x1005cb3d
xor ecx, ecx
lea eax, [ebp - 0x734]
mov dword [ebp - 0x704], ecx
mov dword [ebp - 0x72c], eax
lea eax, [ebp - 0x730]
mov dword [ebp - 0x728], eax
lea eax, [ebp - 0x724]
mov dword [ebp - 0x71c], eax
lea eax, [ebp - 0x720]
mov dword [ebp - 0x718], eax
lea eax, [ebp - 0x714]
mov dword [ebp - 0x70c], eax
lea eax, [ebp - 0x710]
mov dword [ebp - 0x708], eax
mov dword [ebp - 0x730], 0
mov dword [ebp - 0x720], 0
mov dword [ebp - 0x710], 0
mov dword [ebp - 0x734], 0
mov dword [ebp - 0x724], 0
mov dword [ebp - 0x714], 0
mov dword [ebp - method.std::basic_stringbuf_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.virtual_0], vtable.std::basic_stringbuf_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
mov dword [ebp - 0x700], 0
mov dword [ebp - 0x6fc], 4
lea eax, [ebp - 0x73c]
mov byte [ebp - 4], 0x2a
push str.request_succ_cost_time_:
push eax
call fcn.10012080
test esi, esi
mov eax, 0x100b38d8
cmovne eax, esi
push eax
lea eax, [ebp - 0x73c]
push eax
call fcn.10010030
lea eax, [ebp - 0x73c]
push str._ms.
push eax
call fcn.10012080
mov ecx, dword [ebp - 0x678]
lea edx, [ebp - 0x73c]
add esp, 0x18
mov eax, dword [ecx]
push edx
call dword [eax + 0x14]
lea ecx, [ebp - 0x73c]
call fcn.10012280
mov ecx, dword [ebp - 0x680]
mov byte [ebp - 4], 0x20
mov dword [ebp - 0x664], ecx
test ecx, ecx
je 0x1005cc79
or eax, 0xffffffff
lock xadd dword [ecx + 4], eax
jne 0x1005cc79
mov eax, dword [ecx]
call dword [eax]
mov ecx, dword [ebp - 0x664]
or eax, 0xffffffff
lock xadd dword [ecx + 8], eax
jne 0x1005cc79
mov eax, dword [ecx]
call dword [eax + 4]
push 0x64
call fcn.10076018
add esp, 4
mov dword [ebp - 0x680], eax
test eax, eax
je 0x1005cde2
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 1
mov dword [eax + 0xc], 0
call fcn.1000a9e0
mov ecx, eax
test ecx, ecx
je 0x1005da7b
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov ecx, dword [ebp - 0x680]
add eax, 0x10
mov dword [ecx + 0x14], eax
call fcn.1000a9e0
mov ecx, eax
test ecx, ecx
je 0x1005da7b
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov ecx, dword [ebp - 0x680]
add eax, 0x10
mov dword [ecx + 0x18], eax
call fcn.1000a9e0
mov ecx, eax
test ecx, ecx
je 0x1005da7b
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov ecx, dword [ebp - 0x680]
add eax, 0x10
mov dword [ecx + 0x1c], eax
call fcn.1000a9e0
mov ecx, eax
test ecx, ecx
je 0x1005da7b
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov ecx, dword [ebp - 0x680]
add eax, 0x10
mov dword [ecx + 0x20], eax
call fcn.1000a9e0
mov ecx, eax
test ecx, ecx
je 0x1005da7b
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov ecx, dword [ebp - 0x680]
add eax, 0x10
mov dword [ecx + 0x24], eax
call fcn.1000a9e0
mov ecx, eax
test ecx, ecx
je 0x1005da7b
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov ecx, dword [ebp - 0x680]
add eax, 0x10
mov dword [ecx + 0x28], eax
call fcn.1000a9e0
mov ecx, eax
test ecx, ecx
je 0x1005da7b
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov ecx, dword [ebp - 0x680]
add eax, 0x10
mov dword [ecx + 0x2c], eax
call fcn.1000a9e0
mov ecx, eax
test ecx, ecx
je 0x1005da7b
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov ecx, dword [ebp - 0x680]
add eax, 0x10
mov dword [ecx + 0x30], eax
mov dword [ecx + 0x44], 0
mov dword [ecx + 0x48], 0xf
mov byte [ecx + 0x34], 0
mov dword [ecx + 0x5c], 0
mov dword [ecx + 0x60], 0xf
mov byte [ecx + 0x4c], 0
jmp 0x1005cdea
xor ecx, ecx
mov dword [ebp - 0x680], ecx
mov edx, dword [ebp - 0x67c]
mov eax, dword [edx + 0x20]
mov dword [ecx], eax
lea eax, [ecx + 0x24]
mov dword [ebp - 0x65c], eax
mov eax, dword [edx + 0x74]
mov dword [ebp - 0x698], eax
lea edx, [eax - 0x10]
mov dword [ebp - 0x678], edx
mov edx, dword [ecx + 0x24]
sub edx, 0x10
mov dword [ebp - 0x6a0], edx
cmp dword [ebp - 0x678], edx
je 0x1005ce9c
cmp dword [edx + 0xc], 0
lea ecx, [edx + 0xc]
mov dword [ebp - 0x664], ecx
jl 0x1005ce87
mov ecx, dword [ebp - 0x678]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x1005ce81
push ecx
call fcn.10009e20
mov edx, dword [ebp - 0x664]
add esp, 4
mov dword [ebp - 0x678], eax
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x1005ce74
mov eax, dword [ebp - 0x6a0]
push eax
mov ecx, dword [eax]
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, dword [ebp - 0x678]
mov ecx, dword [ebp - 0x65c]
add eax, 0x10
mov dword [ecx], eax
jmp 0x1005ce96
mov eax, dword [ebp - 0x698]
push dword [eax - 0xc]
mov ecx, dword [ebp - 0x65c]
push eax
call fcn.10009e80
mov ecx, dword [ebp - 0x680]
mov eax, dword [ebp - 0x688]
add ecx, 0x14
mov dword [ebp - 0x678], ecx
mov edx, dword [eax]
mov ecx, dword [ecx]
sub ecx, 0x10
mov dword [ebp - 0x6a0], ecx
lea eax, [edx - 0x10]
mov dword [ebp - 0x688], eax
cmp eax, ecx
je 0x1005cf2c
cmp dword [ecx + 0xc], 0
lea edi, [ecx + 0xc]
mov dword [ebp - 0x698], edi
jl 0x1005cf1d
mov eax, dword [eax]
cmp eax, dword [ecx]
jne 0x1005cf1d
push dword [ebp - 0x688]
call fcn.10009e20
mov dword [ebp - 0x688], eax
add esp, 4
or ecx, 0xffffffff
mov eax, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x1005cf0a
mov eax, dword [ebp - 0x6a0]
push eax
mov ecx, dword [eax]
mov edx, dword [ecx]
call dword [edx + 4]
mov ecx, dword [ebp - 0x678]
mov eax, dword [ebp - 0x688]
add eax, 0x10
mov dword [ecx], eax
jmp 0x1005cf2c
push dword [edx - 0xc]
mov ecx, dword [ebp - 0x678]
push edx
call fcn.10009e80
call fcn.1000a9e0
mov ecx, eax
test ecx, ecx
je 0x1005da7b
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x678], eax
cmp dword [ebp - 0x624], 0
mov byte [ebp - 4], 0x2b
jne 0x1005cf6f
lea eax, [ebp - 0x218]
movzx eax, ax
lea ecx, [ebp - 0x678]
push eax
call fcn.10009c70
jmp 0x1005cfa2
lea ecx, [ebp - 0x218]
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x1005cf80
sub ecx, edx
lea eax, [ebp - 0x218]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x678]
call fcn.10009e80
mov edx, dword [ebp - 0x680]
mov eax, dword [ebp - 0x678]
add edx, 0x18
mov dword [ebp - 0x664], edx
mov byte [ebp - 4], 0x2c
mov edx, dword [edx]
lea ecx, [eax - 0x10]
sub edx, 0x10
mov dword [ebp - 0x65c], ecx
mov dword [ebp - 0x688], edx
cmp ecx, edx
je 0x1005d04a
cmp dword [edx + 0xc], 0
lea esi, [edx + 0xc]
mov dword [ebp - 0x624], esi
mov esi, dword [ebp - 0x690]
jl 0x1005d035
mov ecx, dword [ecx]
cmp ecx, dword [edx]
jne 0x1005d035
push dword [ebp - 0x65c]
call fcn.10009e20
mov dword [ebp - 0x698], eax
add esp, 4
mov eax, dword [ebp - 0x624]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x1005d022
mov eax, dword [ebp - 0x688]
push eax
mov ecx, dword [eax]
mov edx, dword [ecx]
call dword [edx + 4]
mov ecx, dword [ebp - 0x664]
mov eax, dword [ebp - 0x698]
add eax, 0x10
mov dword [ecx], eax
jmp 0x1005d044
push dword [eax - 0xc]
mov ecx, dword [ebp - 0x664]
push eax
call fcn.10009e80
mov ecx, dword [ebp - 0x65c]
mov byte [ebp - 4], 0x20
or eax, 0xffffffff
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x1005d068
mov ecx, dword [ecx]
push dword [ebp - 0x65c]
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x670]
mov ecx, dword [ebp - 0x680]
add ecx, 0x20
mov dword [ebp - 0x664], ecx
mov edx, dword [edx]
mov ecx, dword [ecx]
sub ecx, 0x10
lea eax, [edx - 0x10]
mov dword [ebp - 0x688], ecx
mov dword [ebp - 0x670], eax
cmp eax, ecx
je 0x1005d0fe
cmp dword [ecx + 0xc], 0
lea edi, [ecx + 0xc]
mov dword [ebp - 0x624], edi
jl 0x1005d0ef
mov eax, dword [eax]
cmp eax, dword [ecx]
jne 0x1005d0ef
push dword [ebp - 0x670]
call fcn.10009e20
mov dword [ebp - 0x670], eax
add esp, 4
or ecx, 0xffffffff
mov eax, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x1005d0dc
mov eax, dword [ebp - 0x688]
push eax
mov ecx, dword [eax]
mov edx, dword [ecx]
call dword [edx + 4]
mov ecx, dword [ebp - 0x664]
mov eax, dword [ebp - 0x670]
add eax, 0x10
mov dword [ecx], eax
jmp 0x1005d0fe
push dword [edx - 0xc]
mov ecx, dword [ebp - 0x664]
push edx
call fcn.10009e80
mov edx, dword [ebp - 0x67c]
push dword [edx + 0x70]
call fcn.1008df9b
mov ecx, dword [ebp - 0x680]
add esp, 4
lea edx, [ecx + 0x34]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x67c]
mov dword [ebp - 0x670], edx
cmp edx, eax
je 0x1005d14a
cmp dword [eax + 0x14], 0x10
mov edx, eax
jb 0x1005d135
mov edx, dword [eax]
push dword [eax + 0x10]
mov ecx, dword [ebp - 0x670]
push edx
call fcn.1001dd80
mov ecx, dword [ebp - 0x680]
lea edx, [ecx + 0x4c]
cmp edx, dword [ebp - 0x660]
je 0x1005d176
mov ecx, dword [ebp - 0x660]
mov eax, ecx
cmp dword [ecx + 0x14], 0x10
jb 0x1005d165
mov eax, dword [ecx]
push dword [ecx + 0x10]
mov ecx, edx
push eax
call fcn.1001dd80
mov ecx, dword [ebp - 0x680]
mov edx, dword [ebp - 0x668]
lea eax, [ecx + 0x1c]
mov dword [ebp - 0x664], eax
mov edx, dword [edx]
lea ecx, [edx - 0x10]
mov dword [ebp - 0x660], ecx
mov ecx, dword [eax]
sub ecx, 0x10
mov dword [ebp - 0x670], ecx
cmp dword [ebp - 0x660], ecx
je 0x1005d217
cmp dword [ecx + 0xc], 0
lea esi, [ecx + 0xc]
mov dword [ebp - 0x668], esi
mov esi, dword [ebp - 0x690]
jl 0x1005d20c
mov eax, dword [edx - 0x10]
cmp eax, dword [ecx]
jne 0x1005d206
push dword [ebp - 0x660]
call fcn.10009e20
mov dword [ebp - 0x624], eax
add esp, 4
mov eax, dword [ebp - 0x668]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x1005d1f3
mov eax, dword [ebp - 0x670]
push eax
mov ecx, dword [eax]
mov edx, dword [ecx]
call dword [edx + 4]
mov ecx, dword [ebp - 0x664]
mov eax, dword [ebp - 0x624]
add eax, 0x10
mov dword [ecx], eax
jmp 0x1005d217
mov eax, dword [ebp - 0x664]
push dword [edx - 0xc]
mov ecx, eax
push edx
call fcn.10009e80
mov edx, dword [ebp - 0x67c]
lea eax, [ebp - 0x688]
push dword [edx + 0x1c]
push eax
call fcn.1003f680
add esp, 8
mov ecx, dword [ebp - 0x680]
mov edx, dword [eax]
add ecx, 0x28
mov dword [ebp - 0x660], ecx
mov byte [ebp - 4], 0x2d
mov ecx, dword [ecx]
lea eax, [edx - 0x10]
sub ecx, 0x10
mov dword [ebp - 0x668], eax
mov dword [ebp - 0x624], ecx
cmp eax, ecx
je 0x1005d2cd
cmp dword [ecx + 0xc], 0
lea esi, [ecx + 0xc]
mov dword [ebp - 0x670], esi
mov esi, dword [ebp - 0x690]
jl 0x1005d2be
mov eax, dword [eax]
cmp eax, dword [ecx]
jne 0x1005d2be
push dword [ebp - 0x668]
call fcn.10009e20
mov dword [ebp - 0x668], eax
add esp, 4
mov eax, dword [ebp - 0x670]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x1005d2ab
mov eax, dword [ebp - 0x624]
push eax
mov ecx, dword [eax]
mov edx, dword [ecx]
call dword [edx + 4]
mov ecx, dword [ebp - 0x660]
mov eax, dword [ebp - 0x668]
add eax, 0x10
mov dword [ecx], eax
jmp 0x1005d2cd
push dword [edx - 0xc]
mov ecx, dword [ebp - 0x660]
push edx
call fcn.10009e80
mov edx, dword [ebp - 0x688]
or eax, 0xffffffff
mov byte [ebp - 4], 0x20
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x1005d2ef
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x67c]
mov ecx, dword [ebp - 0x680]
add ecx, 0x2c
mov dword [ebp - 0x660], ecx
mov edx, dword [eax + 0x18]
mov ecx, dword [ecx]
sub ecx, 0x10
lea edi, [edx - 0x10]
mov dword [ebp - 0x624], ecx
mov dword [ebp - 0x668], edi
cmp edi, ecx
mov edi, dword [ebp - 0x68c]
je 0x1005d397
cmp dword [ecx + 0xc], 0
lea eax, [ecx + 0xc]
mov dword [ebp - 0x670], eax
jl 0x1005d382
mov eax, dword [edx - 0x10]
cmp eax, dword [ecx]
jne 0x1005d382
push dword [ebp - 0x668]
call fcn.10009e20
mov edx, dword [ebp - 0x670]
add esp, 4
mov dword [ebp - 0x668], eax
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x1005d375
mov eax, dword [ebp - 0x624]
push eax
mov ecx, dword [eax]
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, dword [ebp - 0x668]
mov ecx, dword [ebp - 0x660]
add eax, 0x10
mov dword [ecx], eax
jmp 0x1005d391
push dword [edx - 0xc]
mov ecx, dword [ebp - 0x660]
push edx
call fcn.10009e80
mov eax, dword [ebp - 0x67c]
inc dword [eax + 0x20]
lea eax, [ebp - 0x628]
push eax
call fcn.1003b6a0
add esp, 4
mov ecx, dword [ebp - 0x658]
or ecx, 0x1000
mov byte [ebp - 4], 0x2e
cmp dword [eax], 0
mov dword [ebp - 0x658], ecx
mov dword [ebp - 0x65c], ecx
je 0x1005d40c
lea eax, [ebp - 0x674]
push eax
call fcn.1003b6a0
add esp, 4
mov ecx, dword [ebp - 0x658]
or ecx, 0x2000
mov dword [ebp - 4], 0x2f
mov dword [ebp - 0x658], ecx
mov dword [ebp - 0x65c], ecx
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov byte [ebp - 0x651], 1
test al, al
jne 0x1005d413
mov byte [ebp - 0x651], 0
mov ecx, dword [ebp - 0x658]
test ecx, 0x2000
je 0x1005d468
mov edx, dword [ebp - 0x670]
and ecx, 0xffffdfff
mov dword [ebp - 0x658], ecx
mov dword [ebp - 0x668], edx
test edx, edx
je 0x1005d468
or eax, 0xffffffff
lock xadd dword [edx + 4], eax
jne 0x1005d468
mov eax, dword [edx]
mov ecx, edx
call dword [eax]
mov ecx, dword [ebp - 0x668]
or eax, 0xffffffff
lock xadd dword [ecx + 8], eax
jne 0x1005d462
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0x658]
and ecx, 0xffffefff
mov dword [ebp - 4], 0x20
mov dword [ebp - 0x658], ecx
mov ecx, dword [ebp - 0x624]
mov dword [ebp - 0x668], ecx
test ecx, ecx
je 0x1005d4ae
or eax, 0xffffffff
lock xadd dword [ecx + 4], eax
jne 0x1005d4ae
mov eax, dword [ecx]
call dword [eax]
mov ecx, dword [ebp - 0x668]
or eax, 0xffffffff
lock xadd dword [ecx + 8], eax
jne 0x1005d4ae
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [ebp - 0x651], 0
je 0x1005d56d
mov eax, dword [ebp - 0x67c]
mov eax, dword [eax + 0x20]
dec eax
mov dword [ebp - 0x668], eax
lea eax, [ebp - 0x628]
push eax
call fcn.1003b6a0
add esp, 4
mov eax, dword [eax]
lea ecx, [ebp - 0x73c]
mov byte [ebp - 4], 0x30
mov dword [ebp - 0x670], eax
call fcn.10015e70
mov dword [ebp - 0x660], eax
push str.id_
push eax
mov byte [ebp - 4], 0x31
call fcn.10012080
mov ecx, dword [ebp - 0x660]
add esp, 8
push dword [ebp - 0x668]
call fcn.10015fc0
mov ecx, dword [ebp - 0x670]
push dword [ebp - 0x660]
mov eax, dword [ecx]
call dword [eax + 0x14]
lea ecx, [ebp - 0x73c]
call fcn.10012280
mov ecx, dword [ebp - 0x624]
mov byte [ebp - 4], 0x20
mov dword [ebp - 0x668], ecx
test ecx, ecx
je 0x1005d56d
or eax, 0xffffffff
lock xadd dword [ecx + 4], eax
jne 0x1005d56d
mov eax, dword [ecx]
call dword [eax]
mov ecx, dword [ebp - 0x668]
or eax, 0xffffffff
lock xadd dword [ecx + 8], eax
jne 0x1005d56d
mov eax, dword [ecx]
call dword [eax + 4]
lea eax, [ebp - 0x674]
push eax
call fcn.10021e40
add esp, 4
mov ecx, dword [eax]
mov edx, dword [ebp - 0x67c]
push 2
push edx
mov eax, dword [ecx]
mov byte [ebp - 4], 0x32
call dword [eax + 0x1c]
mov ecx, dword [ebp - 0x670]
mov byte [ebp - 4], 0x20
mov dword [ebp - 0x668], ecx
test ecx, ecx
je 0x1005d5c7
or eax, 0xffffffff
lock xadd dword [ecx + 4], eax
jne 0x1005d5c7
mov eax, dword [ecx]
call dword [eax]
mov ecx, dword [ebp - 0x668]
or eax, 0xffffffff
lock xadd dword [ecx + 8], eax
jne 0x1005d5c7
mov eax, dword [ecx]
call dword [eax + 4]
push dword [ebp - 0x680]
mov ecx, dword [ebp - 0x67c]
lea eax, [ebp - 0x650]
push eax
call fcn.1005b330
cmp dword [ebp - 0x640], 0
mov byte [ebp - 4], 0x33
je 0x1005d67a
call fcn.1000a9e0
mov ecx, eax
test ecx, ecx
je 0x1005da85
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x680], eax
mov eax, str.coupon_sm_F6F81FB4_E766_9107_AC33_23FBB1E93FAB
mov byte [ebp - 4], 0x34
lea ecx, [ebp - 0x680]
test eax, 0xffff0000
jne 0x1005d630
movzx eax, ax
push eax
call fcn.10009c70
jmp 0x1005d63c
push 0x2e
push str.coupon_sm_F6F81FB4_E766_9107_AC33_23FBB1E93FAB
call fcn.10009e80
mov eax, dword [ebp - 0x658]
mov ecx, dword [ebp - 0x67c]
or eax, 0x4000
mov dword [ebp - 0x658], eax
mov dword [ebp - 0x65c], eax
lea eax, [ebp - 0x680]
push eax
lea ecx, [ecx + 0x88]
mov byte [ebp - 4], 0x35
call fcn.10069ae0
mov byte [ebp - 0x651], 1
test eax, eax
jne 0x1005d681
mov byte [ebp - 0x651], 0
mov eax, dword [ebp - 0x658]
mov dword [ebp - 4], 0x33
test eax, 0x4000
je 0x1005d6be
mov edx, dword [ebp - 0x680]
and eax, 0xffffbfff
mov dword [ebp - 0x658], eax
add edx, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x1005d6be
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [ebp - 0x651], 0
je 0x1005d9cd
mov ecx, dword [ebp - 0x67c]
lea eax, [ebp - 0x650]
push 1
push eax
lea ecx, [ecx + 0x88]
call fcn.10069cb0
test eax, eax
je 0x1005d9cd
push 0
push str.RunCouponWndClass
call dword [sym.imp.USER32.dll_FindWindowW]
mov dword [ebp - 0x660], eax
test eax, eax
je 0x1005d953
lea eax, [ebp - 0x628]
push eax
call fcn.1003b6a0
add esp, 4
mov ecx, dword [ebp - 0x658]
or ecx, 0x8000
mov byte [ebp - 4], 0x36
cmp dword [eax], 0
mov dword [ebp - 0x658], ecx
mov dword [ebp - 0x65c], ecx
je 0x1005d77a
lea eax, [ebp - 0x674]
push eax
call fcn.1003b6a0
add esp, 4
mov ecx, dword [ebp - 0x658]
or ecx, 0x10000
mov dword [ebp - 4], 0x37
mov dword [ebp - 0x658], ecx
mov dword [ebp - 0x65c], ecx
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov byte [ebp - 0x651], 1
test al, al
jne 0x1005d781
mov byte [ebp - 0x651], 0
mov edx, dword [ebp - 0x670]
mov dword [ebp - 0x668], edx
test edx, edx
je 0x1005d7c2
test dword [ebp - 0x658], 0x10000
je 0x1005d7c2
or eax, 0xffffffff
lock xadd dword [edx + 4], eax
jne 0x1005d7c2
mov eax, dword [edx]
mov ecx, edx
call dword [eax]
mov ecx, dword [ebp - 0x668]
or eax, 0xffffffff
lock xadd dword [ecx + 8], eax
jne 0x1005d7c2
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0x624]
mov dword [ebp - 4], 0x33
mov dword [ebp - 0x668], ecx
test ecx, ecx
je 0x1005d7fc
or eax, 0xffffffff
lock xadd dword [ecx + 4], eax
jne 0x1005d7fc
mov eax, dword [ecx]
call dword [eax]
mov ecx, dword [ebp - 0x668]
or eax, 0xffffffff
lock xadd dword [ecx + 8], eax
jne 0x1005d7fc
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [ebp - 0x651], 0
je 0x1005d924
mov eax, dword [ebp - 0x640]
mov dword [ebp - 0x668], eax
lea eax, [ebp - 0x628]
push eax
call fcn.1003b6a0
add esp, 4
mov eax, dword [eax]
lea ecx, [ebp - 0x73c]
mov byte [ebp - 4], 0x38
mov dword [ebp - 0x670], eax
call fcn.10015e70
mov dword [ebp - 0x65c], eax
push str.post_msg_:_new_coupon__len
push eax
mov byte [ebp - 4], 0x39
call fcn.10012080
mov ecx, dword [ebp - 0x65c]
add esp, 8
push dword [ebp - 0x668]
call fcn.10020e10
push str.__hwnd
push dword [ebp - 0x65c]
call fcn.10012080
mov ecx, dword [ebp - 0x65c]
add esp, 8
test ecx, ecx
jne 0x1005d885
xor edx, edx
jmp 0x1005d88c
mov eax, dword [ecx]
mov edx, dword [eax + 4]
add edx, ecx
mov eax, dword [edx + 0x14]
push dword [ebp - 0x660]
and eax, 0xfffff9ff
or eax, 0x800
mov dword [edx + 0x14], eax
call fcn.10017b00
push str.__msgid:
push dword [ebp - 0x65c]
call fcn.10012080
mov eax, dword [ebp - 0x67c]
add esp, 8
mov ecx, dword [ebp - 0x65c]
push dword [eax + 0xa8]
call fcn.10020e10
mov ecx, dword [ebp - 0x670]
push dword [ebp - 0x65c]
mov eax, dword [ecx]
call dword [eax + 0x14]
lea ecx, [ebp - 0x73c]
call fcn.10012280
mov ecx, dword [ebp - 0x624]
mov byte [ebp - 4], 0x33
mov dword [ebp - 0x668], ecx
test ecx, ecx
je 0x1005d924
or eax, 0xffffffff
lock xadd dword [ecx + 4], eax
jne 0x1005d924
mov eax, dword [ecx]
call dword [eax]
mov ecx, dword [ebp - 0x668]
or eax, 0xffffffff
lock xadd dword [ecx + 8], eax
jne 0x1005d924
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x67c]
push 0
push dword [ebp - 0x640]
push dword [eax + 0xa8]
push dword [ebp - 0x660]
call dword [sym.imp.USER32.dll_PostMessageW]
push 0
push 0
push 1
push 0
push str.coupon_item_send_m
jmp 0x1005d9c1
push str.coupon_sm_F6F81FB4_E766_9107_AC33_23FBB1E93FAB
lea ecx, [ebp - 0x660]
call fcn.10009b50
mov eax, dword [ebp - 0x67c]
mov byte [ebp - 4], 0x3a
push dword [eax + 0xa0]
lea eax, [ebp - 0x660]
push eax
call fcn.1003e530
mov edx, dword [ebp - 0x660]
add esp, 8
mov dword [ebp - 0x668], eax
add edx, 0xfffffff0
mov byte [ebp - 4], 0x33
or ecx, 0xffffffff
lock xadd dword [edx + 0xc], ecx
dec ecx
test ecx, ecx
jg 0x1005d9b0
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x668]
test eax, eax
je 0x1005d9cd
push 0
push 0
push 1
push 0
push str.coupon_item_send_p
call fcn.10021db0
mov ecx, eax
call fcn.1004fb80
lea ecx, [ebp - 0x650]
call fcn.10011940
lea edx, [edi - 0x10]
mov byte [ebp - 4], 0x1f
or edi, 0xffffffff
mov eax, edi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x1005d9f6
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xa
add esi, 0xfffffff0
mov eax, edi
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x1005da11
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x694]
mov dword [ebp - 4], 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], edi
dec edi
test edi, edi
jg 0x1005da33
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.100763b4
mov esp, ebp
pop ebp
ret
push 0x80004005
call fcn.1000a7c0
call fcn.10087516
push 0x80004005
call fcn.1000a7c0
push 0x80004005
call fcn.1000a7c0
push 0x80004005
call fcn.1000a7c0
push 0x80004005
call fcn.1000a7c0
push 0x80004005
call fcn.1000a7c0
int3