Function at 0x4165a0
Capabilities:
Contain obfuscated stackstrings
Delete file
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x57f2df
mov eax, dword fs:[0]
push eax
sub esp, 0x118
mov eax, dword [0x5e9db0]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
lea edx, [ebp - 0x9c]
push edx
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x60], ecx
mov byte [ebp - 0x4e], 1
call fcn.00434070
push 0x5afbc8
lea ecx, [ebp - 0x58]
mov dword [ebp - 4], 0
call fcn.00401d50
mov esi, eax
push 0x5afbc8
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 1
call fcn.00401d50
mov edi, eax
push 0x5aff34
lea ecx, [ebp - 0xd8]
mov byte [ebp - 4], 2
call fcn.00401d50
mov ebx, eax
push 0x5b0988
lea ecx, [ebp - 0xc8]
mov byte [ebp - 4], 3
call fcn.00401d50
push esi
push edi
push ebx
push eax
mov eax, dword [ebp - 0x4c]
mov byte [ebp - 4], 4
mov ecx, dword [eax]
add ecx, 0x16c
push ecx
lea edx, [ebp - 0x9c]
push edx
mov ecx, 7
call fcn.00438b00
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0xc8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x416688
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0xd8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4166ae
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0xb8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4166d4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x58]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4166f7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [ebp - 0xfc]
push ecx
call fcn.004223b0
mov edi, dword [ebp - 0x4c]
mov byte [ebp - 4], 5
mov eax, dword [edi]
mov eax, dword [eax + 0x158]
sub eax, 0x10
push eax
call fcn.004052f0
lea esi, [eax + 0x10]
add esp, 4
mov dword [ebp - 0xc8], esi
lea edx, [ebp - 0xc8]
push edx
lea ecx, [ebp - 0xfc]
mov byte [ebp - 4], 6
call fcn.00405080
lea eax, [esi - 0x10]
mov byte [ebp - 4], 5
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41675d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ebx, dword [ebp - 0x60]
mov esi, dword [edi]
imul ebx, ebx, 0xea0
mov eax, dword [esi + ebx + 0x5c738]
mov byte [ebp - 0x4d], 0
mov dword [ebp - 0xa0], ebx
test eax, eax
jle 0x4167d2
lea edi, [esi + ebx + 0x5c4c4]
mov dword [ebp - 0x5c], eax
cmp byte [edi + 0x10], 1
je 0x4167c7
mov eax, dword [edi]
mov ecx, 0x5b0620
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4167ba
test dx, dx
je 0x4167b6
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4167ba
add eax, 4
add ecx, 4
test dx, dx
jne 0x416794
xor eax, eax
jmp 0x4167bf
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4167c7
mov byte [ebp - 0x4d], 1
add edi, 0x20
dec dword [ebp - 0x5c]
jne 0x416787
mov edi, dword [ebp - 0x4c]
inc dword [esi + 0xb7118]
mov ecx, dword [edi]
mov esi, dword [ecx + ebx + 0x5b96c]
lea eax, [ecx + ebx + 0x5b96c]
mov ecx, dword [esi - 0x10]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
mov byte [ebp - 0x45], 0
call eax
cmp dword [esi - 4], 0
lea edx, [esi - 4]
jl 0x416812
cmp eax, dword [esi - 0x10]
jne 0x416812
lea edi, [esi - 0x10]
mov ecx, 1
lock xadd dword [edx], ecx
jmp 0x41684b
mov ecx, dword [esi - 0xc]
mov edx, dword [eax]
mov edx, dword [edx]
push 2
push ecx
mov ecx, eax
call edx
mov edi, eax
test edi, edi
jne 0x41682b
call fcn.00402290
mov eax, dword [esi - 0xc]
mov dword [edi + 4], eax
mov eax, dword [esi - 0xc]
lea ecx, [eax + eax + 2]
push ecx
lea edx, [eax + eax + 2]
push esi
push edx
lea eax, [edi + 0x10]
push eax
call fcn.0054fc42
add esp, 0x10
lea eax, [edi + 0x10]
mov dword [ebp - 0x100], eax
mov byte [ebp - 4], 7
mov ecx, dword [eax - 0x10]
mov edx, dword [ecx]
lea edi, [eax - 0x10]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0xc8], edi
call eax
cmp dword [edi + 0xc], 0
lea ecx, [edi + 0xc]
jl 0x416885
cmp eax, dword [edi]
jne 0x416885
mov esi, edi
mov edx, 1
lock xadd dword [ecx], edx
jmp 0x4168c1
mov ecx, dword [edi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 2
push ecx
mov ecx, eax
call edx
mov esi, eax
test esi, esi
jne 0x41689e
call fcn.00402290
mov eax, dword [edi + 4]
mov dword [esi + 4], eax
mov eax, dword [edi + 4]
lea ecx, [eax + eax + 2]
push ecx
add edi, 0x10
lea edx, [eax + eax + 2]
push edi
push edx
lea eax, [esi + 0x10]
push eax
call fcn.0054fc42
add esp, 0x10
add esi, 0x10
mov dword [ebp - 0xc4], esi
mov ecx, dword [ebp - 0x4c]
mov byte [ebp - 4], 8
mov edx, dword [ecx]
mov esi, dword [edx + ebx + 0x5b954]
mov ecx, dword [esi - 0x10]
lea eax, [edx + ebx + 0x5b954]
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
call edx
cmp dword [esi - 4], 0
lea edx, [esi - 4]
jl 0x416907
cmp eax, dword [esi - 0x10]
jne 0x416907
lea edi, [esi - 0x10]
mov eax, 1
lock xadd dword [edx], eax
jmp 0x416940
mov ecx, dword [esi - 0xc]
mov edx, dword [eax]
mov edx, dword [edx]
push 2
push ecx
mov ecx, eax
call edx
mov edi, eax
test edi, edi
jne 0x416920
call fcn.00402290
mov eax, dword [esi - 0xc]
mov dword [edi + 4], eax
mov eax, dword [esi - 0xc]
lea ecx, [eax + eax + 2]
push ecx
lea edx, [eax + eax + 2]
push esi
push edx
lea eax, [edi + 0x10]
push eax
call fcn.0054fc42
add esp, 0x10
add edi, 0x10
mov dword [ebp - 0xe0], edi
mov ecx, dword [ebp - 0x4c]
mov byte [ebp - 4], 9
mov edx, dword [ecx]
mov esi, dword [edx + ebx + 0x5b950]
mov ecx, dword [esi - 0x10]
lea eax, [edx + ebx + 0x5b950]
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
call edx
cmp dword [esi - 4], 0
lea edx, [esi - 4]
jl 0x416986
cmp eax, dword [esi - 0x10]
jne 0x416986
lea edi, [esi - 0x10]
mov eax, 1
lock xadd dword [edx], eax
jmp 0x4169bf
mov ecx, dword [esi - 0xc]
mov edx, dword [eax]
mov edx, dword [edx]
push 2
push ecx
mov ecx, eax
call edx
mov edi, eax
test edi, edi
jne 0x41699f
call fcn.00402290
mov eax, dword [esi - 0xc]
mov dword [edi + 4], eax
mov eax, dword [esi - 0xc]
lea ecx, [eax + eax + 2]
push ecx
lea edx, [eax + eax + 2]
push esi
push edx
lea eax, [edi + 0x10]
push eax
call fcn.0054fc42
add esp, 0x10
add edi, 0x10
mov dword [ebp - 0x7c], edi
push 0x5afbc8
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 0xa
call fcn.00401d50
mov ecx, dword [ebp - 0x4c]
mov byte [ebp - 4], 0xb
mov edx, dword [ecx]
mov esi, dword [edx + ebx + 0x5b978]
mov ecx, dword [esi - 0x10]
lea eax, [edx + ebx + 0x5b978]
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
call edx
cmp dword [esi - 4], 0
lea edx, [esi - 4]
jl 0x416a16
cmp eax, dword [esi - 0x10]
jne 0x416a16
lea edi, [esi - 0x10]
mov eax, 1
lock xadd dword [edx], eax
jmp 0x416a4f
mov ecx, dword [esi - 0xc]
mov edx, dword [eax]
mov edx, dword [edx]
push 2
push ecx
mov ecx, eax
call edx
mov edi, eax
test edi, edi
jne 0x416a2f
call fcn.00402290
mov eax, dword [esi - 0xc]
mov dword [edi + 4], eax
mov eax, dword [esi - 0xc]
lea ecx, [eax + eax + 2]
push ecx
lea edx, [eax + eax + 2]
push esi
push edx
lea eax, [edi + 0x10]
push eax
call fcn.0054fc42
add esp, 0x10
lea eax, [edi + 0x10]
mov dword [ebp - 0x104], eax
mov byte [ebp - 4], 0xc
mov ecx, dword [eax - 0x10]
mov edx, dword [ecx]
lea edi, [eax - 0x10]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0xd8], edi
call eax
cmp dword [edi + 0xc], 0
lea ecx, [edi + 0xc]
jl 0x416a89
cmp eax, dword [edi]
jne 0x416a89
mov esi, edi
mov edx, 1
lock xadd dword [ecx], edx
jmp 0x416ac5
mov ecx, dword [edi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 2
push ecx
mov ecx, eax
call edx
mov esi, eax
test esi, esi
jne 0x416aa2
call fcn.00402290
mov eax, dword [edi + 4]
mov dword [esi + 4], eax
mov eax, dword [edi + 4]
lea ecx, [eax + eax + 2]
push ecx
add edi, 0x10
lea edx, [eax + eax + 2]
push edi
push edx
lea eax, [esi + 0x10]
push eax
call fcn.0054fc42
add esp, 0x10
add esi, 0x10
mov dword [ebp - 0xe4], esi
mov ecx, dword [ebp - 0x4c]
mov byte [ebp - 4], 0xd
mov edx, dword [ecx]
mov esi, dword [edx + ebx + 0x5b960]
mov ecx, dword [esi - 0x10]
lea eax, [edx + ebx + 0x5b960]
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
call edx
cmp dword [esi - 4], 0
lea edx, [esi - 4]
jl 0x416b0b
cmp eax, dword [esi - 0x10]
jne 0x416b0b
lea edi, [esi - 0x10]
mov eax, 1
lock xadd dword [edx], eax
jmp 0x416b44
mov ecx, dword [esi - 0xc]
mov edx, dword [eax]
mov edx, dword [edx]
push 2
push ecx
mov ecx, eax
call edx
mov edi, eax
test edi, edi
jne 0x416b24
call fcn.00402290
mov eax, dword [esi - 0xc]
mov dword [edi + 4], eax
mov eax, dword [esi - 0xc]
lea ecx, [eax + eax + 2]
push ecx
lea edx, [eax + eax + 2]
push esi
push edx
lea eax, [edi + 0x10]
push eax
call fcn.0054fc42
add esp, 0x10
lea esi, [edi + 0x10]
mov dword [ebp - 0xd4], esi
push 0x5afbc8
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0xe
call fcn.00401d50
mov byte [ebp - 4], 0xf
mov eax, dword [esi - 0xc]
test eax, eax
jle 0x416ccf
push 0x2c
push esi
call fcn.00550437
add esp, 8
test eax, eax
je 0x416ccf
sub eax, esi
sar eax, 1
mov ebx, eax
test ebx, ebx
jle 0x416ccf
push ebx
lea ecx, [ebp - 0x58]
push ecx
lea ecx, [ebp - 0xd4]
call fcn.0041b9f0
mov byte [ebp - 4], 0x10
mov ecx, dword [eax]
mov edi, dword [ebp - 0xa4]
lea eax, [ecx - 0x10]
add edi, 0xfffffff0
cmp eax, edi
je 0x416c0c
cmp dword [edi + 0xc], 0
jl 0x416bfc
mov edx, dword [eax]
cmp edx, dword [edi]
jne 0x416bfc
push eax
call fcn.004052f0
mov dword [ebp - 0xb8], eax
add esp, 4
lea eax, [edi + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x416beb
mov ecx, dword [edi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push edi
call eax
mov ecx, dword [ebp - 0xb8]
add ecx, 0x10
mov dword [ebp - 0xa4], ecx
jmp 0x416c0c
mov eax, dword [ecx - 0xc]
push eax
push ecx
lea ecx, [ebp - 0xa4]
call fcn.00402180
mov byte [ebp - 4], 0xf
mov eax, dword [ebp - 0x58]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x416c2f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esi - 0xc]
sub eax, ebx
dec eax
push eax
lea ecx, [ebp - 0xb8]
push ecx
lea ecx, [ebp - 0xd4]
call fcn.0041b970
mov byte [ebp - 4], 0x11
mov ecx, dword [eax]
lea eax, [ecx - 0x10]
lea edi, [esi - 0x10]
cmp eax, edi
je 0x416ca9
cmp dword [edi + 0xc], 0
lea ebx, [edi + 0xc]
jl 0x416c93
mov edx, dword [eax]
cmp edx, dword [edi]
jne 0x416c93
push eax
call fcn.004052f0
mov esi, eax
add esp, 4
or eax, 0xffffffff
lock xadd dword [ebx], eax
dec eax
test eax, eax
jg 0x416c88
mov ecx, dword [edi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push edi
call eax
add esi, 0x10
mov dword [ebp - 0xd4], esi
jmp 0x416ca9
mov eax, dword [ecx - 0xc]
push eax
push ecx
lea ecx, [ebp - 0xd4]
call fcn.00402180
mov esi, dword [ebp - 0xd4]
mov byte [ebp - 4], 0xf
mov eax, dword [ebp - 0xb8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x416ccf
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esi - 0x10]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
add esi, 0xfffffff0
mov dword [ebp - 0xb8], esi
call eax
cmp dword [esi + 0xc], 0
lea ecx, [esi + 0xc]
jl 0x416cfc
cmp eax, dword [esi]
jne 0x416cfc
mov edi, esi
mov edx, 1
lock xadd dword [ecx], edx
jmp 0x416d38
mov ecx, dword [esi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 2
push ecx
mov ecx, eax
call edx
mov edi, eax
test edi, edi
jne 0x416d15
call fcn.00402290
mov eax, dword [esi + 4]
mov dword [edi + 4], eax
mov eax, dword [esi + 4]
lea ecx, [eax + eax + 2]
push ecx
add esi, 0x10
lea edx, [eax + eax + 2]
push esi
push edx
lea eax, [edi + 0x10]
push eax
call fcn.0054fc42
add esp, 0x10
add edi, 0x10
mov dword [ebp - 0x70], edi
mov esi, dword [ebp - 0x4c]
mov edx, dword [ebp - 0xa0]
mov byte [ebp - 4], 0x12
mov ecx, dword [esi]
cmp dword [ecx + edx + 0x5c738], 0
mov dword [ebp - 0x64], 0
jle 0x417560
mov eax, dword [ebp - 0x60]
imul eax, eax, 0x75
mov dword [ebp - 0x90], eax
mov edi, edi
mov edx, dword [ebp - 0x90]
mov eax, dword [ebp - 0x64]
lea eax, [edx + eax + 0x2e26]
shl eax, 5
mov esi, dword [eax + ecx]
mov ecx, dword [esi - 0x10]
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
call edx
cmp dword [esi - 4], 0
lea edx, [esi - 4]
jl 0x416dac
cmp eax, dword [esi - 0x10]
jne 0x416dac
lea edi, [esi - 0x10]
mov eax, 1
lock xadd dword [edx], eax
jmp 0x416de4
mov ecx, dword [esi - 0xc]
mov edx, dword [eax]
mov edx, dword [edx]
push 2
push ecx
mov ecx, eax
call edx
mov edi, eax
test edi, edi
je 0x416826
mov eax, dword [esi - 0xc]
mov dword [edi + 4], eax
mov eax, dword [esi - 0xc]
lea ecx, [eax + eax + 2]
push ecx
lea edx, [eax + eax + 2]
push esi
push edx
lea eax, [edi + 0x10]
push eax
call fcn.0054fc42
add esp, 0x10
lea ebx, [edi + 0x10]
mov dword [ebp - 0xc0], ebx
mov ecx, dword [ebp - 0x4c]
mov byte [ebp - 4], 0x13
mov edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x90]
lea eax, [eax + edx]
mov edx, dword [ecx]
shl eax, 5
mov esi, dword [eax + edx + 0x5c4c8]
mov ecx, dword [esi - 0x10]
mov dword [ebp - 0x60], eax
lea eax, [eax + edx + 0x5c4c8]
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
call edx
cmp dword [esi - 4], 0
lea edx, [esi - 4]
jl 0x416e3c
cmp eax, dword [esi - 0x10]
jne 0x416e3c
lea edi, [esi - 0x10]
mov eax, 1
lock xadd dword [edx], eax
jmp 0x416e74
mov ecx, dword [esi - 0xc]
mov edx, dword [eax]
mov edx, dword [edx]
push 2
push ecx
mov ecx, eax
call edx
mov edi, eax
test edi, edi
je 0x416826
mov eax, dword [esi - 0xc]
mov dword [edi + 4], eax
mov eax, dword [esi - 0xc]
lea ecx, [eax + eax + 2]
push ecx
lea edx, [eax + eax + 2]
push esi
push edx
lea eax, [edi + 0x10]
push eax
call fcn.0054fc42
add esp, 0x10
add edi, 0x10
mov dword [ebp - 0x6c], edi
mov byte [ebp - 4], 0x14
mov ecx, dword [ebx - 0x10]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
add ebx, 0xfffffff0
mov dword [ebp - 0x5c], ebx
call eax
cmp dword [ebx + 0xc], 0
lea ecx, [ebx + 0xc]
jl 0x416ea8
cmp eax, dword [ebx]
jne 0x416ea8
mov esi, ebx
mov edx, 1
lock xadd dword [ecx], edx
jmp 0x416ee6
mov edi, dword [ebp - 0x5c]
mov ecx, dword [edi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 2
push ecx
mov ecx, eax
call edx
mov esi, eax
test esi, esi
je 0x416826
mov eax, dword [edi + 4]
mov dword [esi + 4], eax
mov eax, dword [edi + 4]
lea ecx, [eax + eax + 2]
push ecx
add edi, 0x10
lea edx, [eax + eax + 2]
push edi
push edx
lea eax, [esi + 0x10]
push eax
call fcn.0054fc42
add esp, 0x10
add esi, 0x10
mov dword [ebp - 0x58], esi
push 0x5afbc8
push esi
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x15
call fcn.00404a70
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ecx]
mov ebx, dword [ebp - 0x60]
cmp byte [ebx + edx + 0x5c4d4], 1
jne 0x4171a7
cmp byte [ebp - 0x4d], 0
jne 0x417079
call fcn.00469967
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x417584
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x54], eax
mov ecx, 0x5aff34
mov byte [ebp - 4], 0x16
test ecx, 0xffff0000
jne 0x416f6d
mov edx, ecx
movzx esi, dx
push esi
call fcn.004636d7
test eax, eax
je 0x416f7c
push esi
push eax
lea ecx, [ebp - 0x54]
call fcn.00401f60
jmp 0x416f7c
push 1
push 0x5aff34
lea ecx, [ebp - 0x54]
call fcn.00402180
lea eax, [ebp - 0x54]
push eax
lea ecx, [ebp - 0x70]
push ecx
lea edx, [ebp - 0xac]
push edx
mov byte [ebp - 4], 0x17
call fcn.0041ba90
add esp, 0xc
lea ecx, [ebp - 0x58]
push ecx
push eax
lea edx, [ebp - 0xbc]
push edx
mov byte [ebp - 4], 0x18
call fcn.0041ba90
add esp, 0xc
mov byte [ebp - 4], 0x19
mov ecx, dword [eax]
mov esi, dword [ebp - 0x70]
lea eax, [ecx - 0x10]
add esi, 0xfffffff0
cmp eax, esi
je 0x41700a
cmp dword [esi + 0xc], 0
lea edi, [esi + 0xc]
jl 0x416ffd
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x416ffd
push eax
call fcn.004052f0
mov ebx, eax
add esp, 4
or eax, 0xffffffff
lock xadd dword [edi], eax
dec eax
test eax, eax
jg 0x416ff2
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
add ebx, 0x10
mov dword [ebp - 0x70], ebx
mov ebx, dword [ebp - 0x60]
jmp 0x41700a
mov eax, dword [ecx - 0xc]
push eax
push ecx
lea ecx, [ebp - 0x70]
call fcn.00402180
mov byte [ebp - 4], 0x18
mov eax, dword [ebp - 0xbc]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x417030
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x17
mov eax, dword [ebp - 0xac]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x417056
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x15
mov eax, dword [ebp - 0x54]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x417079
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ecx]
mov esi, dword [ebx + edx + 0x5c4bc]
mov ecx, dword [esi - 0x10]
lea eax, [ebx + edx + 0x5c4bc]
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
call edx
cmp dword [esi - 4], 0
lea ecx, [esi - 4]
jl 0x4170b2
cmp eax, dword [esi - 0x10]
jne 0x4170b2
lea edi, [esi - 0x10]
mov eax, 1
lock xadd dword [ecx], eax
jmp 0x4170ea
mov ecx, dword [esi - 0xc]
mov edx, dword [eax]
mov edx, dword [edx]
push 2
push ecx
mov ecx, eax
call edx
mov edi, eax
test edi, edi
je 0x416826
mov eax, dword [esi - 0xc]
mov dword [edi + 4], eax
mov eax, dword [esi - 0xc]
lea ecx, [eax + eax + 2]
push ecx
lea edx, [eax + eax + 2]
push esi
push edx
lea eax, [edi + 0x10]
push eax
call fcn.0054fc42
add esp, 0x10
add edi, 0x10
mov dword [ebp - 0x60], edi
mov byte [ebp - 4], 0x1a
call fcn.00469967
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x417584
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x54], eax
mov ecx, str.________Option_is_checked:
mov byte [ebp - 4], 0x1b
test ecx, 0xffff0000
jne 0x417143
mov edx, ecx
movzx esi, dx
push esi
call fcn.004636d7
test eax, eax
je 0x417152
push esi
push eax
lea ecx, [ebp - 0x54]
call fcn.00401f60
jmp 0x417152
push 0x1b
push str.________Option_is_checked:
lea ecx, [ebp - 0x54]
call fcn.00402180
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp - 0x54]
push ecx
lea edx, [ebp - 0xb0]
push edx
mov byte [ebp - 4], 0x1c
call fcn.0041ba90
add esp, 0xc
mov esi, eax
mov byte [ebp - 4], 0x1d
call fcn.00434750
mov byte [ebp - 4], 0x1c
mov eax, dword [ebp - 0xb0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41719e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x1a
jmp 0x417438
mov ecx, dword [ebp - 0x6c]
cmp dword [ecx - 0xc], 0
jle 0x41730f
call fcn.00469967
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x417584
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x54], eax
mov ecx, 0x5aff34
mov byte [ebp - 4], 0x1e
test ecx, 0xffff0000
jne 0x417203
mov edx, ecx
movzx esi, dx
push esi
call fcn.004636d7
test eax, eax
je 0x417212
push esi
push eax
lea ecx, [ebp - 0x54]
call fcn.00401f60
jmp 0x417212
push 1
push 0x5aff34
lea ecx, [ebp - 0x54]
call fcn.00402180
lea eax, [ebp - 0x54]
push eax
lea ecx, [ebp - 0x70]
push ecx
lea edx, [ebp - 0x88]
push edx
mov byte [ebp - 4], 0x1f
call fcn.0041ba90
add esp, 0xc
lea ecx, [ebp - 0x6c]
push ecx
push eax
lea edx, [ebp - 0xb4]
push edx
mov byte [ebp - 4], 0x20
call fcn.0041ba90
add esp, 0xc
mov byte [ebp - 4], 0x21
mov ecx, dword [eax]
mov esi, dword [ebp - 0x70]
lea eax, [ecx - 0x10]
add esi, 0xfffffff0
cmp eax, esi
je 0x4172a0
cmp dword [esi + 0xc], 0
lea edi, [esi + 0xc]
jl 0x417293
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x417293
push eax
call fcn.004052f0
mov ebx, eax
add esp, 4
or eax, 0xffffffff
lock xadd dword [edi], eax
dec eax
test eax, eax
jg 0x417288
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
add ebx, 0x10
mov dword [ebp - 0x70], ebx
mov ebx, dword [ebp - 0x60]
jmp 0x4172a0
mov eax, dword [ecx - 0xc]
push eax
push ecx
lea ecx, [ebp - 0x70]
call fcn.00402180
mov byte [ebp - 4], 0x20
mov eax, dword [ebp - 0xb4]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4172c6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x1f
mov eax, dword [ebp - 0x88]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4172ec
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x15
mov eax, dword [ebp - 0x54]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41730f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ecx]
mov esi, dword [ebx + edx + 0x5c4bc]
mov ecx, dword [esi - 0x10]
lea eax, [ebx + edx + 0x5c4bc]
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
call edx
cmp dword [esi - 4], 0
lea ecx, [esi - 4]
jl 0x417348
cmp eax, dword [esi - 0x10]
jne 0x417348
lea edi, [esi - 0x10]
mov eax, 1
lock xadd dword [ecx], eax
jmp 0x417380
mov ecx, dword [esi - 0xc]
mov edx, dword [eax]
mov edx, dword [edx]
push 2
push ecx
mov ecx, eax
call edx
mov edi, eax
test edi, edi
je 0x416826
mov eax, dword [esi - 0xc]
mov dword [edi + 4], eax
mov eax, dword [esi - 0xc]
lea ecx, [eax + eax + 2]
push ecx
lea edx, [eax + eax + 2]
push esi
push edx
lea eax, [edi + 0x10]
push eax
call fcn.0054fc42
add esp, 0x10
add edi, 0x10
mov dword [ebp - 0x60], edi
mov byte [ebp - 4], 0x22
call fcn.00469967
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x417584
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x54], eax
mov ecx, str.________Option_not_checked:
mov byte [ebp - 4], 0x23
test ecx, 0xffff0000
jne 0x4173d9
mov edx, ecx
movzx esi, dx
push esi
call fcn.004636d7
test eax, eax
je 0x4173e8
push esi
push eax
lea ecx, [ebp - 0x54]
call fcn.00401f60
jmp 0x4173e8
push 0x1c
push str.________Option_not_checked:
lea ecx, [ebp - 0x54]
call fcn.00402180
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp - 0x54]
push ecx
lea edx, [ebp - 0xa8]
push edx
mov byte [ebp - 4], 0x24
call fcn.0041ba90
add esp, 0xc
mov esi, eax
mov byte [ebp - 4], 0x25
call fcn.00434750
mov byte [ebp - 4], 0x24
mov eax, dword [ebp - 0xa8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x417434
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x22
mov eax, dword [ebp - 0x54]
add eax, 0xfffffff0
or edx, 0xffffffff
lea ecx, [eax + 0xc]
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x417457
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [edi - 0x10]
or edx, 0xffffffff
lea ecx, [eax + 0xc]
mov byte [ebp - 4], 0x15
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x417477
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov esi, dword [ebp - 0x4c]
mov ecx, dword [esi]
cmp byte [ebx + ecx + 0x5c4d4], 1
lea eax, [ebx + ecx]
je 0x4174de
mov eax, dword [eax + 0x5c4c4]
mov ecx, 0x5b0620
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4174ba
test dx, dx
je 0x4174b6
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4174ba
add eax, 4
add ecx, 4
test dx, dx
jne 0x417494
xor eax, eax
jmp 0x4174bf
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4174de
lea ecx, [ebp - 0x6c]
call fcn.00404dd0
mov ecx, eax
call fcn.00404e50
mov edx, dword [eax]
cmp dword [edx - 0xc], 0
jle 0x4174de
mov byte [ebp - 0x45], 1
mov byte [ebp - 4], 0x14
mov eax, dword [ebp - 0x58]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x417501
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x13
mov eax, dword [ebp - 0x6c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x417524
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x12
mov eax, dword [ebp - 0x5c]
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x417544
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x64]
mov ecx, dword [esi]
mov edx, dword [ebp - 0xa0]
inc eax
mov dword [ebp - 0x64], eax
cmp eax, dword [ecx + edx + 0x5c738]
jl 0x416d70
cmp byte [ebp - 0x4d], 1
jne 0x417924
cmp byte [ebp - 0x45], 0
jne 0x417924
call fcn.00469967
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x41758e
push 0x80004005
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x54], eax
mov ecx, 0x5afbc8
mov byte [ebp - 4], 0x26
test ecx, 0xffff0000
jne 0x4175c9
mov edx, ecx
movzx edi, dx
push edi
call fcn.004636d7
test eax, eax
je 0x4175d8
push edi
push eax
lea ecx, [ebp - 0x54]
call fcn.00401f60
jmp 0x4175d8
push 0
push 0x5afbc8
lea ecx, [ebp - 0x54]
call fcn.00402180
mov byte [ebp - 4], 0x27
call fcn.00469967
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4175f6
push 0x80004005
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x6c], eax
mov ecx, 0x5aff34
mov byte [ebp - 4], 0x28
test ecx, 0xffff0000
jne 0x417631
mov edx, ecx
movzx edi, dx
push edi
call fcn.004636d7
test eax, eax
je 0x417640
push edi
push eax
lea ecx, [ebp - 0x6c]
call fcn.00401f60
jmp 0x417640
push 1
push 0x5aff34
lea ecx, [ebp - 0x6c]
call fcn.00402180
mov bl, 0x29
mov byte [ebp - 4], bl
call fcn.00469967
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x41765f
push 0x80004005
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x64], eax
mov ecx, 0x5b0a04
mov byte [ebp - 4], 0x2a
test ecx, 0xffff0000
jne 0x41769a
mov edx, ecx
movzx edi, dx
push edi
call fcn.004636d7
test eax, eax
je 0x4176a9
push edi
push eax
lea ecx, [ebp - 0x64]
call fcn.00401f60
jmp 0x4176a9
push 3
push 0x5b0a04
lea ecx, [ebp - 0x64]
call fcn.00402180
lea eax, [ebp - 0x54]
push eax
lea ecx, [ebp - 0x6c]
push ecx
lea edx, [ebp - 0x7c]
push edx
mov byte [ebp - 4], 0x2b
mov ecx, dword [esi]
lea eax, [ebp - 0x64]
push eax
add ecx, 0x16c
push ecx
lea edx, [ebp - 0x9c]
push edx
mov ecx, 0xa
call fcn.00438b00
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0x64]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4176f9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x27
mov eax, dword [ebp - 0x6c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41771c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x12
mov eax, dword [ebp - 0x54]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41773f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xf
mov eax, dword [ebp - 0x70]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x417762
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xe
mov eax, dword [ebp - 0xa4]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x417788
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xd
mov eax, dword [ebp - 0xb8]
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4177ab
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xc
mov eax, dword [ebp - 0xe4]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4177d1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xb
mov eax, dword [ebp - 0xd8]
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4177f4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xa
mov eax, dword [ebp - 0x84]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41781a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 9
mov eax, dword [ebp - 0x7c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41783d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0xe0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x417863
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0xc4]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x417889
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0xc8]
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4178ac
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0xf8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4178d2
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0xfc]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4178f4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x9c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41791d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov al, 1
jmp 0x4197ea
mov ecx, dword [esi]
mov edx, dword [ecx + 0x264]
mov eax, dword [edx - 0xc]
test eax, eax
jle 0x4179c1
push 0x5b0a0c
lea ecx, [ebp - 0x88]
call fcn.00401d50
push eax
mov byte [ebp - 4], 0x2c
mov eax, dword [esi]
add eax, 0x264
push eax
lea ecx, [ebp - 0xa8]
push ecx
call fcn.0041ba90
add esp, 0xc
mov byte [ebp - 4], 0x2d
mov ecx, dword [esi]
add ecx, 0x264
push eax
call fcn.00405080
mov byte [ebp - 4], 0x2c
mov eax, dword [ebp - 0xa8]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x41799b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x12
mov eax, dword [ebp - 0x88]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4179c1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [esi]
lea ecx, [ebp - 0x7c]
push ecx
add edx, 0x264
push edx
lea eax, [ebp - 0xa8]
push eax
call fcn.0041ba90
add esp, 0xc
mov byte [ebp - 4], 0x2e
mov ecx, dword [esi]
add ecx, 0x264
push eax
call fcn.00405080
mov byte [ebp - 4], 0x12
mov eax, dword [ebp - 0xa8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x417a15
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5b0a10
lea ecx, [ebp - 0xac]
call fcn.00401d50
mov esi, eax
push str.____Downloading_offer:
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 0x2f
call fcn.00401d50
lea ecx, [ebp - 0xe0]
push ecx
push eax
lea edx, [ebp - 0xb4]
push edx
mov byte [ebp - 4], 0x30
call fcn.0041ba90
add esp, 0xc
push esi
push eax
lea eax, [ebp - 0x88]
push eax
mov byte [ebp - 4], 0x31
call fcn.0041ba90
add esp, 0xc
lea ecx, [ebp - 0xc4]
push ecx
push eax
lea edx, [ebp - 0xa8]
mov bl, 0x32
push edx
mov byte [ebp - 4], bl
call fcn.0041ba90
add esp, 0xc
mov esi, eax
mov byte [ebp - 4], 0x33
call fcn.00434750
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0xa8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x417ab7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x31
mov eax, dword [ebp - 0x88]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x417add
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x30
mov eax, dword [ebp - 0xb4]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x417b03
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x2f
mov eax, dword [ebp - 0xb0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x417b29
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x12
mov eax, dword [ebp - 0xac]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x417b4f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov esi, dword [ebp - 0x4c]
mov eax, dword [esi]
mov ecx, dword [ebp - 0xa0]
cmp dword [eax + ecx + 0x5c7e0], 0
jle 0x417b6b
mov byte [eax + 0x213], 1
mov eax, dword [esi]
lea edx, [eax + ecx + 0x5b950]
push edx
lea edx, [eax + ecx + 0x5b990]
push edx
lea edx, [eax + ecx + 0x5b968]
lea ecx, [eax + ecx + 0x5b954]
push edx
push ecx
lea ecx, [eax + 0x218]
call fcn.0044c630
push 0x5b01f4
lea ecx, [ebp - 0xa8]
call fcn.00401d50
push eax
mov byte [ebp - 4], 0x34
mov edx, dword [esi + 0xc]
mov eax, dword [esi + 8]
push edx
push eax
lea ecx, [ebp - 0x120]
push ecx
call fcn.00421a60
mov byte [ebp - 4], 0x36
mov eax, dword [ebp - 0xa8]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x417be7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
xor bl, bl
push 0x5afbc8
lea ecx, [ebp - 0xdc]
mov byte [ebp - 0x45], bl
mov dword [ebp - 0x64], 0
call fcn.00401d50
mov byte [ebp - 4], 0x37
jmp 0x417c13
mov bl, byte [ebp - 0x45]
cmp dword [ebp - 0x64], 5
jge 0x418111
test bl, bl
jne 0x417c41
lea ecx, [ebp - 0xc4]
push ecx
lea esi, [ebp - 0xdc]
lea ecx, [ebp - 0x84]
call fcn.00427960
test al, al
je 0x417c41
mov byte [ebp - 0x45], 1
mov edx, dword [ebp - 0x4c]
mov eax, dword [edx]
mov ebx, dword [ebp - 0xa0]
lea eax, [eax + ebx + 0x5b970]
mov eax, dword [eax]
sub eax, 0x10
push eax
call fcn.004052f0
lea esi, [eax + 0x10]
add esp, 4
mov dword [ebp - 0x90], esi
push 0x5afbc8
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0x38
call fcn.00401d50
lea ecx, [ebp - 0x84]
push ecx
lea edi, [ebp - 0x6c]
mov byte [ebp - 4], 0x39
call fcn.00428120
cmp dword [esi - 0xc], 0
mov ecx, dword [ebp - 0x6c]
jle 0x417cd5
cmp dword [ecx - 0xc], 0
jle 0x417cd5
mov eax, esi
nop
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x417cc6
test dx, dx
je 0x417cc2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x417cc6
add eax, 4
add ecx, 4
test dx, dx
jne 0x417ca0
xor eax, eax
jmp 0x417ccb
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x417cd5
mov byte [ebp - 0x45], 0
jmp 0x417cdf
cmp byte [ebp - 0x45], 0
jne 0x4180bf
push 0x5afbc8
lea ecx, [ebp - 0x60]
call fcn.00401d50
lea esi, [ebp - 0x60]
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 0x3a
call fcn.00426b50
push 0x5afbc8
lea ecx, [ebp - 0x5c]
call fcn.00401d50
lea edx, [ebp - 0x84]
push edx
lea edi, [ebp - 0x5c]
mov byte [ebp - 4], 0x3b
call fcn.00428120
push str._url:
lea ecx, [ebp - 0x94]
call fcn.00401d50
push eax
mov eax, dword [ebp - 0x4c]
mov byte [ebp - 4], 0x3c
mov ecx, dword [eax]
lea edx, [ecx + ebx + 0x5b954]
push edx
lea eax, [ebp - 0x8c]
push eax
call fcn.0041ba90
add esp, 0xc
lea ecx, [ebp - 0xc4]
push ecx
push eax
lea edx, [ebp - 0x98]
push edx
mov byte [ebp - 4], 0x3d
call fcn.0041ba90
add esp, 0xc
push str._file:
push eax
lea eax, [ebp - 0xd0]
push eax
mov byte [ebp - 4], 0x3e
call fcn.0041bb50
add esp, 0xc
lea ecx, [ebp - 0x84]
push ecx
push eax
lea edx, [ebp - 0x54]
push edx
mov byte [ebp - 4], 0x3f
call fcn.0041ba90
add esp, 0xc
push str._message:
push eax
lea eax, [ebp - 0xbc]
push eax
mov byte [ebp - 4], 0x40
call fcn.0041bb50
add esp, 0xc
lea ecx, [ebp - 0xdc]
push ecx
push eax
lea edx, [ebp - 0xac]
push edx
mov byte [ebp - 4], 0x41
call fcn.0041ba90
add esp, 0xc
push str._fileinfo:
push eax
lea eax, [ebp - 0xb0]
push eax
mov byte [ebp - 4], 0x42
call fcn.0041bb50
add esp, 0xc
mov ecx, esi
push ecx
push eax
lea edx, [ebp - 0xb4]
push edx
mov byte [ebp - 4], 0x43
call fcn.0041ba90
add esp, 0xc
push str._md5:
push eax
lea eax, [ebp - 0x88]
push eax
mov byte [ebp - 4], 0x44
call fcn.0041bb50
add esp, 0xc
mov ecx, edi
push ecx
push eax
lea edx, [ebp - 0x58]
push edx
mov byte [ebp - 4], 0x45
call fcn.0041ba90
add esp, 0xc
mov byte [ebp - 4], 0x47
mov eax, dword [ebp - 0x88]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x417e52
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x48
mov eax, dword [ebp - 0xb4]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x417e78
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x49
mov eax, dword [ebp - 0xb0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x417e9e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x4a
mov eax, dword [ebp - 0xac]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x417ec4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x4b
mov eax, dword [ebp - 0xbc]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x417eea
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x4c
mov eax, dword [ebp - 0x54]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x417f0d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x4d
mov eax, dword [ebp - 0xd0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x417f33
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x4e
mov eax, dword [ebp - 0x98]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x417f59
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x4f
mov eax, dword [ebp - 0x8c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x417f7f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x50
mov eax, dword [ebp - 0x94]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x417fa5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5afbc8
lea ecx, [ebp - 0x78]
call fcn.00401d50
mov esi, eax
push 0x5b0ab0
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 0x51
call fcn.00401d50
push esi
lea ecx, [ebp - 0x58]
push ecx
lea edx, [ebp - 0x7c]
push edx
push eax
mov eax, dword [ebp - 0x4c]
mov byte [ebp - 4], 0x52
mov ecx, dword [eax]
add ecx, 0x16c
push ecx
lea edx, [ebp - 0x9c]
push edx
mov ecx, 1
call fcn.00438b00
mov byte [ebp - 4], 0x51
mov eax, dword [ebp - 0x80]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x418013
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x50
mov eax, dword [ebp - 0x78]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x418036
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0x84]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov edx, dword [ebp - 0xc4]
push edx
call dword [sym.imp.WININET.dll_DeleteUrlCacheEntryW]
mov byte [ebp - 4], 0x3b
mov eax, dword [ebp - 0x58]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x418073
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x3a
mov eax, dword [ebp - 0x5c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x418096
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x39
mov eax, dword [ebp - 0x60]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4180b9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov esi, dword [ebp - 0x90]
inc dword [ebp - 0x64]
mov byte [ebp - 4], 0x38
mov eax, dword [ebp - 0x6c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4180e5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [esi - 0x10]
mov byte [ebp - 4], 0x37
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x418105
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp byte [ebp - 0x45], 0
je 0x417c10
jmp 0x418119
test bl, bl
je 0x419461
push 0x5b0ab8
lea ecx, [ebp - 0x98]
call fcn.00401d50
mov esi, eax
push 0x5b0ac0
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 0x53
call fcn.00401d50
lea ecx, [ebp - 0x84]
push ecx
push eax
lea edx, [ebp - 0x94]
push edx
mov byte [ebp - 4], 0x54
call fcn.0041ba90
add esp, 0xc
push esi
push eax
lea eax, [ebp - 0x80]
push eax
mov byte [ebp - 4], 0x55
call fcn.0041ba90
add esp, 0xc
lea ecx, [ebp - 0x70]
push ecx
push eax
lea edx, [ebp - 0x78]
mov bl, 0x56
push edx
mov byte [ebp - 4], bl
call fcn.0041ba90
add esp, 0xc
push eax
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x57
call fcn.00405080
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0x78]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4181b1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x55
mov eax, dword [ebp - 0x80]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4181d4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x54
mov eax, dword [ebp - 0x94]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4181fa
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x53
mov eax, dword [ebp - 0x8c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x418220
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x37
mov eax, dword [ebp - 0x98]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x418246
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp byte [ebp - 0x4d], 0
jne 0x418267
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ecx]
lea edx, [ebp - 0x7c]
push edx
lea ecx, [eax + 0x170]
push ecx
add eax, 0x294
push eax
call fcn.004367d0
lea ecx, [ebp - 0xa4]
call fcn.00404dd0
mov ecx, eax
call fcn.00404e50
mov edx, dword [eax]
mov eax, dword [edx - 0xc]
test eax, eax
jle 0x4185a0
push 0x5b0ab8
lea ecx, [ebp - 0x98]
call fcn.00401d50
mov esi, eax
push 0x5b0ac0
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 0x58
call fcn.00401d50
lea ecx, [ebp - 0x84]
push ecx
push eax
lea edx, [ebp - 0x94]
push edx
mov byte [ebp - 4], 0x59
call fcn.0041ba90
add esp, 0xc
push esi
push eax
lea eax, [ebp - 0x80]
push eax
mov byte [ebp - 4], 0x5a
call fcn.0041ba90
add esp, 0xc
lea ecx, [ebp - 0xa4]
push ecx
push eax
lea edx, [ebp - 0x78]
mov bl, 0x5b
push edx
mov byte [ebp - 4], bl
call fcn.0041ba90
add esp, 0xc
push eax
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0x5c
call fcn.00405080
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0x78]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x418324
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x5a
mov eax, dword [ebp - 0x80]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x418347
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x59
mov eax, dword [ebp - 0x94]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41836d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x58
mov eax, dword [ebp - 0x8c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x418393
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x37
mov eax, dword [ebp - 0x98]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4183b9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5afbc8
lea ecx, [ebp - 0x5c]
call fcn.00401d50
lea ecx, [ebp - 0xc0]
push ecx
lea edx, [ebp - 0x5c]
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0x5d
call fcn.0043bac0
test al, al
jne 0x41857d
mov edi, dword [ebp - 0x4c]
mov edx, dword [edi]
mov eax, dword [ebp - 0xa0]
lea ecx, [edx + eax + 0x5b954]
push str._cmd:
push ecx
lea edx, [ebp - 0x94]
push edx
call fcn.0041bb50
add esp, 0xc
lea ecx, [ebp - 0xa4]
push ecx
push eax
lea edx, [ebp - 0x80]
push edx
mov byte [ebp - 4], 0x5e
call fcn.0041ba90
add esp, 0xc
push 0x5b0ac4
push eax
lea eax, [ebp - 0x78]
push eax
mov byte [ebp - 4], 0x5f
call fcn.0041bb50
add esp, 0xc
lea ecx, [ebp - 0x5c]
push ecx
push eax
lea edx, [ebp - 0x58]
push edx
mov byte [ebp - 4], 0x60
call fcn.0041ba90
add esp, 0xc
mov byte [ebp - 4], 0x62
mov eax, dword [ebp - 0x78]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x418474
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x63
mov eax, dword [ebp - 0x80]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x418497
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov bl, 0x64
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0x94]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4184be
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5afbc8
lea ecx, [ebp - 0x98]
call fcn.00401d50
mov esi, eax
push 0x5b0ae8
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 0x65
call fcn.00401d50
push esi
lea ecx, [ebp - 0x58]
push ecx
lea edx, [ebp - 0x7c]
push edx
push eax
mov byte [ebp - 4], 0x66
mov eax, dword [edi]
add eax, 0x16c
push eax
lea ecx, [ebp - 0x9c]
push ecx
mov ecx, 1
call fcn.00438b00
mov byte [ebp - 4], 0x65
mov eax, dword [ebp - 0x8c]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x418531
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0x98]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x418556
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x5d
mov eax, dword [ebp - 0x58]
add eax, 0xfffffff0
mov byte [ebp - 0x4e], 0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41857d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x37
mov eax, dword [ebp - 0x5c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4185a0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push str.____Executing_offer_command:
lea ecx, [ebp - 0x80]
call fcn.00401d50
lea ecx, [ebp - 0x70]
push ecx
push eax
lea edx, [ebp - 0x78]
mov bl, 0x67
push edx
mov byte [ebp - 4], bl
call fcn.0041ba90
add esp, 0xc
mov esi, eax
mov byte [ebp - 4], 0x68
call fcn.00434750
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0x78]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4185f0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x37
mov eax, dword [ebp - 0x80]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x418613
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5afbc8
lea ecx, [ebp - 0x6c]
mov dword [ebp - 0x64], 0
call fcn.00401d50
lea ecx, [ebp - 0x64]
push ecx
lea edx, [ebp - 0x6c]
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x69
call fcn.0043bac0
test al, al
je 0x418df5
cmp byte [ebp - 0x4d], 0
jne 0x418deb
push str.____Command_succeded._Calling__conversion_URL.
lea ecx, [ebp - 0x78]
call fcn.00401d50
mov esi, eax
mov byte [ebp - 4], 0x6a
call fcn.00434750
mov byte [ebp - 4], 0x69
mov eax, dword [ebp - 0x78]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x418687
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ecx]
mov edx, dword [ebp - 0xa0]
cmp dword [eax + edx + 0x5c7dc], 0
mov dword [ebp - 0x5c], 0
jle 0x418b41
mov ebx, edx
mov dword [ebp - 0x60], ebx
lea esp, [esp]
mov eax, dword [ebx + eax + 0x5c740]
sub eax, 0x10
push eax
call fcn.004052f0
add esp, 4
add eax, 0x10
mov dword [ebp - 0x68], eax
mov byte [ebp - 4], 0x6b
mov ecx, str.REG_SZ
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4186f8
test dx, dx
je 0x4186f4
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4186f8
add eax, 4
add ecx, 4
test dx, dx
jne 0x4186d2
xor eax, eax
jmp 0x4186fd
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x418af9
mov edi, dword [ebp - 0x4c]
mov eax, dword [edi]
lea eax, [ebx + eax + 0x5c73c]
mov eax, dword [eax]
sub eax, 0x10
push eax
call fcn.004052f0
lea esi, [eax + 0x10]
add esp, 4
mov dword [ebp - 0x94], esi
mov byte [ebp - 4], 0x6c
mov ecx, dword [edi]
lea eax, [ebx + ecx + 0x5c744]
mov eax, dword [eax]
sub eax, 0x10
push eax
call fcn.004052f0
lea edi, [eax + 0x10]
add esp, 4
mov dword [ebp - 0x8c], edi
mov edx, dword [ebp - 0x4c]
mov byte [ebp - 4], 0x6d
mov eax, dword [edx]
lea eax, [ebx + eax + 0x5c748]
mov eax, dword [eax]
sub eax, 0x10
push eax
call fcn.004052f0
add eax, 0x10
add esp, 4
mov dword [ebp - 0x98], eax
add eax, 0xfffffff0
mov byte [ebp - 4], 0x6e
push eax
mov dword [ebp - 0x90], eax
call fcn.004052f0
add eax, 0x10
add esp, 4
mov dword [ebp - 0x58], eax
add edi, 0xfffffff0
mov byte [ebp - 4], 0x6f
push edi
mov dword [ebp - 0xcc], edi
call fcn.004052f0
lea edi, [eax + 0x10]
add esp, 4
mov dword [ebp - 0x78], edi
add esi, 0xfffffff0
mov byte [ebp - 4], 0x70
push esi
mov dword [ebp - 0x74], esi
call fcn.004052f0
lea esi, [eax + 0x10]
add esp, 4
mov dword [ebp - 0x80], esi
lea ecx, [ebp - 0x78]
push ecx
lea edx, [ebp - 0x80]
push edx
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x71
call fcn.0043c9f0
mov byte [ebp - 0x4d], al
lea eax, [esi - 0x10]
mov byte [ebp - 4], 0x70
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4187fb
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [edi - 0x10]
mov byte [ebp - 4], 0x6f
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41881b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x6e
mov eax, dword [ebp - 0x58]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41883e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp byte [ebp - 0x4d], 0
jne 0x418a93
push str._value:
lea ecx, [ebp - 0xe8]
call fcn.00401d50
mov esi, eax
push str._Key:
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0x72
call fcn.00401d50
push eax
lea ecx, [ebp - 0x94]
push ecx
lea edx, [ebp - 0xbc]
push edx
mov byte [ebp - 4], 0x73
call fcn.0041ba90
add esp, 0xc
lea ecx, [ebp - 0x8c]
push ecx
push eax
lea edx, [ebp - 0xac]
push edx
mov byte [ebp - 4], 0x74
call fcn.0041ba90
add esp, 0xc
push esi
push eax
lea eax, [ebp - 0xb0]
push eax
mov byte [ebp - 4], 0x75
call fcn.0041ba90
add esp, 0xc
lea ecx, [ebp - 0x98]
push ecx
push eax
lea edx, [ebp - 0xb4]
push edx
mov byte [ebp - 4], 0x76
call fcn.0041ba90
add esp, 0xc
mov esi, eax
push str.Error_adding_registry_entry.
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0x77
call fcn.00401d50
mov ebx, eax
push 0x5b0c00
lea ecx, [ebp - 0xd0]
mov byte [ebp - 4], 0x78
call fcn.00401d50
mov edi, eax
mov eax, dword [ebp - 0x4c]
mov byte [ebp - 4], 0x79
mov eax, dword [eax]
mov eax, dword [eax + 0x294]
sub eax, 0x10
push eax
call fcn.004052f0
add eax, 0x10
add esp, 4
mov dword [ebp - 0x58], eax
push esi
push ebx
push edi
lea ecx, [ebp - 0x58]
push ecx
lea edx, [ebp - 0x9c]
push edx
mov ebx, 1
mov byte [ebp - 4], 0x7a
call fcn.00435040
mov byte [ebp - 4], 0x79
mov eax, dword [ebp - 0x58]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41895f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x78
mov eax, dword [ebp - 0xd0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x418985
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x77
mov eax, dword [ebp - 0x88]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4189ab
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x76
mov eax, dword [ebp - 0xb4]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4189d1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x75
mov eax, dword [ebp - 0xb0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4189f7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x74
mov eax, dword [ebp - 0xac]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x418a1d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x73
mov eax, dword [ebp - 0xbc]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x418a43
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x72
mov eax, dword [ebp - 0x54]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x418a66
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x6e
mov eax, dword [ebp - 0xe8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x418a8c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ebx, dword [ebp - 0x60]
mov byte [ebp - 0x4e], 0
mov eax, dword [ebp - 0x90]
mov byte [ebp - 4], 0x6d
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x418ab6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x6c
mov eax, dword [ebp - 0xcc]
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x418ad9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x6b
mov eax, dword [ebp - 0x74]
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x418af9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x69
mov eax, dword [ebp - 0x68]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x418b1c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x5c]
mov eax, dword [edx]
mov edx, dword [ebp - 0xa0]
inc ecx
add ebx, 0x10
mov dword [ebp - 0x5c], ecx
mov dword [ebp - 0x60], ebx
cmp ecx, dword [eax + edx + 0x5c7dc]
jl 0x4186b0
cmp byte [ebp - 0x4e], 1
jne 0x418deb
mov eax, dword [ebp - 0x64]
test eax, eax
je 0x418b5b
cmp eax, 0x65
jne 0x418deb
call fcn.00469967
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x418b75
push 0x80004005
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x58], eax
lea esi, [ebp - 0x44]
call fcn.00451f70
lea ecx, [ebp - 0xe4]
mov byte [ebp - 4], 0x7c
call fcn.00404dd0
mov ecx, eax
call fcn.00404e50
mov ecx, dword [eax]
cmp dword [ecx - 0xc], 0
jle 0x418c60
push str.Send_Offer_Conversion_Notice
lea edx, [ebp - 0x58]
push edx
mov edx, dword [ebp - 0xe4]
mov ecx, esi
call fcn.00452360
test eax, eax
jne 0x418c60
push 0x5afbc8
lea ecx, [ebp - 0x74]
call fcn.00401d50
mov esi, eax
mov bl, 0x7d
push 0x5b0c44
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], bl
call fcn.00401d50
push esi
lea ecx, [ebp - 0xe0]
push ecx
lea edx, [ebp - 0x7c]
push edx
push eax
mov eax, dword [ebp - 0x4c]
mov byte [ebp - 4], 0x7e
mov ecx, dword [eax]
add ecx, 0x16c
push ecx
lea edx, [ebp - 0x9c]
push edx
mov ecx, 1
call fcn.00438b00
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0x68]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x418c3d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x7c
mov eax, dword [ebp - 0x74]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x418c60
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5afbc8
lea ecx, [ebp - 0xcc]
call fcn.00401d50
mov esi, eax
push 0x5aff34
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x7f
call fcn.00401d50
mov edi, eax
mov bl, 0x80
push 0x5b0c4c
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], bl
call fcn.00401d50
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0xa0]
push esi
mov byte [ebp - 4], 0x81
mov ecx, dword [ecx]
lea edx, [ecx + edx + 0x5b954]
push edx
push edi
push eax
add ecx, 0x16c
push ecx
lea eax, [ebp - 0x9c]
push eax
mov ecx, 1
call fcn.00438b00
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0x68]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x418ceb
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x7f
mov eax, dword [ebp - 0x74]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x418d0e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x7c
mov eax, dword [ebp - 0xcc]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x418d34
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5b0974
lea ecx, [ebp - 0x74]
call fcn.00401d50
mov esi, eax
mov bl, 0x82
push 0x5afbc8
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], bl
call fcn.00401d50
mov ecx, dword [ebp - 0x4c]
push esi
push eax
mov byte [ebp - 4], 0x83
mov ecx, dword [ecx]
lea edx, [ebp - 0x7c]
push edx
lea eax, [ecx + 0x170]
push eax
add ecx, 0x294
push ecx
call fcn.00436b90
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0x68]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x418d99
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x7c
mov eax, dword [ebp - 0x74]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x418dbc
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x7b
call fcn.00452020
mov byte [ebp - 4], 0x69
mov eax, dword [ebp - 0x58]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x418deb
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [ebp - 0x64], 0
je 0x41941b
mov edx, dword [ebp - 0x64]
push 0xa
lea ecx, [ebp - 0x34]
push ecx
push edx
call fcn.0056db4e
add esp, 0xc
call fcn.00469967
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x418e21
push 0x80004005
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x60], eax
lea esi, [ebp - 0x60]
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 0x84
call fcn.00426b50
push 0x5afbc8
lea ecx, [ebp - 0x5c]
call fcn.00401d50
lea ecx, [ebp - 0x84]
push ecx
lea edi, [ebp - 0x5c]
mov byte [ebp - 4], 0x85
call fcn.00428120
push str.____Command_failed_or_canceled_by_user.
lea ecx, [ebp - 0x68]
call fcn.00401d50
mov esi, eax
mov byte [ebp - 4], 0x86
call fcn.00434750
mov byte [ebp - 4], 0x85
mov eax, dword [ebp - 0x68]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x418e9d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push str._md5:
lea ecx, [ebp - 0xc0]
call fcn.00401d50
mov esi, eax
push str._fileinfo:
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0x87
call fcn.00401d50
mov edi, eax
push 0x5b0ac4
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 0x88
call fcn.00401d50
mov ebx, eax
lea ecx, [ebp - 0x34]
push ecx
lea ecx, [ebp - 0xbc]
mov byte [ebp - 4], 0x89
call fcn.0041b810
mov dword [ebp - 0xcc], eax
push str._ret_code:
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 0x8a
call fcn.00401d50
mov dword [ebp - 0x74], eax
push str._cmd:
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 0x8b
call fcn.00401d50
mov dword [ebp - 0x68], eax
mov edx, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0xa0]
mov byte [ebp - 4], 0x8c
mov eax, dword [edx]
lea eax, [eax + ecx + 0x5b954]
mov eax, dword [eax]
sub eax, 0x10
push eax
call fcn.004052f0
add eax, 0x10
add esp, 4
mov dword [ebp - 0x58], eax
mov byte [ebp - 4], 0x8d
mov edx, dword [ebp - 0x68]
push edx
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0xb4]
push ecx
call fcn.0041ba90
add esp, 0xc
lea edx, [ebp - 0x70]
push edx
push eax
lea eax, [ebp - 0x88]
push eax
mov byte [ebp - 4], 0x8e
call fcn.0041ba90
add esp, 0xc
mov byte [ebp - 4], 0x8f
mov ecx, dword [ebp - 0x74]
push ecx
push eax
lea edx, [ebp - 0xd0]
push edx
call fcn.0041ba90
add esp, 0xc
mov byte [ebp - 4], 0x90
mov ecx, dword [ebp - 0xcc]
push ecx
push eax
lea edx, [ebp - 0x98]
push edx
call fcn.0041ba90
add esp, 0xc
push ebx
push eax
lea eax, [ebp - 0x8c]
push eax
mov byte [ebp - 4], 0x91
call fcn.0041ba90
add esp, 0xc
lea ecx, [ebp - 0x6c]
push ecx
push eax
lea edx, [ebp - 0x94]
push edx
mov byte [ebp - 4], 0x92
call fcn.0041ba90
add esp, 0xc
push edi
push eax
lea eax, [ebp - 0x80]
push eax
mov byte [ebp - 4], 0x93
call fcn.0041ba90
add esp, 0xc
lea ecx, [ebp - 0x60]
push ecx
push eax
lea edx, [ebp - 0x78]
push edx
mov byte [ebp - 4], 0x94
call fcn.0041ba90
add esp, 0xc
push esi
push eax
lea eax, [ebp - 0xe8]
push eax
mov byte [ebp - 4], 0x95
call fcn.0041ba90
add esp, 0xc
lea ecx, [ebp - 0x5c]
push ecx
push eax
lea edx, [ebp - 0x90]
push edx
mov byte [ebp - 4], 0x96
call fcn.0041ba90
add esp, 0xc
mov byte [ebp - 4], 0x98
mov eax, dword [ebp - 0xe8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x419053
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x99
mov eax, dword [ebp - 0x78]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x419076
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x9a
mov eax, dword [ebp - 0x80]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x419099
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x9b
mov eax, dword [ebp - 0x94]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4190bf
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x9c
mov eax, dword [ebp - 0x8c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4190e5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x9d
mov eax, dword [ebp - 0x98]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41910b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x9e
mov eax, dword [ebp - 0xd0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x419131
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x9f
mov eax, dword [ebp - 0x88]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x419157
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xa0
mov eax, dword [ebp - 0xb4]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41917d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xa1
mov eax, dword [ebp - 0x58]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4191a0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xa2
mov eax, dword [ebp - 0xb0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4191c6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xa3
mov eax, dword [ebp - 0xac]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4191ec
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xa4
mov eax, dword [ebp - 0xbc]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x419212
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xa5
mov eax, dword [ebp - 0x64]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x419235
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xa6
mov eax, dword [ebp - 0x54]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x419258
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xa7
mov eax, dword [ebp - 0xc0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41927e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5afbc8
lea ecx, [ebp - 0x74]
call fcn.00401d50
mov esi, eax
push 0x5b0cc4
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0xa8
call fcn.00401d50
mov ebx, dword [ebp - 0x4c]
push esi
lea ecx, [ebp - 0x90]
push ecx
lea edx, [ebp - 0x7c]
push edx
push eax
mov byte [ebp - 4], 0xa9
mov eax, dword [ebx]
add eax, 0x16c
push eax
lea ecx, [ebp - 0x9c]
push ecx
mov ecx, 1
call fcn.00438b00
mov byte [ebp - 4], 0xa8
mov eax, dword [ebp - 0x68]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4192ee
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xa7
mov eax, dword [ebp - 0x74]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x419311
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [ebp - 0x34]
push ecx
lea ecx, [ebp - 0x74]
call fcn.0041b810
mov esi, eax
mov byte [ebp - 4], 0xaa
mov eax, dword [ebp - 0x6c]
add eax, 0xfffffff0
push eax
call fcn.004052f0
lea edi, [eax + 0x10]
add esp, 4
mov dword [ebp - 0x68], edi
push esi
lea edx, [ebp - 0x68]
push edx
mov byte [ebp - 4], 0xab
mov eax, dword [ebx]
lea ecx, [ebp - 0x7c]
push ecx
lea edx, [eax + 0x170]
push edx
add eax, 0x294
push eax
call fcn.00437260
lea eax, [edi - 0x10]
mov byte [ebp - 4], 0xaa
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x419379
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xa7
mov eax, dword [ebp - 0x74]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41939c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0x84]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov byte [ebp - 4], 0x85
mov eax, dword [ebp - 0x90]
add eax, 0xfffffff0
mov byte [ebp - 0x4e], 0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4193d3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x84
mov eax, dword [ebp - 0x5c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4193f6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x69
mov eax, dword [ebp - 0x60]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x419434
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x419434
cmp byte [ebp - 0x4e], 0
je 0x419434
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ecx]
mov eax, dword [ebp - 0xa0]
mov byte [edx + eax + 0x5c7e6], 1
mov byte [ebp - 4], 0x37
mov eax, dword [ebp - 0x6c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x419457
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp byte [ebp - 0x45], 0
jne 0x4194ff
push 0x5b0200
lea ecx, [ebp - 0x68]
mov byte [ebp - 0x4e], 0
call fcn.00401d50
mov esi, eax
mov byte [ebp - 4], 0xac
mov eax, dword [ebp - 0xdc]
add eax, 0xfffffff0
push eax
call fcn.004052f0
lea edi, [eax + 0x10]
add esp, 4
mov dword [ebp - 0xc0], edi
mov ebx, dword [ebp - 0x4c]
push esi
lea ecx, [ebp - 0xc0]
push ecx
mov byte [ebp - 4], 0xad
mov eax, dword [ebx]
lea edx, [ebp - 0x7c]
push edx
lea ecx, [eax + 0x170]
push ecx
add eax, 0x294
push eax
call fcn.00437260
lea eax, [edi - 0x10]
mov byte [ebp - 4], 0xac
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4194da
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x37
mov eax, dword [ebp - 0x68]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x419502
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x419502
mov ebx, dword [ebp - 0x4c]
push 0x5afbc8
lea ecx, [ebp - 0x74]
call fcn.00401d50
mov esi, eax
push 0x5afbc8
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0xae
call fcn.00401d50
mov edi, eax
push 0x5b0ccc
lea ecx, [ebp - 0xc0]
mov byte [ebp - 4], 0xaf
call fcn.00401d50
push esi
push edi
lea ecx, [ebp - 0x7c]
push ecx
mov byte [ebp - 4], 0xb0
mov edx, dword [ebx]
push eax
add edx, 0x16c
push edx
lea eax, [ebp - 0x9c]
push eax
mov ecx, 7
call fcn.00438b00
mov byte [ebp - 4], 0xaf
mov eax, dword [ebp - 0xc0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x419583
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xae
mov eax, dword [ebp - 0x68]
add eax, 0xfffffff0
or esi, 0xffffffff
lea ecx, [eax + 0xc]
mov edx, esi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4195a8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x37
mov eax, dword [ebp - 0x74]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
mov edx, esi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4195ca
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebx]
add dword [eax + 0xb7118], esi
mov byte [ebp - 4], 0x36
mov eax, dword [ebp - 0xdc]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
mov edx, esi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4195f7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x12
mov eax, dword [ebp - 0x10c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
mov edx, esi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41961c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xf
mov eax, dword [ebp - 0x70]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
mov edx, esi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41963e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xe
mov eax, dword [ebp - 0xa4]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
mov edx, esi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x419663
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xd
mov eax, dword [ebp - 0xb8]
lea ecx, [eax + 0xc]
mov edx, esi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x419685
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xc
mov eax, dword [ebp - 0xe4]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
mov edx, esi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4196aa
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xb
mov eax, dword [ebp - 0xd8]
lea ecx, [eax + 0xc]
mov edx, esi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4196cc
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xa
mov eax, dword [ebp - 0x84]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
mov edx, esi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4196f1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 9
mov eax, dword [ebp - 0x7c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
mov edx, esi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x419713
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0xe0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
mov edx, esi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x419738
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0xc4]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
mov edx, esi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41975d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0xc8]
lea ecx, [eax + 0xc]
mov edx, esi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41977f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0xf8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
mov edx, esi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4197a4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0xfc]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
mov edx, esi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4197c5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [ebp - 4], esi
mov eax, dword [ebp - 0x9c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
lock xadd dword [ecx], esi
dec esi
test esi, esi
jg 0x4197e7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov al, byte [ebp - 0x4e]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0054f72c
mov esp, ebp
pop ebp
ret