Function at 0x406af0
Capabilities:
Contain obfuscated stackstrings
Delete file
Download url
Parse pe header
Receive data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x55e2d8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x120
push ebx
push esi
push edi
sub esp, 0x18
mov dword [ebp - 0x38], ecx
mov ecx, esp
xor eax, eax
mov dword [ebp - 0x48], eax
push 7
push str.product
mov dword [ecx], eax
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], eax
call fcn.00424490
lea ecx, [ebp - 0x74]
call fcn.00437680
mov ecx, esp
mov dword [ebp - 4], 0
push 0x10
push str.contextual_offer
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.00424490
lea ecx, [ebp - 0x9c]
call fcn.00437680
mov ecx, esp
mov byte [ebp - 4], 1
push 0x10
push str.periodical_offer
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.00424490
lea ecx, [ebp - 0x98]
call fcn.00437680
mov ecx, esp
mov byte [ebp - 4], 2
push 0xa
push str.file_error
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.00424490
lea ecx, [ebp - 0x94]
call fcn.00437680
mov ecx, esp
mov byte [ebp - 4], 3
push 0xa
push str.last_id_d
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.00424490
lea ecx, [ebp - 0x90]
call fcn.00437680
mov ecx, esp
mov byte [ebp - 4], 4
push 8
push str.LastTime
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.00424490
lea ecx, [ebp - 0xa0]
call fcn.00437680
mov ecx, esp
mov byte [ebp - 4], 5
push 0xa
push str.periodical
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.00424490
lea ecx, [ebp - 0x28]
call fcn.00437680
add esp, 0x18
mov byte [ebp - 4], 6
mov edx, dword [eax]
mov ecx, edx
mov dword [ebp - 0x124], 0
mov dword [ebp - 0x114], 0
mov dword [ebp - 0x110], 0
lea esi, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x406c90
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x124]
call fcn.00424490
mov byte [ebp - 4], 8
or edi, 0xffffffff
mov edx, dword [ebp - 0x28]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x406ccd
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
sub esp, 0x18
mov ecx, esp
push 0x55
push str._app_:_offer_:_offerInfo_:_oid_:_d__otype_:_periodical___show_window_:_offer_
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.00424490
lea ecx, [ebp - 0x58]
call fcn.00437680
add esp, 0x18
mov byte [ebp - 4], 9
mov edx, dword [eax]
mov ecx, edx
mov dword [ebp - 0x10c], 0
mov dword [ebp - 0xfc], 0
mov dword [ebp - 0xf8], 0
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x406d26
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x10c]
call fcn.00424490
mov edx, dword [ebp - 0x58]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x406d5c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xc
call fcn.00424e20
mov ecx, eax
test ecx, ecx
je 0x408735
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x78], eax
mov byte [ebp - 4], 0xe
call fcn.00424e20
mov ecx, eax
test ecx, ecx
je 0x40873f
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x58], eax
mov byte [ebp - 4], 0x10
call fcn.00424e20
mov ecx, eax
test ecx, ecx
je 0x408749
mov eax, dword [ecx]
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x24], esi
mov byte [ebp - 4], 0x12
call fcn.00424e20
mov ecx, eax
test ecx, ecx
je 0x408753
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ebx, eax
lea eax, [ebx + 0x10]
mov dword [ebp - 0x12c], eax
mov byte [ebp - 4], 0x14
call fcn.00424e20
mov ecx, eax
test ecx, ecx
je 0x40875d
mov eax, dword [ecx]
call dword [eax + 0xc]
mov dword [ebp - 0x4c], eax
add eax, 0x10
mov dword [ebp - 0x128], eax
sub esp, 0x18
mov byte [ebp - 4], 0x15
mov ecx, esp
push 6
push str.fa.xml
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.00424490
lea ecx, [ebp - 0x34]
call fcn.00437680
add esp, 0x18
mov byte [ebp - 4], 0x16
mov edx, dword [eax]
mov ecx, edx
mov dword [ebp - 0xf4], 0
mov dword [ebp - 0xe4], 0
mov dword [ebp - 0xe0], 0
lea eax, [ecx + 2]
mov dword [ebp - 0x28], eax
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x406e60
sub ecx, dword [ebp - 0x28]
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0xf4]
call fcn.00424490
mov byte [ebp - 4], 0x18
mov eax, edi
mov edx, dword [ebp - 0x34]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x406e9b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
sub esp, 0x18
lea eax, [ebp - 0xf4]
mov ecx, esp
push eax
call fcn.00424b70
lea ecx, [ebp - 0x28]
call fcn.00437900
mov byte [ebp - 4], 0x19
push dword [eax]
mov eax, dword [ebp - 0x38]
push dword [eax + 4]
lea eax, [ebp - 0x78]
push str._ws_ws
push eax
call fcn.0041a6d0
mov byte [ebp - 4], 0x18
add esp, 0x28
mov edx, dword [ebp - 0x28]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x406eef
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
sub esp, 0x18
mov ecx, esp
push 6
push str.LastID
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.00424490
lea ecx, [ebp - 0x18]
call fcn.00437680
add esp, 0x18
mov byte [ebp - 4], 0x1a
mov edx, dword [eax]
mov ecx, edx
mov dword [ebp - 0xdc], 0
mov dword [ebp - 0xcc], 0
mov dword [ebp - 0xc8], 0
lea eax, [ecx + 2]
mov dword [ebp - 0x28], eax
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x406f50
sub ecx, dword [ebp - 0x28]
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0xdc]
call fcn.00424490
mov byte [ebp - 4], 0x1c
mov eax, edi
mov edx, dword [ebp - 0x18]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x406f8b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
sub esp, 0x18
mov ecx, esp
push 8
push str.LastTime
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.00424490
lea ecx, [ebp - 0x34]
call fcn.00437680
add esp, 0x18
mov byte [ebp - 4], 0x1d
mov edx, dword [eax]
mov ecx, edx
mov dword [ebp - 0xc4], 0
mov dword [ebp - 0xb4], 0
mov dword [ebp - 0xb0], 0
lea eax, [ecx + 2]
mov dword [ebp - 0x28], eax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x406fe7
sub ecx, dword [ebp - 0x28]
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0xc4]
call fcn.00424490
mov byte [ebp - 4], 0x1f
mov eax, edi
mov edx, dword [ebp - 0x34]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x407022
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push ecx
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x28], esp
push ecx
mov edi, esp
mov dword [ebp - 0x14], edi
mov ecx, dword [0x5a3734]
lea ecx, [ecx - 0x10]
call fcn.00425550
mov ecx, dword [ebp - 0x28]
add eax, 0x10
mov dword [edi], eax
call fcn.00437b50
sub esp, 0x18
mov byte [ebp - 4], 0x20
lea eax, [ebp - 0xdc]
mov ecx, esp
push eax
call fcn.00424b70
mov ecx, edi
call fcn.00437900
add esp, 0x18
mov byte [ebp - 4], 0x1f
mov edx, SysReAllocString
lea ecx, [ebp - 0x18]
call fcn.004396e0
push dword [eax]
call fcn.0053dfad
mov edx, dword [ebp - 0x18]
add esp, 0xc
mov dword [ebp - 0x50], eax
add edx, 0xfffffff0
or ecx, 0xffffffff
lock xadd dword [edx + 0xc], ecx
dec ecx
test ecx, ecx
jg 0x4070a2
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push ecx
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x28], esp
push ecx
mov edi, esp
mov dword [ebp - 0x14], edi
mov ecx, dword [0x5a3734]
lea ecx, [ecx - 0x10]
call fcn.00425550
mov ecx, dword [ebp - 0x28]
add eax, 0x10
mov dword [edi], eax
call fcn.00437b50
sub esp, 0x18
mov byte [ebp - 4], 0x21
lea eax, [ebp - 0xc4]
mov ecx, esp
push eax
call fcn.00424b70
mov ecx, edi
call fcn.00437900
add esp, 0x18
mov byte [ebp - 4], 0x1f
mov edx, SysReAllocString
lea ecx, [ebp - 0x18]
call fcn.004396e0
push dword [eax]
call fcn.0053dfad
mov edx, dword [ebp - 0x18]
add esp, 0xc
mov dword [ebp - 0x44], eax
add edx, 0xfffffff0
or ecx, 0xffffffff
lock xadd dword [edx + 0xc], ecx
dec ecx
test ecx, ecx
jg 0x407122
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
sub esp, 0x18
mov ecx, esp
push 0x2b
push str.https:__pcapp.store_notify_app_v2.php_guid
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.00424490
lea ecx, [ebp - 0x8c]
call fcn.00437680
mov ecx, esp
mov byte [ebp - 4], 0x22
push 8
push str.lastid
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.00424490
lea ecx, [ebp - 0x88]
call fcn.00437680
mov ecx, esp
mov byte [ebp - 4], 0x23
push 0xa
push str.lasttime
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.00424490
lea ecx, [ebp - 0x84]
call fcn.00437680
mov ecx, esp
mov byte [ebp - 4], 0x24
push 9
push str.nocache
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.00424490
lea ecx, [ebp - 0xa8]
call fcn.00437680
mov ecx, esp
mov byte [ebp - 4], 0x25
push 7
push str.end_v
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.00424490
lea ecx, [ebp - 0xa4]
call fcn.00437680
add esp, 0x18
mov byte [ebp - 4], 0x26
call dword [sym.imp.KERNEL32.dll_GetTickCount64]
push ecx
mov edi, esp
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x3c], edi
mov ecx, dword [ebp - 0xa8]
add ecx, 0xfffffff0
mov dword [ebp - 0x28], edx
call fcn.00425550
add eax, 0x10
lea ecx, [ebp - 0x10]
mov dword [edi], eax
call fcn.00437b50
mov ecx, dword [ebp - 0x38]
mov byte [ebp - 4], 0x27
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
mov eax, dword [ecx + 8]
mov dword [ebp - 0x3c], edi
mov ecx, dword [ebp - 0xa4]
mov dword [ebp - 0x20], eax
lea ecx, [ecx - 0x10]
call fcn.00425550
add eax, 0x10
lea ecx, [ebp - 0x14]
mov dword [edi], eax
call fcn.00437b50
mov byte [ebp - 4], 0x28
mov eax, dword [eax]
mov dword [ebp - 0x3c], edi
mov ecx, dword [ebp - 0x84]
mov dword [ebp - 0x30], eax
lea ecx, [ecx - 0x10]
call fcn.00425550
add eax, 0x10
lea ecx, [ebp - 0x2c]
mov dword [edi], eax
call fcn.00437b50
mov byte [ebp - 4], 0x29
mov eax, dword [eax]
mov dword [ebp - 0x3c], edi
mov ecx, dword [ebp - 0x88]
mov dword [ebp - 0xac], eax
lea ecx, [ecx - 0x10]
call fcn.00425550
add eax, 0x10
lea ecx, [ebp - 0x40]
mov dword [edi], eax
call fcn.00437b50
mov ecx, dword [ebp - 0x38]
mov byte [ebp - 4], 0x2a
mov eax, dword [eax]
mov dword [ebp - 0x7c], eax
mov eax, dword [ecx]
mov dword [ebp - 0x1c], edi
mov ecx, dword [ebp - 0x8c]
mov dword [ebp - 0x3c], eax
lea ecx, [ecx - 0x10]
call fcn.00425550
add eax, 0x10
lea ecx, [ebp - 0x80]
mov dword [edi], eax
call fcn.00437b50
add esp, 4
mov byte [ebp - 4], 0x2b
push dword [ebp - 0x28]
push dword [ebp - 0x34]
push dword [ebp - 0x18]
push dword [ebp - 0x20]
push dword [ebp - 0x30]
push dword [ebp - 0x44]
push dword [ebp - 0xac]
push dword [ebp - 0x50]
push dword [ebp - 0x7c]
push dword [ebp - 0x3c]
push dword [eax]
lea eax, [ebp - 0x58]
push str._ws_ws_ws_d_ws_d_ws_ws_ws_llu
push eax
call fcn.0041a6d0
mov edx, dword [ebp - 0x80]
or edi, 0xffffffff
add esp, 0x34
add edx, 0xfffffff0
mov eax, edi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x407352
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x40]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40736c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x2c]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x407386
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x14]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4073a0
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x26
mov eax, edi
mov edx, dword [ebp - 0x10]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4073be
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edi, dword [ebp - 0x78]
push 0
push 0
push edi
push dword [ebp - 0x58]
push 0
call dword [sym.imp.urlmon.dll_URLDownloadToFileW]
push 0x5763cc
push edi
call fcn.0053e1a3
add esp, 8
mov dword [ebp - 0x44], eax
test eax, eax
je 0x40827a
mov edx, eax
lea ecx, [ebp - 0x10]
call fcn.00439a90
push eax
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0x2c
call fcn.00418c30
mov edx, dword [ebp - 0x10]
or eax, 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40741c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [ebp - 0x24]
mov ecx, 0x57ecb4
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x40744c
test dx, dx
je 0x407448
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x40744c
add eax, 4
add ecx, 4
test dx, dx
jne 0x407426
xor eax, eax
jmp 0x407451
sbb eax, eax
or eax, 1
mov byte [ebp - 4], 0x26
test eax, eax
jne 0x4074f7
mov edx, dword [ebp - 0x44]
lea ecx, [ebp - 0x10]
call fcn.00439a90
mov ecx, dword [ebp - 0x38]
add ecx, 0x408
mov byte [ebp - 4], 0x2e
push eax
call fcn.00418c30
mov edx, dword [ebp - 0x10]
or eax, 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x407496
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x38]
mov ecx, 0x57ecb4
mov eax, dword [eax + 0x408]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4074ca
test dx, dx
je 0x4074c6
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4074ca
add eax, 4
add ecx, 4
test dx, dx
jne 0x4074a4
xor eax, eax
jmp 0x4074cf
sbb eax, eax
or eax, 1
mov byte [ebp - 4], 0x26
test eax, eax
jne 0x408263
mov ecx, dword [ebp - 0x38]
push eax
push 0x57ece0
mov byte [ecx + 0x16], al
lea ecx, [ecx + 0x408]
call fcn.00425360
jmp 0x408263
mov ecx, 0x5763d0
mov eax, esi
nop
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x407526
test dx, dx
je 0x407522
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x407526
add eax, 4
add ecx, 4
test dx, dx
jne 0x407500
xor eax, eax
jmp 0x40752b
sbb eax, eax
or eax, 1
mov byte [ebp - 4], 0x26
test eax, eax
jne 0x407cbb
call fcn.00424e20
mov ecx, eax
test ecx, ecx
je 0x408767
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x18], eax
push 0x57ece0
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x31
call fcn.00425090
test al, al
jne 0x407575
push 0
push 0x57ece0
lea ecx, [ebp - 0x18]
call fcn.00425360
mov byte [ebp - 4], 0x32
call fcn.00424e20
mov ecx, eax
test ecx, ecx
je 0x408771
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x20], eax
push 0x57ece0
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0x33
call fcn.00425090
test al, al
jne 0x4075b7
push 0
push 0x57ece0
lea ecx, [ebp - 0x20]
call fcn.00425360
mov byte [ebp - 4], 0x34
call fcn.00424e20
mov ecx, eax
test ecx, ecx
je 0x40877b
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x30], eax
push 0x57ece0
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x35
call fcn.00425090
test al, al
jne 0x4075f9
push 0
push 0x57ece0
lea ecx, [ebp - 0x30]
call fcn.00425360
push ecx
mov byte [ebp - 4], 0x36
mov edi, esp
mov dword [ebp - 0x1c], edi
mov ecx, dword [ebp - 0x9c]
lea ecx, [ecx - 0x10]
call fcn.00425550
add eax, 0x10
lea ecx, [ebp - 0x2c]
mov dword [edi], eax
call fcn.00437b50
mov dword [ebp - 0x10], eax
mov byte [ebp - 4], 0x37
mov dword [ebp - 0x1c], edi
mov ecx, dword [ebp - 0x74]
add ecx, 0xfffffff0
call fcn.00425550
add eax, 0x10
lea ecx, [ebp - 0x14]
mov dword [edi], eax
call fcn.00437b50
add esp, 4
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x38
mov edx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x20]
push ecx
lea ecx, [ebp - 0x30]
push ecx
mov ecx, eax
call fcn.004470d0
mov edx, dword [ebp - 0x14]
or edi, 0xffffffff
add esp, 0xc
add edx, 0xfffffff0
mov eax, edi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40767d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x2c]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x407697
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x30]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4076b1
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x20]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4076cb
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x26
mov eax, edi
mov edx, dword [ebp - 0x18]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4076e9
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0x18
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0
call fcn.00532272
add esp, 4
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [eax + 8], eax
mov word [eax + 0xc], 0x101
mov dword [ebp - 0x54], eax
push dword [ebp - 0x44]
mov byte [ebp - 4], 0x39
call fcn.0053e1ba
add esp, 4
test eax, eax
jne 0x407bc2
nop dword [eax]
mov edx, dword [ebp - 0x44]
lea ecx, [ebp - 0x10]
call fcn.00439a90
push eax
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0x3a
call fcn.00418c30
mov byte [ebp - 4], 0x39
mov eax, edi
mov edx, dword [ebp - 0x10]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x407766
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [ebp - 0x24]
cmp dword [esi - 0xc], 0x14
jl 0x407baf
push 8
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x24]
call fcn.00418990
mov edi, eax
mov byte [ebp - 4], 0x3b
mov eax, dword [edi]
cmp dword [eax - 4], 1
jle 0x407799
push dword [eax - 0xc]
mov ecx, edi
call fcn.004251f0
mov edx, dword [edi]
mov ecx, edx
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0
lea edi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4077b5
sub ecx, edi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x70]
call fcn.00424490
mov byte [ebp - 4], 0x3c
call fcn.005371dd
cmp dword [ebp - 0x5c], 8
lea edi, [ebp - 0x70]
mov dword [ebp - 0x2c], eax
cmovae edi, dword [ebp - 0x70]
mov dword [eax], 0
lea eax, [ebp - 0x14]
push 0x10
push eax
push edi
call fcn.0053e30a
add esp, 0xc
cmp edi, dword [ebp - 0x14]
je 0x408795
mov ecx, dword [ebp - 0x2c]
cmp dword [ecx], 0x22
je 0x40878b
test edx, edx
ja 0x40781a
jb 0x40781d
cmp eax, 0xffffffff
jbe 0x40781d
or eax, 0xffffffff
mov byte [ebp - 4], 0x3b
mov ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x34], eax
cmp ecx, 8
jb 0x40785e
mov edx, dword [ebp - 0x70]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x407854
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4087f4
push ecx
push edx
call fcn.00532241
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0x39
mov edx, dword [ebp - 0x40]
mov word [ebp - 0x70], ax
add edx, 0xfffffff0
mov dword [ebp - 0x60], 0
or eax, 0xffffffff
mov dword [ebp - 0x5c], 7
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x407891
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [esi - 0xc]
lea ecx, [ebp - 0x24]
push 8
add eax, 0xfffffff8
push eax
call fcn.00418b50
push ecx
mov edi, esp
mov dword [ebp - 0x1c], edi
mov esi, dword [ebp - 0x24]
lea ecx, [esi - 0x10]
call fcn.00425550
add eax, 0x10
mov dword [edi], eax
call fcn.00438850
add esp, 4
cmp eax, dword [ebp - 0x34]
jne 0x407bac
cmp dword [esi - 0xc], 4
jg 0x4078e2
lea ecx, [esi - 0x10]
call fcn.00425550
lea edi, [eax + 0x10]
mov dword [ebp - 0x18], edi
jmp 0x40796a
mov ecx, dword [esi - 0x10]
test ecx, ecx
je 0x4078f4
mov eax, dword [ecx]
call dword [eax + 0x10]
mov ecx, eax
test ecx, ecx
jne 0x40790a
call fcn.00424e20
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x10]
mov ecx, eax
test ecx, ecx
je 0x408735
test esi, esi
je 0x4087a4
mov eax, dword [ecx]
push 2
push 4
call dword [eax]
test eax, eax
je 0x40879f
cmp dword [eax + 8], 4
lea edi, [eax + 0x10]
mov dword [ebp - 0x18], edi
jl 0x4087a4
xor ecx, ecx
mov dword [eax + 4], 4
mov word [eax + 0x18], cx
test edi, edi
je 0x40795a
test esi, esi
je 0x407953
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov dword [edi], eax
mov dword [edi + 4], ecx
jmp 0x40796a
xorps xmm0, xmm0
movq qword [edi], xmm0
call fcn.005371dd
mov dword [eax], 0x16
call fcn.005370df
mov ecx, dword [ebp - 0x48]
mov eax, edi
or ecx, 1
mov dword [ebp - 0x48], ecx
mov byte [ebp - 4], 0x3d
cmp dword [eax - 4], 1
jle 0x40798d
push dword [eax - 0xc]
lea ecx, [ebp - 0x18]
call fcn.004251f0
mov edi, dword [ebp - 0x18]
mov ecx, edi
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4079a7
sub ecx, edx
sar ecx, 1
push ecx
push edi
lea ecx, [ebp - 0x70]
call fcn.00424490
mov byte [ebp - 4], 0x3e
call fcn.005371dd
cmp dword [ebp - 0x5c], 8
lea esi, [ebp - 0x70]
mov dword [ebp - 0x2c], eax
cmovae esi, dword [ebp - 0x70]
mov dword [eax], 0
lea eax, [ebp - 0x80]
push 0x10
push eax
push esi
call fcn.0053e30a
add esp, 0xc
mov dword [ebp - 0x20], eax
cmp esi, dword [ebp - 0x80]
je 0x408795
mov ecx, dword [ebp - 0x2c]
cmp dword [ecx], 0x22
je 0x40878b
test edx, edx
ja 0x407a0f
jb 0x407a16
cmp eax, 0xffffffff
jbe 0x407a16
mov dword [ebp - 0x20], 0xffffffff
mov byte [ebp - 4], 0x3d
mov ecx, dword [ebp - 0x5c]
cmp ecx, 8
jb 0x407a54
mov edx, dword [ebp - 0x70]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x407a4a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4087f4
push ecx
push edx
call fcn.00532241
add esp, 8
xor eax, eax
mov dword [ebp - 0x60], 0
lea edx, [edi - 0x10]
mov word [ebp - 0x70], ax
or edi, 0xffffffff
mov dword [ebp - 0x5c], 7
mov byte [ebp - 4], 0x39
mov eax, edi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x407a86
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 4
push 0
lea ecx, [ebp - 0x24]
call fcn.00418b50
mov esi, dword [ebp - 0x24]
cmp dword [esi - 0xc], 0
jle 0x407baf
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x48], eax
push 8
lea eax, [ebp - 0x7c]
push eax
lea ecx, [ebp - 0x24]
call fcn.00418990
mov edi, eax
mov byte [ebp - 4], 0x3f
mov eax, dword [edi]
cmp dword [eax - 4], 1
jle 0x407acb
push dword [eax - 0xc]
mov ecx, edi
call fcn.004251f0
mov edx, dword [edi]
mov eax, edx
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0
lea edi, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x407ae7
sub eax, edi
lea ecx, [ebp - 0x70]
sar eax, 1
push eax
push edx
call fcn.00424490
mov byte [ebp - 4], 0x40
call fcn.005371dd
cmp dword [ebp - 0x5c], 8
lea edi, [ebp - 0x70]
mov dword [ebp - 0x2c], eax
cmovae edi, dword [ebp - 0x70]
mov dword [eax], 0
lea eax, [ebp - 0x3c]
push 0x10
push eax
push edi
call fcn.0053e30a
add esp, 0xc
cmp edi, dword [ebp - 0x3c]
je 0x408795
mov ecx, dword [ebp - 0x2c]
cmp dword [ecx], 0x22
je 0x40878b
test edx, edx
ja 0x407b4c
jb 0x407b4f
cmp eax, 0xffffffff
jbe 0x407b4f
or eax, 0xffffffff
lea ecx, [ebp - 0x70]
mov dword [ebp - 0x34], eax
call fcn.00425650
mov byte [ebp - 4], 0x39
or edi, 0xffffffff
mov edx, dword [ebp - 0x7c]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x407b7b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea eax, [ebp - 0x34]
push eax
lea ecx, [ebp - 0x54]
call fcn.00418190
mov ecx, dword [ebp - 0x20]
push 8
mov dword [eax], ecx
lea ecx, [ebp - 0x24]
mov eax, dword [esi - 0xc]
add eax, 0xfffffff8
push eax
call fcn.00418b50
mov esi, dword [ebp - 0x24]
cmp dword [esi - 0xc], 0
jg 0x407aa5
jmp 0x407baf
or edi, 0xffffffff
push dword [ebp - 0x44]
call fcn.0053e1ba
add esp, 4
test eax, eax
je 0x407730
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x410]
mov dword [ebp - 0x18], eax
lea edi, [eax + 0xc]
push edi
mov dword [ebp - 0x1c], edi
call fcn.0051ebc6
add esp, 4
test eax, eax
jne 0x408785
mov byte [ebp - 4], 0x41
lea eax, [ebp - 0x54]
mov ecx, dword [ebp - 0x18]
add ecx, 4
cmp ecx, eax
je 0x407c8c
mov eax, dword [ecx]
mov dword [ebp - 0x10], eax
push dword [eax + 4]
push ecx
call fcn.0041bb80
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x18]
add ecx, 4
mov dword [eax + 4], eax
mov dword [eax], eax
mov dword [eax + 8], eax
push dword [ecx]
mov dword [ecx + 4], 0
mov eax, dword [ebp - 0x54]
push dword [eax + 4]
call fcn.00450e20
mov edx, dword [ebp - 0x18]
mov ecx, dword [edx + 4]
mov dword [ecx + 4], eax
mov ecx, dword [edx + 4]
mov eax, dword [ebp - 0x50]
mov dword [edx + 8], eax
mov eax, dword [ecx + 4]
cmp byte [eax + 0xd], 0
jne 0x407c84
mov ecx, dword [eax]
cmp byte [ecx + 0xd], 0
jne 0x407c60
mov eax, dword [ecx]
mov dword [ebp - 0x10], ecx
mov ecx, eax
cmp byte [eax + 0xd], 0
je 0x407c50
mov eax, dword [ebp - 0x10]
mov ecx, dword [edx + 4]
mov dword [ecx], eax
mov edx, dword [edx + 4]
mov ecx, dword [edx + 4]
mov eax, dword [ecx + 8]
cmp byte [eax + 0xd], 0
jne 0x407c7f
mov ecx, eax
mov eax, dword [ecx + 8]
cmp byte [eax + 0xd], 0
je 0x407c74
mov dword [edx + 8], ecx
jmp 0x407c8c
mov dword [ecx], ecx
mov eax, dword [edx + 4]
mov dword [eax + 8], eax
push edi
call fcn.0051ebd7
mov eax, dword [ebp - 0x54]
add esp, 4
push dword [eax + 4]
lea eax, [ebp - 0x54]
push eax
mov ecx, eax
call fcn.0041bb80
push 0x18
push dword [ebp - 0x54]
call fcn.00532241
mov edi, dword [ebp - 0x78]
add esp, 8
jmp 0x408263
sub esp, 0x18
mov ecx, esp
push 6
push str.LastID
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.00424490
lea ecx, [ebp - 0x28]
call fcn.00437680
mov ecx, esp
mov byte [ebp - 4], 0x42
push 8
push str.LastTime
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.00424490
lea ecx, [ebp - 0x48]
call fcn.00437680
add esp, 0x18
mov byte [ebp - 4], 0x43
cmp dword [esi - 4], 1
jle 0x407d31
push dword [esi - 0xc]
lea ecx, [ebp - 0x24]
call fcn.004251f0
mov esi, dword [ebp - 0x24]
push esi
call fcn.0053dfad
mov dword [ebp - 0x1c], esp
mov dword [ebp - 0x14], esp
push ecx
mov dword [ebp - 0x10], esp
mov ecx, dword [0x5a3734]
add ecx, 0xfffffff0
mov dword [ebp - 0x34], eax
call fcn.00425550
mov ecx, esp
add eax, 0x10
mov dword [ecx], eax
mov ecx, dword [ebp - 0x14]
call fcn.00437b50
mov byte [ebp - 4], 0x44
lea ecx, [esi - 0x10]
mov dword [ebp - 0x14], esp
mov dword [ebp - 0x10], esp
call fcn.00425550
mov ecx, esp
add eax, 0x10
mov dword [ecx], eax
push ecx
mov byte [ebp - 4], 0x45
mov dword [ebp - 0x10], esp
push ecx
mov esi, esp
mov dword [ebp - 0x40], esi
mov ecx, dword [ebp - 0x28]
lea ecx, [ecx - 0x10]
call fcn.00425550
mov ecx, dword [ebp - 0x10]
add eax, 0x10
mov dword [esi], eax
call fcn.00437b50
add esp, 4
mov byte [ebp - 4], 0x43
mov ecx, SysReAllocString
call fcn.00439880
mov edx, dword [ebp - 0x44]
lea ecx, [ebp - 0x2c]
add esp, 0xc
call fcn.00439a90
push eax
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0x46
call fcn.00418c30
mov byte [ebp - 4], 0x43
or eax, 0xffffffff
mov edx, dword [ebp - 0x2c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x407deb
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [ebp - 0x24]
cmp dword [esi - 4], 1
jle 0x407e02
push dword [esi - 0xc]
lea ecx, [ebp - 0x24]
call fcn.004251f0
mov esi, dword [ebp - 0x24]
push esi
call fcn.0053dfad
mov dword [ebp - 0x1c], esp
mov dword [ebp - 0x14], esp
push ecx
mov dword [ebp - 0x10], esp
mov ecx, dword [0x5a3734]
lea ecx, [ecx - 0x10]
call fcn.00425550
mov ecx, esp
add eax, 0x10
mov dword [ecx], eax
mov ecx, dword [ebp - 0x14]
call fcn.00437b50
mov byte [ebp - 4], 0x47
lea ecx, [esi - 0x10]
mov dword [ebp - 0x2c], esp
mov dword [ebp - 0x10], esp
call fcn.00425550
mov ecx, esp
add eax, 0x10
mov dword [ecx], eax
push ecx
mov byte [ebp - 4], 0x48
mov dword [ebp - 0x14], esp
push ecx
mov dword [ebp - 0x10], esp
mov ecx, dword [ebp - 0x48]
lea ecx, [ecx - 0x10]
call fcn.00425550
mov ecx, dword [ebp - 0x14]
mov edx, esp
add eax, 0x10
mov dword [edx], eax
call fcn.00437b50
add esp, 4
mov byte [ebp - 4], 0x43
mov ecx, SysReAllocString
call fcn.00439880
add esp, 0xc
mov byte [ebp - 4], 0x49
call fcn.00424e20
mov ecx, eax
test ecx, ecx
je 0x4087ae
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x30], eax
mov byte [ebp - 4], 0x4a
push dword [ebp - 0x34]
push ecx
mov dword [ebp - 0x10], esp
mov ecx, dword [ebp - 0x90]
lea ecx, [ecx - 0x10]
call fcn.00425550
mov ecx, esp
add eax, 0x10
mov dword [ecx], eax
lea ecx, [ebp - 0x14]
call fcn.00437b50
add esp, 4
mov byte [ebp - 4], 0x4b
push dword [eax]
lea eax, [ebp - 0x30]
push eax
call fcn.0041a6d0
mov byte [ebp - 4], 0x4a
add esp, 0xc
mov edx, dword [ebp - 0x14]
or eax, 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x407efc
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.00424e20
mov ecx, eax
test ecx, ecx
je 0x4087b8
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x20], eax
push 0x57ece0
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0x4c
call fcn.00425090
test al, al
jne 0x407f3a
push 0
push 0x57ece0
lea ecx, [ebp - 0x20]
call fcn.00425360
mov byte [ebp - 4], 0x4d
call fcn.00424e20
mov ecx, eax
test ecx, ecx
je 0x4087c2
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x18], eax
push 0x57ece0
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x4e
call fcn.00425090
test al, al
jne 0x407f7c
push 0
push 0x57ece0
lea ecx, [ebp - 0x18]
call fcn.00425360
push ecx
mov byte [ebp - 4], 0x4f
mov dword [ebp - 0x10], esp
mov ecx, dword [ebp - 0x98]
lea ecx, [ecx - 0x10]
call fcn.00425550
mov ecx, esp
add eax, 0x10
mov dword [ecx], eax
lea ecx, [ebp - 0x40]
call fcn.00437b50
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 0x50
mov dword [ebp - 0x10], esp
mov ecx, dword [ebp - 0x74]
add ecx, 0xfffffff0
call fcn.00425550
mov ecx, esp
add eax, 0x10
mov dword [ecx], eax
lea ecx, [ebp - 0x2c]
call fcn.00437b50
add esp, 4
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0x51
mov edx, dword [ebp - 0x14]
push ecx
lea ecx, [ebp - 0x18]
push ecx
lea ecx, [ebp - 0x30]
push ecx
mov ecx, eax
call fcn.004470d0
mov edx, dword [ebp - 0x2c]
add esp, 0xc
add edx, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x408000
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x40]
or eax, 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40801b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x18]
or eax, 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x408036
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x4a
or eax, 0xffffffff
mov edx, dword [ebp - 0x20]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x408055
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp dword [ebp - 0x34], 0
je 0x408212
mov eax, dword [ebp - 0x38]
cmp dword [eax + 0x4cc], 0
jne 0x408212
mov byte [ebp - 4], 0x52
call fcn.00424e20
mov ecx, eax
test ecx, ecx
je 0x4087cc
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x38]
mov byte [ebp - 4], 0x53
mov eax, dword [ebp - 0x34]
push eax
sub esp, 0x18
mov dword [ecx + 0x4c8], eax
lea eax, [ebp - 0x10c]
mov ecx, esp
push eax
call fcn.00424b70
lea ecx, [ebp - 0x10]
call fcn.00437900
add esp, 0x18
mov byte [ebp - 4], 0x54
push dword [eax]
lea eax, [ebp - 0x18]
push eax
call fcn.0041a6d0
mov byte [ebp - 4], 0x53
add esp, 0xc
mov edx, dword [ebp - 0x10]
or eax, 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4080eb
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
sub esp, 0x18
lea eax, [ebp - 0x124]
mov ecx, esp
push eax
call fcn.00424b70
lea ecx, [ebp - 0x14]
call fcn.00437900
add esp, 0x18
mov byte [ebp - 4], 0x55
mov edx, dword [eax]
mov ecx, edx
lea eax, [ecx + 2]
mov dword [ebp - 0x10], eax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x408115
sub ecx, dword [ebp - 0x10]
sar ecx, 1
push ecx
mov ecx, dword [ebp - 0x38]
push edx
lea ecx, [ecx + 0x4d4]
call fcn.00424700
mov byte [ebp - 4], 0x53
or eax, 0xffffffff
mov edx, dword [ebp - 0x14]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x408154
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
sub esp, 0x18
mov ecx, esp
push 0x31
push str._app_:__notifications_:__offerIsOpen_:_true
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.00424490
lea ecx, [ebp - 0x20]
call fcn.00437680
add esp, 0x18
push 0x80
push ecx
mov byte [ebp - 4], 0x56
mov dword [ebp - 0x14], esp
push ecx
mov dword [ebp - 0x10], esp
mov ecx, dword [ebp - 0x20]
lea ecx, [ecx - 0x10]
call fcn.00425550
mov ecx, esp
add eax, 0x10
mov dword [ecx], eax
mov ecx, dword [ebp - 0x14]
call fcn.00437b50
mov ecx, dword [ebp - 0x38]
add esp, 4
call fcn.00403fc0
push 8
push ecx
mov dword [ebp - 0x10], esp
mov eax, dword [ebp - 0x18]
add eax, 0xfffffff0
mov ecx, eax
mov dword [ebp - 0x14], eax
call fcn.00425550
mov ecx, esp
add eax, 0x10
mov dword [ecx], eax
mov ecx, dword [ebp - 0x38]
call fcn.00403fc0
mov edx, dword [ebp - 0x20]
or eax, 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4081fa
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x14]
or eax, 0xffffffff
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x408212
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x30]
or eax, 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40822d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x48]
or eax, 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x408248
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x28]
or eax, 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x408263
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push dword [ebp - 0x44]
call fcn.0053e47b
add esp, 4
push edi
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
jmp 0x40842c
call fcn.00424e20
mov ecx, eax
test ecx, ecx
je 0x4087d6
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x30], eax
push 0x57ece0
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x57
call fcn.00425090
test al, al
jne 0x4082b8
push 0
push 0x57ece0
lea ecx, [ebp - 0x30]
call fcn.00425360
mov byte [ebp - 4], 0x58
call fcn.00424e20
mov ecx, eax
test ecx, ecx
je 0x4087e0
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x20], eax
push 0x57ece0
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0x59
call fcn.00425090
test al, al
jne 0x4082fa
push 0
push 0x57ece0
lea ecx, [ebp - 0x20]
call fcn.00425360
mov byte [ebp - 4], 0x5a
call fcn.00424e20
mov ecx, eax
test ecx, ecx
je 0x4087ea
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x18], eax
push 0x57ece0
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x5b
call fcn.00425090
test al, al
jne 0x40833c
push 0
push 0x57ece0
lea ecx, [ebp - 0x18]
call fcn.00425360
push ecx
mov byte [ebp - 4], 0x5c
mov dword [ebp - 0x10], esp
mov ecx, dword [ebp - 0x94]
lea ecx, [ecx - 0x10]
call fcn.00425550
mov ecx, esp
add eax, 0x10
mov dword [ecx], eax
lea ecx, [ebp - 0x40]
call fcn.00437b50
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 0x5d
mov dword [ebp - 0x10], esp
mov ecx, dword [ebp - 0x74]
add ecx, 0xfffffff0
call fcn.00425550
mov ecx, esp
add eax, 0x10
mov dword [ecx], eax
lea ecx, [ebp - 0x2c]
call fcn.00437b50
add esp, 4
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x5e
mov edx, dword [ebp - 0x14]
push ecx
lea ecx, [ebp - 0x20]
push ecx
lea ecx, [ebp - 0x18]
push ecx
mov ecx, eax
call fcn.004470d0
mov edx, dword [ebp - 0x2c]
add esp, 0xc
add edx, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4083c0
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x40]
or eax, 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4083db
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x18]
or eax, 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4083f6
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x20]
or eax, 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x408411
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x30]
or eax, 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40842c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0xa4]
or eax, 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40844a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0xa8]
or eax, 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x408468
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x84]
or eax, 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x408486
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x88]
or eax, 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4084a4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x8c]
or eax, 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4084c2
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0xb0]
cmp ecx, 8
jb 0x408502
mov edx, dword [ebp - 0xc4]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4084f8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4087f4
push ecx
push edx
call fcn.00532241
add esp, 8
mov ecx, dword [ebp - 0xc8]
cmp ecx, 8
jb 0x408542
mov edx, dword [ebp - 0xdc]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x408538
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4087f4
push ecx
push edx
call fcn.00532241
add esp, 8
mov ecx, dword [ebp - 0xe0]
cmp ecx, 8
jb 0x408582
mov edx, dword [ebp - 0xf4]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x408578
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4087f4
push ecx
push edx
call fcn.00532241
add esp, 8
mov edx, dword [ebp - 0x4c]
or eax, 0xffffffff
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40859a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, ebx
or ebx, 0xffffffff
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4085b3
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
add esi, 0xfffffff0
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x4085ca
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x58]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4085e4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
add edi, 0xfffffff0
mov eax, ebx
lock xadd dword [edi + 0xc], eax
dec eax
test eax, eax
jg 0x4085fb
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0xf8]
cmp ecx, 8
jb 0x40863b
mov edx, dword [ebp - 0x10c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x408631
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4087f4
push ecx
push edx
call fcn.00532241
add esp, 8
mov ecx, dword [ebp - 0x110]
cmp ecx, 8
jb 0x40867b
mov edx, dword [ebp - 0x124]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x408671
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4087f4
push ecx
push edx
call fcn.00532241
add esp, 8
mov edx, dword [ebp - 0xa0]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x408698
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x90]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4086b5
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x94]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4086d2
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x98]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4086ef
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x9c]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40870c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x74]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], ebx
dec ebx
test ebx, ebx
jg 0x408724
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret
push 0x80004005
call fcn.00425520
push 0x80004005
call fcn.00425520
push 0x80004005
call fcn.00425520
push 0x80004005
call fcn.00425520
push 0x80004005
call fcn.00425520
push 0x80004005
call fcn.00425520
push 0x80004005
call fcn.00425520
push 0x80004005
call fcn.00425520
push eax
call fcn.0051ec4f
push str.stoll_argument_out_of_range
call fcn.0051b506
push str.invalid_stoll_argument
call fcn.0051b4c6
call fcn.00425540
push 0x80070057
call fcn.00425520
push 0x80004005
call fcn.00425520
push 0x80004005
call fcn.00425520
push 0x80004005
call fcn.00425520
push 0x80004005
call fcn.00425520
push 0x80004005
call fcn.00425520
push 0x80004005
call fcn.00425520
push 0x80004005
call fcn.00425520
call fcn.005370ef
int3