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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x482418
mov eax, dword fs:[0]
push eax
sub esp, 0x34
mov eax, dword [0x4ade78]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push str._codedownloaddomain
lea ecx, [ebp - 0x1c]
mov dword [ebp - 4], 0
call fcn.00401b30
lea eax, [ebp - 0x24]
push eax
mov byte [ebp - 4], 1
call fcn.00453ff0
add esp, 4
mov esi, eax
push 0x4922e8
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 2
call fcn.00401b30
lea ecx, [ebp - 0x1c]
push ecx
push eax
lea eax, [ebp - 0x18]
push eax
mov byte [ebp - 4], 3
call fcn.0041c800
push esi
push eax
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 4], 4
call fcn.0041c800
add esp, 0x18
mov eax, dword [eax]
lea ecx, [ebp + 8]
push dword [eax - 0xc]
mov byte [ebp - 4], 5
push eax
call fcn.004035a0
mov edx, dword [ebp - 0x14]
add edx, 0xfffffff0
or edi, 0xffffffff
mov byte [ebp - 4], 4
lea ecx, [edx + 0xc]
mov eax, edi
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x4574db
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x18]
add edx, 0xfffffff0
mov byte [ebp - 4], 3
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4574fb
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x20]
add edx, 0xfffffff0
mov byte [ebp - 4], 2
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x45751b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x24]
add edx, 0xfffffff0
mov byte [ebp - 4], 1
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x45753b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x1c]
add edx, 0xfffffff0
mov byte [ebp - 4], 0
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x45755b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push str._installerfullversion
lea ecx, [ebp - 0x1c]
call fcn.00401b30
lea eax, [ebp - 0x24]
push eax
mov byte [ebp - 4], 6
call fcn.004543a0
add esp, 4
mov esi, eax
push 0x4922e8
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 7
call fcn.00401b30
lea ecx, [ebp - 0x1c]
push ecx
push eax
lea eax, [ebp - 0x18]
push eax
mov byte [ebp - 4], 8
call fcn.0041c800
push esi
push eax
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 4], 9
call fcn.0041c800
add esp, 0x18
mov eax, dword [eax]
lea ecx, [ebp + 8]
push dword [eax - 0xc]
mov byte [ebp - 4], 0xa
push eax
call fcn.004035a0
mov edx, dword [ebp - 0x14]
add edx, 0xfffffff0
mov byte [ebp - 4], 9
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4575e1
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x18]
add edx, 0xfffffff0
mov byte [ebp - 4], 8
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x457601
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x20]
add edx, 0xfffffff0
mov byte [ebp - 4], 7
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x457621
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x24]
add edx, 0xfffffff0
mov byte [ebp - 4], 6
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x457641
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x1c]
add edx, 0xfffffff0
mov byte [ebp - 4], 0
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x457661
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push str._installationtime
lea ecx, [ebp - 0x1c]
call fcn.00401b30
push 0x4922e8
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0xb
call fcn.00401b30
lea ecx, [ebp - 0x1c]
push ecx
push eax
lea eax, [ebp - 0x18]
push eax
mov byte [ebp - 4], 0xc
call fcn.0041c800
mov esi, eax
mov byte [ebp - 4], 0xd
call fcn.00454170
push eax
lea eax, [ebp - 0x14]
push esi
push eax
call fcn.0041c880
add esp, 0x18
mov eax, dword [eax]
lea ecx, [ebp + 8]
push dword [eax - 0xc]
mov byte [ebp - 4], 0xe
push eax
call fcn.004035a0
mov edx, dword [ebp - 0x14]
add edx, 0xfffffff0
mov byte [ebp - 4], 0xd
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4576dc
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x18]
add edx, 0xfffffff0
mov byte [ebp - 4], 0xc
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4576fc
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x20]
add edx, 0xfffffff0
mov byte [ebp - 4], 0xb
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x45771c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x1c]
add edx, 0xfffffff0
mov byte [ebp - 4], 0
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x45773c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0x490f70
lea ecx, [ebp - 0x14]
call fcn.00401b30
push str._appid
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0xf
call fcn.00401b30
lea eax, [ebp - 0x14]
push eax
push dword [0x4adbb0]
lea eax, [ebp - 0x28]
push eax
mov byte [ebp - 4], 0x10
call fcn.00453040
add esp, 0xc
mov esi, eax
push 0x4922e8
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0x11
call fcn.00401b30
lea ecx, [ebp - 0x1c]
push ecx
push eax
lea eax, [ebp - 0x20]
push eax
mov byte [ebp - 4], 0x12
call fcn.0041c800
push esi
push eax
lea eax, [ebp - 0x18]
push eax
mov byte [ebp - 4], 0x13
call fcn.0041c800
add esp, 0x18
mov eax, dword [eax]
lea ecx, [ebp + 8]
push dword [eax - 0xc]
mov byte [ebp - 4], 0x14
push eax
call fcn.004035a0
mov edx, dword [ebp - 0x18]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x13
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4577dd
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x20]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x12
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4577fd
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x24]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x11
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x45781d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x28]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x10
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x45783d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x1c]
add edx, 0xfffffff0
mov byte [ebp - 4], 0xf
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x45785d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x14]
add edx, 0xfffffff0
mov byte [ebp - 4], 0
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x45787d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push str._bic
lea ecx, [ebp - 0x1c]
call fcn.00401b30
lea eax, [ebp - 0x20]
push eax
mov byte [ebp - 4], 0x15
call fcn.00453190
add esp, 4
mov esi, eax
push 0x4922e8
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x16
call fcn.00401b30
lea ecx, [ebp - 0x1c]
push ecx
push eax
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 4], 0x17
call fcn.0041c800
push esi
push eax
lea eax, [ebp - 0x28]
push eax
mov byte [ebp - 4], 0x18
call fcn.0041c800
add esp, 0x18
mov eax, dword [eax]
lea ecx, [ebp + 8]
push dword [eax - 0xc]
mov byte [ebp - 4], 0x19
push eax
call fcn.004035a0
mov edx, dword [ebp - 0x28]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x18
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x457903
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x14]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x17
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x457923
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x18]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x16
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x457943
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x20]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x15
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x457963
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x1c]
add edx, 0xfffffff0
mov byte [ebp - 4], 0
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x457983
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push str._verifier
lea ecx, [ebp - 0x1c]
call fcn.00401b30
lea eax, [ebp - 0x20]
push eax
mov byte [ebp - 4], 0x1a
call fcn.00454db0
add esp, 4
mov esi, eax
push 0x4922e8
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x1b
call fcn.00401b30
lea ecx, [ebp - 0x1c]
push ecx
push eax
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 4], 0x1c
call fcn.0041c800
push esi
push eax
lea eax, [ebp - 0x28]
push eax
mov byte [ebp - 4], 0x1d
call fcn.0041c800
add esp, 0x18
mov eax, dword [eax]
lea ecx, [ebp + 8]
push dword [eax - 0xc]
mov byte [ebp - 4], 0x1e
push eax
call fcn.004035a0
mov edx, dword [ebp - 0x28]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x1d
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x457a09
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x14]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x1c
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x457a29
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x18]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x1b
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x457a49
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x20]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x1a
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x457a69
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x1c]
add edx, 0xfffffff0
mov byte [ebp - 4], 0
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x457a89
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push str._50verifier
lea ecx, [ebp - 0x1c]
call fcn.00401b30
lea eax, [ebp - 0x20]
push eax
mov byte [ebp - 4], 0x1f
call fcn.00452f50
add esp, 4
mov esi, eax
push 0x4922e8
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x20
call fcn.00401b30
lea ecx, [ebp - 0x1c]
push ecx
push eax
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 4], 0x21
call fcn.0041c800
push esi
push eax
lea eax, [ebp - 0x28]
push eax
mov byte [ebp - 4], 0x22
call fcn.0041c800
add esp, 0x18
mov eax, dword [eax]
lea ecx, [ebp + 8]
push dword [eax - 0xc]
mov byte [ebp - 4], 0x23
push eax
call fcn.004035a0
mov edx, dword [ebp - 0x28]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x22
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x457b0f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x14]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x21
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x457b2f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x18]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x20
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x457b4f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x20]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x1f
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x457b6f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x1c]
add edx, 0xfffffff0
mov byte [ebp - 4], 0
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x457b8f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push str._installerversion
lea ecx, [ebp - 0x1c]
call fcn.00401b30
lea eax, [ebp - 0x20]
push eax
mov byte [ebp - 4], 0x24
call fcn.004544b0
add esp, 4
mov esi, eax
push 0x4922e8
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x25
call fcn.00401b30
lea ecx, [ebp - 0x1c]
push ecx
push eax
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 4], 0x26
call fcn.0041c800
push esi
push eax
lea eax, [ebp - 0x28]
push eax
mov byte [ebp - 4], 0x27
call fcn.0041c800
add esp, 0x18
mov eax, dword [eax]
lea ecx, [ebp + 8]
push dword [eax - 0xc]
mov byte [ebp - 4], 0x28
push eax
call fcn.004035a0
mov edx, dword [ebp - 0x28]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x27
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x457c15
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x14]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x26
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x457c35
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x18]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x25
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x457c55
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x20]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x24
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x457c75
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x1c]
add edx, 0xfffffff0
mov byte [ebp - 4], 0
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x457c95
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [0x4af2c0]
mov eax, esi
imul eax, esi
imul eax, esi
cdq
mov ecx, 0x18
idiv ecx
cmp edx, 6
jne 0x457ce8
mov eax, 0x51eb851f
imul esi
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
imul ecx, ecx, 0x64
sub esi, ecx
xor ecx, ecx
lea eax, [esi + 0x7b]
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004601e0
push eax
call fcn.0046208f
add esp, 8
push 0x492a68
lea ecx, [ebp - 0x18]
call fcn.00401b30
push 0x492a68
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x29
call fcn.00401b30
push str._srcid
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0x2a
call fcn.00401b30
lea eax, [ebp - 0x30]
push eax
mov byte [ebp - 4], 0x2b
call fcn.00454b10
add esp, 4
mov esi, eax
push 0x4922e8
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x2c
call fcn.00401b30
lea ecx, [ebp - 0x1c]
push ecx
push eax
lea eax, [ebp - 0x40]
push eax
mov byte [ebp - 4], 0x2d
call fcn.0041c800
lea ecx, [ebp - 0x14]
push ecx
push eax
lea eax, [ebp - 0x24]
push eax
mov byte [ebp - 4], 0x2e
call fcn.0041c800
push esi
push eax
lea eax, [ebp - 0x20]
push eax
mov byte [ebp - 4], 0x2f
call fcn.0041c800
lea ecx, [ebp - 0x18]
push ecx
push eax
lea eax, [ebp - 0x28]
push eax
mov byte [ebp - 4], 0x30
call fcn.0041c800
add esp, 0x30
mov eax, dword [eax]
lea ecx, [ebp + 8]
push dword [eax - 0xc]
mov byte [ebp - 4], 0x31
push eax
call fcn.004035a0
mov edx, dword [ebp - 0x28]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x30
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x457db4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x20]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x2f
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x457dd4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x24]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x2e
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x457df4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x40]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x2d
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x457e14
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x2c]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x2c
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x457e34
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x30]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x2b
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x457e54
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x1c]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x2a
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x457e74
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x14]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x29
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x457e94
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x18]
add edx, 0xfffffff0
mov byte [ebp - 4], 0
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x457eb4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0x492a68
lea ecx, [ebp - 0x18]
call fcn.00401b30
push 0x492a68
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x32
call fcn.00401b30
push str._subid
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0x33
call fcn.00401b30
lea eax, [ebp - 0x24]
push eax
mov byte [ebp - 4], 0x34
call fcn.00454cd0
add esp, 4
mov esi, eax
push 0x4922e8
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0x35
call fcn.00401b30
lea ecx, [ebp - 0x1c]
push ecx
push eax
lea eax, [ebp - 0x28]
push eax
mov byte [ebp - 4], 0x36
call fcn.0041c800
lea ecx, [ebp - 0x14]
push ecx
push eax
lea eax, [ebp - 0x40]
push eax
mov byte [ebp - 4], 0x37
call fcn.0041c800
push esi
push eax
lea eax, [ebp - 0x2c]
push eax
mov byte [ebp - 4], 0x38
call fcn.0041c800
lea ecx, [ebp - 0x18]
push ecx
push eax
lea eax, [ebp - 0x30]
push eax
mov byte [ebp - 4], 0x39
call fcn.0041c800
add esp, 0x30
mov eax, dword [eax]
lea ecx, [ebp + 8]
push dword [eax - 0xc]
mov byte [ebp - 4], 0x3a
push eax
call fcn.004035a0
mov edx, dword [ebp - 0x30]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x39
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x457f80
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x2c]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x38
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x457fa0
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x40]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x37
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x457fc0
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x28]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x36
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x457fe0
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x20]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x35
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x458000
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x24]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x34
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x458020
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x1c]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x33
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x458040
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x14]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x32
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x458060
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x18]
add edx, 0xfffffff0
mov byte [ebp - 4], 0
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x458080
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.00459e20
test al, al
jne 0x4580ed
mov ebx, dword [0x4af2c0]
mov eax, ebx
cdq
xor ecx, ecx
sub eax, edx
sar eax, 1
mov esi, 0xf9
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], eax
test eax, eax
jle 0x4580e5
mov eax, ebx
cdq
and edx, 3
lea ebx, [edx + eax]
mov eax, dword [ebp - 0x14]
sar ebx, 2
xor edx, edx
mov dword [ebp - 0x1c], eax
jmp 0x4580c0
test ebx, ebx
jle 0x4580d4
mov eax, edx
mov ecx, ebx
add esi, eax
dec eax
dec ecx
jne 0x4580c8
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x18]
add edx, ecx
dec eax
mov dword [ebp - 0x1c], eax
jne 0x4580c0
mov eax, dword [ebp - 0x14]
mov ebx, dword [0x4af2c0]
inc ecx
mov dword [ebp - 0x18], ecx
cmp ecx, esi
jl 0x4580a3
mov eax, dword [0x4adbb8]
mov ecx, 0x4adbb8
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x14], eax
mov esi, 0x492a68
shr esi, 0x10
mov byte [ebp - 4], 0x3b
mov ebx, 0x492a68
test esi, esi
jne 0x458171
movzx ebx, bx
push esi
push ebx
call fcn.00403750
add esp, 8
test eax, eax
je 0x458130
push ebx
push eax
lea ecx, [ebp - 0x14]
call fcn.00405c50
mov ebx, 0x492a68
mov eax, dword [0x4adbb8]
mov ecx, 0x4adbb8
mov byte [ebp - 4], 0x3c
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0x3d
test esi, esi
jne 0x458182
movzx ebx, bx
push esi
push ebx
call fcn.00403750
add esp, 8
test eax, eax
je 0x458191
push ebx
push eax
lea ecx, [ebp - 0x18]
call fcn.00405c50
jmp 0x458191
push 1
push 0x492a68
lea ecx, [ebp - 0x14]
call fcn.00408620
jmp 0x458135
push 1
push 0x492a68
lea ecx, [ebp - 0x18]
call fcn.00408620
mov eax, dword [0x4adbb8]
mov ecx, 0x4adbb8
mov byte [ebp - 4], 0x3e
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x20], eax
mov eax, str._zdata
mov byte [ebp - 4], 0x3f
test eax, 0xffff0000
jne 0x4581d6
movzx ebx, ax
push 0
push ebx
call fcn.00403750
add esp, 8
test eax, eax
je 0x4581e5
push ebx
push eax
lea ecx, [ebp - 0x20]
call fcn.00405c50
jmp 0x4581e5
push 7
push str._zdata
lea ecx, [ebp - 0x20]
call fcn.00408620
lea eax, [ebp - 0x34]
push eax
mov byte [ebp - 4], 0x40
call fcn.00454f80
add esp, 4
mov dword [ebp - 0x30], eax
mov edx, dword [0x4adbb8]
mov ecx, 0x4adbb8
mov byte [ebp - 4], 0x41
call dword [edx + 0xc]
add eax, 0x10
mov dword [ebp - 0x24], eax
mov eax, 0x4922e8
shr eax, 0x10
mov byte [ebp - 4], 0x42
mov dword [ebp - 0x1c], eax
mov ecx, 0x4922e8
test eax, eax
jne 0x458245
movzx ebx, cx
push eax
push ebx
call fcn.00403750
add esp, 8
test eax, eax
je 0x458254
push ebx
push eax
lea ecx, [ebp - 0x24]
call fcn.00405c50
jmp 0x458254
push 1
push 0x4922e8
lea ecx, [ebp - 0x24]
call fcn.00408620
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x3c]
push eax
mov byte [ebp - 4], 0x43
call fcn.0041c800
lea ecx, [ebp - 0x18]
push ecx
push eax
lea eax, [ebp - 0x28]
push eax
mov byte [ebp - 4], 0x44
call fcn.0041c800
push dword [ebp - 0x30]
mov byte [ebp - 4], 0x45
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.0041c800
lea ecx, [ebp - 0x14]
push ecx
push eax
lea eax, [ebp - 0x2c]
push eax
mov byte [ebp - 4], 0x46
call fcn.0041c800
add esp, 0x30
mov eax, dword [eax]
lea ecx, [ebp + 8]
push dword [eax - 0xc]
mov byte [ebp - 4], 0x47
push eax
call fcn.004035a0
mov edx, dword [ebp - 0x2c]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x46
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4582d3
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x40]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x45
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4582f3
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x28]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x44
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x458313
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x3c]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x43
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x458333
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x24]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x41
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x458353
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x34]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x40
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x458373
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x20]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x3e
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x458393
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x18]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x3c
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4583b3
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x14]
add edx, 0xfffffff0
mov byte [ebp - 4], 0
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4583d3
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [0x4adbb8]
mov ecx, 0x4adbb8
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x18], eax
mov eax, str._statsdomain
mov byte [ebp - 4], 0x48
test eax, 0xffff0000
jne 0x458414
movzx ebx, ax
push 0
push ebx
call fcn.00403750
add esp, 8
test eax, eax
je 0x458423
push ebx
push eax
lea ecx, [ebp - 0x18]
call fcn.00405c50
jmp 0x458423
push 0xd
push str._statsdomain
lea ecx, [ebp - 0x18]
call fcn.00408620
lea eax, [ebp - 0x2c]
push eax
mov byte [ebp - 4], 0x49
call fcn.00454bf0
add esp, 4
mov dword [ebp - 0x34], eax
mov edx, dword [0x4adbb8]
mov ecx, 0x4adbb8
mov byte [ebp - 4], 0x4a
call dword [edx + 0xc]
add eax, 0x10
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x1c], 0
mov byte [ebp - 4], 0x4b
jne 0x45847b
mov eax, 0x4922e8
movzx ebx, ax
push 0
push ebx
call fcn.00403750
add esp, 8
test eax, eax
je 0x45848a
push ebx
push eax
lea ecx, [ebp - 0x14]
call fcn.00405c50
jmp 0x45848a
push 1
push 0x4922e8
lea ecx, [ebp - 0x14]
call fcn.00408620
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x30]
push eax
mov byte [ebp - 4], 0x4c
call fcn.0041c800
push dword [ebp - 0x34]
mov byte [ebp - 4], 0x4d
push eax
lea eax, [ebp - 0x3c]
push eax
call fcn.0041c800
add esp, 0x18
mov eax, dword [eax]
lea ecx, [ebp + 8]
push dword [eax - 0xc]
mov byte [ebp - 4], 0x4e
push eax
call fcn.004035a0
mov edx, dword [ebp - 0x3c]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x4d
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4584e5
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x30]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x4c
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x458505
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x14]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x4a
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x458525
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x2c]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x49
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x458545
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x18]
add edx, 0xfffffff0
mov byte [ebp - 4], 0
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x458565
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [0x4adbb8]
mov ecx, 0x4adbb8
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x18], eax
mov eax, str._errorsdomain
mov byte [ebp - 4], 0x4f
test eax, 0xffff0000
jne 0x4585a6
movzx ebx, ax
push 0
push ebx
call fcn.00403750
add esp, 8
test eax, eax
je 0x4585b5
push ebx
push eax
lea ecx, [ebp - 0x18]
call fcn.00405c50
jmp 0x4585b5
push 0xe
push str._errorsdomain
lea ecx, [ebp - 0x18]
call fcn.00408620
lea eax, [ebp - 0x2c]
push eax
mov byte [ebp - 4], 0x50
call fcn.00453f10
add esp, 4
mov dword [ebp - 0x34], eax
mov edx, dword [0x4adbb8]
mov ecx, 0x4adbb8
mov byte [ebp - 4], 0x51
call dword [edx + 0xc]
add eax, 0x10
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x1c], 0
mov byte [ebp - 4], 0x52
jne 0x45860d
mov eax, 0x4922e8
movzx ebx, ax
push 0
push ebx
call fcn.00403750
add esp, 8
test eax, eax
je 0x45861c
push ebx
push eax
lea ecx, [ebp - 0x14]
call fcn.00405c50
jmp 0x45861c
push 1
push 0x4922e8
lea ecx, [ebp - 0x14]
call fcn.00408620
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x30]
push eax
mov byte [ebp - 4], 0x53
call fcn.0041c800
push dword [ebp - 0x34]
mov byte [ebp - 4], 0x54
push eax
lea eax, [ebp - 0x3c]
push eax
call fcn.0041c800
add esp, 0x18
mov eax, dword [eax]
lea ecx, [ebp + 8]
push dword [eax - 0xc]
mov byte [ebp - 4], 0x55
push eax
call fcn.004035a0
mov edx, dword [ebp - 0x3c]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x54
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x458677
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x30]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x53
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x458697
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x14]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x51
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4586b7
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x2c]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x50
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4586d7
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x18]
add edx, 0xfffffff0
mov byte [ebp - 4], 0
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4586f7
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [0x4adbb8]
mov ecx, 0x4adbb8
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x24], eax
mov byte [ebp - 4], 0x56
test esi, esi
jne 0x458734
mov eax, 0x492a68
movzx ebx, ax
push esi
push ebx
call fcn.00403750
add esp, 8
test eax, eax
je 0x458743
push ebx
push eax
lea ecx, [ebp - 0x24]
call fcn.00405c50
jmp 0x458743
push 1
push 0x492a68
lea ecx, [ebp - 0x24]
call fcn.00408620
mov eax, dword [0x4adbb8]
mov ecx, 0x4adbb8
mov byte [ebp - 4], 0x57
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x20], eax
mov byte [ebp - 4], 0x58
test esi, esi
jne 0x458785
mov eax, 0x492a68
movzx esi, ax
push 0
push esi
call fcn.00403750
add esp, 8
test eax, eax
je 0x458794
push esi
push eax
lea ecx, [ebp - 0x20]
call fcn.00405c50
jmp 0x458794
push 1
push 0x492a68
lea ecx, [ebp - 0x20]
call fcn.00408620
mov eax, dword [0x4adbb8]
mov ecx, 0x4adbb8
mov byte [ebp - 4], 0x59
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x18], eax
mov eax, str._crregname
mov byte [ebp - 4], 0x5a
test eax, 0xffff0000
jne 0x4587d9
movzx esi, ax
push 0
push esi
call fcn.00403750
add esp, 8
test eax, eax
je 0x4587e8
push esi
push eax
lea ecx, [ebp - 0x18]
call fcn.00405c50
jmp 0x4587e8
push 0xb
push str._crregname
lea ecx, [ebp - 0x18]
call fcn.00408620
mov eax, dword [0x4adbb8]
mov ecx, 0x4adbb8
mov byte [ebp - 4], 0x5b
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x1c], 0
mov byte [ebp - 4], 0x5c
jne 0x45882c
mov eax, 0x4922e8
movzx esi, ax
push 0
push esi
call fcn.00403750
add esp, 8
test eax, eax
je 0x45883b
push esi
push eax
lea ecx, [ebp - 0x14]
call fcn.00405c50
jmp 0x45883b
push 1
push 0x4922e8
lea ecx, [ebp - 0x14]
call fcn.00408620
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x2c]
push eax
mov byte [ebp - 4], 0x5d
call fcn.0041c800
lea ecx, [ebp - 0x20]
push ecx
push eax
lea eax, [ebp - 0x30]
push eax
mov byte [ebp - 4], 0x5e
call fcn.0041c800
push dword [ebp + 0xc]
mov byte [ebp - 4], 0x5f
push eax
lea eax, [ebp - 0x3c]
push eax
call fcn.0041c800
lea ecx, [ebp - 0x24]
push ecx
push eax
lea eax, [ebp - 0x34]
push eax
mov byte [ebp - 4], 0x60
call fcn.0041c800
add esp, 0x30
mov eax, dword [eax]
lea ecx, [ebp + 8]
push dword [eax - 0xc]
mov byte [ebp - 4], 0x61
push eax
call fcn.004035a0
mov edx, dword [ebp - 0x34]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x60
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4588ba
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x3c]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x5f
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4588da
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x30]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x5e
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4588fa
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x2c]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x5d
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x45891a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x14]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x5b
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x45893a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x18]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x59
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x45895a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x20]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x57
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x45897a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x24]
add edx, 0xfffffff0
mov byte [ebp - 4], 0
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x45899a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [0x4adbb8]
mov ecx, 0x4adbb8
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x14], esi
mov eax, str.__runfrombho
mov byte [ebp - 4], 0x62
test eax, 0xffff0000
jne 0x4589db
movzx ebx, ax
push 0
push ebx
call fcn.00403750
add esp, 8
test eax, eax
je 0x4589ed
push ebx
push eax
lea ecx, [ebp - 0x14]
call fcn.00405c50
jmp 0x4589ea
push 0xd
push str.__runfrombho
lea ecx, [ebp - 0x14]
call fcn.00408620
mov esi, dword [ebp - 0x14]
push dword [esi - 0xc]
lea ecx, [ebp + 8]
push esi
mov byte [ebp - 4], 0x63
call fcn.004035a0
add esi, 0xfffffff0
mov byte [ebp - 4], 0
lea eax, [esi + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x458a1a
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
lea eax, [ebp - 0x38]
push eax
call fcn.00456780
add esp, 4
mov eax, dword [ebp - 0x38]
mov byte [ebp - 4], 0x64
mov esi, dword [eax - 0xc]
test esi, esi
jns 0x458a3e
push 0x80070057
call fcn.00403930
mov ecx, dword [eax - 8]
mov edx, 1
sub edx, dword [eax - 4]
sub ecx, esi
or ecx, edx
jge 0x458a5b
push esi
lea ecx, [ebp - 0x38]
call fcn.00407d40
mov eax, dword [ebp - 0x38]
lea ecx, [esi + 1]
push ecx
push eax
call fcn.0046260a
push eax
call fcn.004036b0
mov eax, dword [ebp - 0x38]
add esp, 0xc
cmp esi, dword [eax - 8]
jg 0x458a34
mov dword [eax - 0xc], esi
mov eax, dword [ebp - 0x38]
push str._codedownloader
push str._bho.dll
lea ecx, [ebp - 0x38]
mov byte [esi + eax], 0
call fcn.00408040
mov eax, dword [ebp - 0x38]
push ecx
add eax, 0xfffffff0
mov esi, esp
push eax
call fcn.00403ee0
add eax, 0x10
add esp, 4
mov dword [esi], eax
call fcn.00454e60
add esp, 4
test al, al
je 0x458c89
push 0x492a68
lea ecx, [ebp - 0x18]
call fcn.00401b30
push 0x492a68
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x65
call fcn.00401b30
push str._externallog
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0x66
call fcn.00401b30
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x28]
push eax
mov byte [ebp - 4], 0x67
call fcn.00454800
add esp, 8
mov esi, eax
push 0x4922e8
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x68
call fcn.00401b30
lea ecx, [ebp - 0x1c]
push ecx
push eax
lea eax, [ebp - 0x2c]
push eax
mov byte [ebp - 4], 0x69
call fcn.0041c800
lea ecx, [ebp - 0x14]
push ecx
push eax
lea eax, [ebp - 0x30]
push eax
mov byte [ebp - 4], 0x6a
call fcn.0041c800
push esi
push eax
lea eax, [ebp - 0x3c]
push eax
mov byte [ebp - 4], 0x6b
call fcn.0041c800
lea ecx, [ebp - 0x18]
push ecx
push eax
lea eax, [ebp - 0x34]
push eax
mov byte [ebp - 4], 0x6c
call fcn.0041c800
add esp, 0x30
mov eax, dword [eax]
lea ecx, [ebp + 8]
push dword [eax - 0xc]
mov byte [ebp - 4], 0x6d
push eax
call fcn.004035a0
mov edx, dword [ebp - 0x34]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x6c
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x458b89
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x3c]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x6b
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x458ba9
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x30]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x6a
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x458bc9
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x2c]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x69
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x458be9
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x40]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x68
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x458c09
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x28]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x67
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x458c29
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x1c]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x66
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x458c49
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x14]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x65
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x458c69
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x18]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x64
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x458c89
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp + 8]
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x20], esp
mov esi, esp
push eax
call fcn.00403ee0
add eax, 0x10
mov dword [esi], eax
mov ecx, esp
push str._codedownloader.exe
mov byte [ebp - 4], 0x6e
call fcn.00401b30
mov byte [ebp - 4], 0x64
call fcn.00458ef0
mov edx, dword [ebp - 0x38]
add edx, 0xfffffff0
mov bl, al
add esp, 8
mov byte [ebp - 4], 0
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x458cde
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [ebp + 8]
add esi, 0xfffffff0
mov dword [ebp - 4], 0xffffffff
lea eax, [esi + 0xc]
lock xadd dword [eax], edi
dec edi
test edi, edi
jg 0x458cff
mov ecx, dword [esi]
push esi
mov edx, dword [ecx]
call dword [edx + 4]
mov al, bl
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00461234
mov esp, ebp
pop ebp
ret