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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x57f89e
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 - 0xa8], ecx
mov byte [ebp - 0x4e], 1
call fcn.00434070
push 0x5afbc8
lea ecx, [ebp - 0x5c]
mov dword [ebp - 4], 0
call fcn.00401d50
mov esi, eax
push 0x5afbc8
lea ecx, [ebp - 0xbc]
mov byte [ebp - 4], 1
call fcn.00401d50
mov edi, eax
push 0x5aff34
lea ecx, [ebp - 0xe4]
mov byte [ebp - 4], 2
call fcn.00401d50
mov ebx, eax
push 0x5b0988
lea ecx, [ebp - 0xc4]
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 - 0xc4]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41337b
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 - 0xe4]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4133a1
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 - 0xbc]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4133c7
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 - 0x5c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4133ea
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 edx, dword [ebp - 0x4c]
mov byte [ebp - 4], 5
mov eax, dword [edx]
mov eax, dword [eax + 0x158]
sub eax, 0x10
push eax
call fcn.004052f0
lea esi, [eax + 0x10]
add esp, 4
mov dword [ebp - 0xc4], esi
lea eax, [ebp - 0xc4]
push eax
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 0x413450
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0xa8]
mov ecx, dword [ebp - 0x4c]
mov esi, dword [ecx]
mov ebx, eax
imul ebx, ebx, 0xea0
mov ecx, dword [esi + ebx + 0x10b4]
xor edi, edi
mov byte [ebp - 0x4d], 0
mov dword [ebp - 0x88], ebx
mov dword [ebp - 0xc4], ecx
test ecx, ecx
jle 0x413509
mov ebx, eax
imul ebx, ebx, 0x75
mov edx, ebx
shl edx, 5
lea eax, [edx + esi + 0xe50]
mov dword [ebp - 0xc0], eax
jmp 0x4134a0
mov ecx, dword [ebp - 0xc0]
cmp byte [ecx], 1
je 0x4134f3
lea eax, [ebx + edi + 0x72]
shl eax, 5
mov eax, dword [eax + esi]
mov ecx, 0x5b0620
lea ebx, [ebx]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4134e6
test dx, dx
je 0x4134e2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4134e6
add eax, 4
add ecx, 4
test dx, dx
jne 0x4134c0
xor eax, eax
jmp 0x4134eb
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4134f3
mov byte [ebp - 0x4d], 1
add dword [ebp - 0xc0], 0x20
inc edi
cmp edi, dword [ebp - 0xc4]
jl 0x4134a0
mov ebx, dword [ebp - 0x88]
inc dword [esi + 0xb7118]
mov edx, dword [ebp - 0x4c]
mov eax, dword [edx]
mov esi, dword [ebx + eax + 0x2e8]
mov ecx, dword [esi - 0x10]
mov edx, dword [ecx]
lea eax, [ebx + eax + 0x2e8]
mov eax, dword [edx + 0x10]
mov byte [ebp - 0x45], 0
call eax
cmp dword [esi - 4], 0
lea edx, [esi - 4]
jl 0x41354c
cmp eax, dword [esi - 0x10]
jne 0x41354c
lea edi, [esi - 0x10]
mov ecx, 1
lock xadd dword [edx], ecx
jmp 0x413585
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 0x413565
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 - 0x104], edi
mov byte [ebp - 4], 7
mov ecx, dword [edi - 0x10]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
add edi, 0xfffffff0
mov dword [ebp - 0xc4], edi
call eax
cmp dword [edi + 0xc], 0
lea ecx, [edi + 0xc]
jl 0x4135bf
cmp eax, dword [edi]
jne 0x4135bf
mov esi, edi
mov edx, 1
lock xadd dword [ecx], edx
jmp 0x4135fb
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 0x4135d8
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 - 0xd0], esi
mov ecx, dword [ebp - 0x4c]
mov byte [ebp - 4], 8
mov edx, dword [ecx]
mov esi, dword [ebx + edx + 0x2d0]
mov ecx, dword [esi - 0x10]
lea eax, [ebx + edx + 0x2d0]
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
call edx
cmp dword [esi - 4], 0
lea edx, [esi - 4]
jl 0x413641
cmp eax, dword [esi - 0x10]
jne 0x413641
lea edi, [esi - 0x10]
mov eax, 1
lock xadd dword [edx], eax
jmp 0x41367a
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 0x41365a
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 - 0xc0], edi
mov ecx, dword [ebp - 0x4c]
mov byte [ebp - 4], 9
mov edx, dword [ecx]
mov esi, dword [ebx + edx + 0x2cc]
mov ecx, dword [esi - 0x10]
lea eax, [ebx + edx + 0x2cc]
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
call edx
cmp dword [esi - 4], 0
lea edx, [esi - 4]
jl 0x4136c0
cmp eax, dword [esi - 0x10]
jne 0x4136c0
lea edi, [esi - 0x10]
mov eax, 1
lock xadd dword [edx], eax
jmp 0x4136f9
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 0x4136d9
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 - 0x80], edi
push 0x5afbc8
lea ecx, [ebp - 0x7c]
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 [ebx + edx + 0x2f4]
mov ecx, dword [esi - 0x10]
lea eax, [ebx + edx + 0x2f4]
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
call edx
cmp dword [esi - 4], 0
lea edx, [esi - 4]
jl 0x41374d
cmp eax, dword [esi - 0x10]
jne 0x41374d
lea edi, [esi - 0x10]
mov eax, 1
lock xadd dword [edx], eax
jmp 0x413786
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 0x413766
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 - 0x100], edi
mov byte [ebp - 4], 0xc
mov ecx, dword [edi - 0x10]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
add edi, 0xfffffff0
mov dword [ebp - 0xe4], edi
call eax
cmp dword [edi + 0xc], 0
lea ecx, [edi + 0xc]
jl 0x4137c0
cmp eax, dword [edi]
jne 0x4137c0
mov esi, edi
mov edx, 1
lock xadd dword [ecx], edx
jmp 0x4137fc
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 0x4137d9
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 - 0xe0], esi
mov ecx, dword [ebp - 0x4c]
mov byte [ebp - 4], 0xd
mov edx, dword [ecx]
mov esi, dword [ebx + edx + 0x2dc]
mov ecx, dword [esi - 0x10]
lea eax, [ebx + edx + 0x2dc]
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
call edx
cmp dword [esi - 4], 0
lea edx, [esi - 4]
jl 0x413842
cmp eax, dword [esi - 0x10]
jne 0x413842
lea edi, [esi - 0x10]
mov eax, 1
lock xadd dword [edx], eax
jmp 0x41387b
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 0x41385b
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 0x413a06
push 0x2c
push esi
call fcn.00550437
add esp, 8
test eax, eax
je 0x413a06
sub eax, esi
sar eax, 1
mov ebx, eax
test ebx, ebx
jle 0x413a06
push ebx
lea ecx, [ebp - 0x5c]
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 0x413943
cmp dword [edi + 0xc], 0
jl 0x413933
mov edx, dword [eax]
cmp edx, dword [edi]
jne 0x413933
push eax
call fcn.004052f0
mov dword [ebp - 0xbc], eax
add esp, 4
lea eax, [edi + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x413922
mov ecx, dword [edi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push edi
call eax
mov ecx, dword [ebp - 0xbc]
add ecx, 0x10
mov dword [ebp - 0xa4], ecx
jmp 0x413943
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 - 0x5c]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x413966
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 - 0xbc]
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 0x4139e0
cmp dword [edi + 0xc], 0
lea ebx, [edi + 0xc]
jl 0x4139ca
mov edx, dword [eax]
cmp edx, dword [edi]
jne 0x4139ca
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 0x4139bf
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 0x4139e0
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 - 0xbc]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x413a06
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]
lea edi, [esi - 0x10]
mov dword [ebp - 0xbc], edi
call eax
cmp dword [edi + 0xc], 0
lea ecx, [edi + 0xc]
jl 0x413a33
cmp eax, dword [edi]
jne 0x413a33
mov esi, edi
mov edx, 1
lock xadd dword [ecx], edx
jmp 0x413a6f
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 0x413a4c
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 - 0x70], esi
mov edi, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x88]
mov byte [ebp - 4], 0x12
mov eax, dword [edi]
cmp dword [eax + ecx + 0x10b4], 0
mov dword [ebp - 0x64], 0
jle 0x41429e
mov ecx, dword [ebp - 0xa8]
imul ecx, ecx, 0x75
mov dword [ebp - 0xa0], ecx
jmp 0x413ab0
mov ecx, dword [ebp - 0x64]
add ecx, dword [ebp - 0xa0]
shl ecx, 5
mov esi, dword [ecx + eax + 0xe3c]
mov dword [ebp - 0x58], ecx
mov ecx, dword [esi - 0x10]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp dword [esi - 4], 0
lea edx, [esi - 4]
jl 0x413aec
cmp eax, dword [esi - 0x10]
jne 0x413aec
lea edi, [esi - 0x10]
mov ecx, 1
lock xadd dword [edx], ecx
jmp 0x413b24
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 0x413560
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 - 0x60], ebx
mov ecx, dword [ebp - 0x4c]
mov byte [ebp - 4], 0x13
mov edx, dword [ecx]
mov eax, dword [ebp - 0x58]
mov esi, dword [eax + edx + 0xe44]
mov ecx, dword [esi - 0x10]
lea eax, [eax + edx + 0xe44]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp dword [esi - 4], 0
lea edx, [esi - 4]
jl 0x413b6a
cmp eax, dword [esi - 0x10]
jne 0x413b6a
lea edi, [esi - 0x10]
mov ecx, 1
lock xadd dword [edx], ecx
jmp 0x413ba2
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 0x413560
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 - 0x68], ebx
call eax
cmp dword [ebx + 0xc], 0
lea ecx, [ebx + 0xc]
jl 0x413bd6
cmp eax, dword [ebx]
jne 0x413bd6
mov esi, ebx
mov edx, 1
lock xadd dword [ecx], edx
jmp 0x413c14
mov edi, dword [ebp - 0x68]
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 0x413560
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 - 0x5c], 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 - 0x58]
cmp byte [ebx + edx + 0xe50], 1
jne 0x413ed8
cmp byte [ebp - 0x4d], 0
jne 0x413da7
call fcn.00469967
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x4142c2
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 0x413c9b
mov edx, ecx
movzx esi, dx
push esi
call fcn.004636d7
test eax, eax
je 0x413caa
push esi
push eax
lea ecx, [ebp - 0x54]
call fcn.00401f60
jmp 0x413caa
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 - 0xb8]
push edx
mov byte [ebp - 4], 0x17
call fcn.0041ba90
add esp, 0xc
lea ecx, [ebp - 0x5c]
push ecx
push eax
lea edx, [ebp - 0xcc]
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 0x413d38
cmp dword [esi + 0xc], 0
lea edi, [esi + 0xc]
jl 0x413d2b
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x413d2b
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 0x413d20
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 - 0x58]
jmp 0x413d38
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 - 0xcc]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x413d5e
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 - 0xb8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x413d84
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 0x413da7
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 + 0xe38]
mov ecx, dword [esi - 0x10]
lea eax, [ebx + edx + 0xe38]
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
call edx
cmp dword [esi - 4], 0
lea ecx, [esi - 4]
jl 0x413de0
cmp eax, dword [esi - 0x10]
jne 0x413de0
lea edi, [esi - 0x10]
mov eax, 1
lock xadd dword [ecx], eax
jmp 0x413e18
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 0x413560
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 - 0x58], edi
mov byte [ebp - 4], 0x1a
call fcn.00469967
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x4142c2
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 0x413e71
mov edx, ecx
movzx esi, dx
push esi
call fcn.004636d7
test eax, eax
je 0x413e80
push esi
push eax
lea ecx, [ebp - 0x54]
call fcn.00401f60
jmp 0x413e80
push 0x1b
push str.________Option_is_checked:
lea ecx, [ebp - 0x54]
call fcn.00402180
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0x54]
push ecx
lea edx, [ebp - 0xac]
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 - 0xac]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x413ecc
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x1a
mov eax, dword [ebp - 0x54]
jmp 0x41416c
mov ecx, dword [ebp - 0x6c]
cmp dword [ecx - 0xc], 0
jle 0x414040
call fcn.00469967
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x4142c2
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 0x413f34
mov edx, ecx
movzx esi, dx
push esi
call fcn.004636d7
test eax, eax
je 0x413f43
push esi
push eax
lea ecx, [ebp - 0x54]
call fcn.00401f60
jmp 0x413f43
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 - 0x94]
push edx
mov byte [ebp - 4], 0x1f
call fcn.0041ba90
add esp, 0xc
lea ecx, [ebp - 0x6c]
push ecx
push eax
lea edx, [ebp - 0xb0]
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 0x413fd1
cmp dword [esi + 0xc], 0
lea edi, [esi + 0xc]
jl 0x413fc4
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x413fc4
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 0x413fb9
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 - 0x58]
jmp 0x413fd1
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 - 0xb0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x413ff7
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 - 0x94]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41401d
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 0x414040
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 + 0xe38]
mov ecx, dword [esi - 0x10]
lea eax, [ebx + edx + 0xe38]
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
call edx
cmp dword [esi - 4], 0
lea ecx, [esi - 4]
jl 0x414079
cmp eax, dword [esi - 0x10]
jne 0x414079
lea edi, [esi - 0x10]
mov eax, 1
lock xadd dword [ecx], eax
jmp 0x4140b1
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 0x413560
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 - 0x54], edi
mov byte [ebp - 4], 0x22
call fcn.00469967
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x4142c2
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x58], eax
mov ecx, str.________Option_not_checked:
mov byte [ebp - 4], 0x23
test ecx, 0xffff0000
jne 0x41410a
mov edx, ecx
movzx esi, dx
push esi
call fcn.004636d7
test eax, eax
je 0x414119
push esi
push eax
lea ecx, [ebp - 0x58]
call fcn.00401f60
jmp 0x414119
push 0x1c
push str.________Option_not_checked:
lea ecx, [ebp - 0x58]
call fcn.00402180
lea eax, [ebp - 0x54]
push eax
lea ecx, [ebp - 0x58]
push ecx
lea edx, [ebp - 0xb4]
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 - 0xb4]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x414165
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 - 0x58]
add eax, 0xfffffff0
or edx, 0xffffffff
lea ecx, [eax + 0xc]
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x414188
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 0x4141a8
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 + 0xe50], 1
je 0x41421a
mov edx, dword [ebp - 0xa0]
mov eax, dword [ebp - 0x64]
lea eax, [edx + eax + 0x72]
shl eax, 5
mov eax, dword [eax + ecx]
mov ecx, 0x5b0620
nop
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4141f6
test dx, dx
je 0x4141f2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4141f6
add eax, 4
add ecx, 4
test dx, dx
jne 0x4141d0
xor eax, eax
jmp 0x4141fb
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x41421a
lea ecx, [ebp - 0x6c]
call fcn.00404dd0
mov ecx, eax
call fcn.00404e50
mov ecx, dword [eax]
cmp dword [ecx - 0xc], 0
jle 0x41421a
mov byte [ebp - 0x45], 1
mov byte [ebp - 4], 0x14
mov eax, dword [ebp - 0x5c]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x41423d
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 0x414260
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 - 0x68]
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x414280
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0x64]
mov eax, dword [esi]
mov edx, dword [ebp - 0x88]
inc ecx
mov dword [ebp - 0x64], ecx
cmp ecx, dword [eax + edx + 0x10b4]
jl 0x413ab0
mov edi, esi
cmp byte [ebp - 0x4d], 1
jne 0x41465f
cmp byte [ebp - 0x45], 0
jne 0x41465f
call fcn.00469967
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4142cc
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
mov ecx, 0x5afbc8
mov byte [ebp - 4], 0x26
test ecx, 0xffff0000
jne 0x414307
mov edx, ecx
movzx esi, dx
push esi
call fcn.004636d7
test eax, eax
je 0x414316
push esi
push eax
lea ecx, [ebp - 0x58]
call fcn.00401f60
jmp 0x414316
push 0
push 0x5afbc8
lea ecx, [ebp - 0x58]
call fcn.00402180
mov byte [ebp - 4], 0x27
call fcn.00469967
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x414334
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 0x41436f
mov edx, ecx
movzx esi, dx
push esi
call fcn.004636d7
test eax, eax
je 0x41437e
push esi
push eax
lea ecx, [ebp - 0x6c]
call fcn.00401f60
jmp 0x41437e
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 0x41439d
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 0x4143d8
mov edx, ecx
movzx esi, dx
push esi
call fcn.004636d7
test eax, eax
je 0x4143e7
push esi
push eax
lea ecx, [ebp - 0x64]
call fcn.00401f60
jmp 0x4143e7
push 3
push 0x5b0a04
lea ecx, [ebp - 0x64]
call fcn.00402180
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0x6c]
push ecx
lea edx, [ebp - 0x80]
push edx
mov byte [ebp - 4], 0x2b
mov ecx, dword [edi]
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 0x414437
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 0x41445a
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 - 0x58]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41447d
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 0x4144a0
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 0x4144c6
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 - 0xbc]
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4144e9
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 - 0xe0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41450f
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 - 0xe4]
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x414532
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 - 0x7c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x414555
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 - 0x80]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x414578
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 - 0xc0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41459e
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 - 0xd0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4145c4
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 - 0xc4]
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4145e7
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 0x41460d
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 0x41462f
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 0x414658
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov al, 1
jmp 0x41655a
mov ecx, dword [edi]
mov edx, dword [ecx + 0x264]
mov eax, dword [edx - 0xc]
test eax, eax
jle 0x4146fc
push 0x5b0a0c
lea ecx, [ebp - 0x94]
call fcn.00401d50
push eax
mov byte [ebp - 4], 0x2c
mov eax, dword [edi]
add eax, 0x264
push eax
lea ecx, [ebp - 0xb4]
push ecx
call fcn.0041ba90
add esp, 0xc
mov byte [ebp - 4], 0x2d
mov ecx, dword [edi]
add ecx, 0x264
push eax
call fcn.00405080
mov byte [ebp - 4], 0x2c
mov eax, dword [ebp - 0xb4]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4146d6
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 - 0x94]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4146fc
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [edi]
lea ecx, [ebp - 0x80]
push ecx
add edx, 0x264
push edx
lea eax, [ebp - 0xb4]
push eax
call fcn.0041ba90
add esp, 0xc
mov byte [ebp - 4], 0x2e
mov ecx, dword [edi]
add ecx, 0x264
push eax
call fcn.00405080
mov byte [ebp - 4], 0x12
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 0x414750
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5b0a10
lea ecx, [ebp - 0xb8]
call fcn.00401d50
mov esi, eax
push str.____Downloading_offer:
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 0x2f
call fcn.00401d50
lea ecx, [ebp - 0xc0]
push ecx
push eax
lea edx, [ebp - 0xb0]
push edx
mov byte [ebp - 4], 0x30
call fcn.0041ba90
add esp, 0xc
push esi
push eax
lea eax, [ebp - 0x94]
push eax
mov byte [ebp - 4], 0x31
call fcn.0041ba90
add esp, 0xc
lea ecx, [ebp - 0xd0]
push ecx
push eax
lea edx, [ebp - 0xb4]
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 - 0xb4]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4147f2
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 - 0x94]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x414818
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 - 0xb0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41483e
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 - 0xac]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x414864
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 - 0xb8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41488a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [edi]
mov ecx, dword [ebp - 0x88]
cmp dword [eax + ecx + 0x115c], 0
jle 0x4148a3
mov byte [eax + 0x213], 1
mov eax, dword [edi]
lea edx, [eax + ecx + 0x2cc]
push edx
lea edx, [eax + ecx + 0x30c]
push edx
lea edx, [eax + ecx + 0x2e4]
lea ecx, [eax + ecx + 0x2d0]
push edx
push ecx
lea ecx, [eax + 0x218]
call fcn.0044c630
push 0x5b01f4
lea ecx, [ebp - 0xb4]
call fcn.00401d50
push eax
mov byte [ebp - 4], 0x34
mov edx, dword [edi + 0xc]
mov eax, dword [edi + 8]
push edx
push eax
lea ecx, [ebp - 0x120]
push ecx
call fcn.00421a60
mov byte [ebp - 4], 0x36
mov eax, dword [ebp - 0xb4]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x41491f
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 - 0x6c], 0
call fcn.00401d50
mov byte [ebp - 4], 0x37
jmp 0x414944
mov bl, byte [ebp - 0x45]
cmp dword [ebp - 0x6c], 5
jge 0x414e3b
test bl, bl
jne 0x41496f
lea ecx, [ebp - 0xd0]
push ecx
lea esi, [ebp - 0xdc]
lea ecx, [ebp - 0x7c]
call fcn.00427960
test al, al
je 0x41496f
mov byte [ebp - 0x45], 1
mov edx, dword [ebp - 0x4c]
mov eax, dword [edx]
mov ebx, dword [ebp - 0x88]
lea eax, [ebx + eax + 0x2ec]
mov eax, dword [eax]
sub eax, 0x10
push eax
call fcn.004052f0
lea esi, [eax + 0x10]
add esp, 4
mov dword [ebp - 0xa0], esi
push 0x5afbc8
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x38
call fcn.00401d50
lea ecx, [ebp - 0x7c]
push ecx
lea edi, [ebp - 0x58]
mov byte [ebp - 4], 0x39
call fcn.00428120
cmp dword [esi - 0xc], 0
mov ecx, dword [ebp - 0x58]
jle 0x414a05
cmp dword [ecx - 0xc], 0
jle 0x414a05
mov eax, esi
lea ebx, [ebx]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4149f6
test dx, dx
je 0x4149f2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4149f6
add eax, 4
add ecx, 4
test dx, dx
jne 0x4149d0
xor eax, eax
jmp 0x4149fb
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x414a05
mov byte [ebp - 0x45], 0
jmp 0x414a0f
cmp byte [ebp - 0x45], 0
jne 0x414de9
push 0x5afbc8
lea ecx, [ebp - 0x64]
call fcn.00401d50
lea esi, [ebp - 0x64]
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 0x3a
call fcn.00426b50
push 0x5afbc8
lea ecx, [ebp - 0x68]
call fcn.00401d50
lea edx, [ebp - 0x7c]
push edx
lea edi, [ebp - 0x68]
mov byte [ebp - 4], 0x3b
call fcn.00428120
push str._url:
lea ecx, [ebp - 0x90]
call fcn.00401d50
push eax
mov eax, dword [ebp - 0x4c]
mov byte [ebp - 4], 0x3c
mov ecx, dword [eax]
lea edx, [ebx + ecx + 0x2d0]
push edx
lea eax, [ebp - 0x98]
push eax
call fcn.0041ba90
add esp, 0xc
lea ecx, [ebp - 0xd0]
push ecx
push eax
lea edx, [ebp - 0x8c]
push edx
mov byte [ebp - 4], 0x3d
call fcn.0041ba90
add esp, 0xc
push str._file:
push eax
lea eax, [ebp - 0xd8]
push eax
mov byte [ebp - 4], 0x3e
call fcn.0041bb50
add esp, 0xc
lea ecx, [ebp - 0x7c]
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 - 0xcc]
push eax
mov byte [ebp - 4], 0x40
call fcn.0041bb50
add esp, 0xc
lea ecx, [ebp - 0xdc]
push ecx
push eax
lea edx, [ebp - 0xb8]
push edx
mov byte [ebp - 4], 0x41
call fcn.0041ba90
add esp, 0xc
push str._fileinfo:
push eax
lea eax, [ebp - 0xac]
push eax
mov byte [ebp - 4], 0x42
call fcn.0041bb50
add esp, 0xc
mov ecx, esi
push ecx
push eax
lea edx, [ebp - 0xb0]
push edx
mov byte [ebp - 4], 0x43
call fcn.0041ba90
add esp, 0xc
push str._md5:
push eax
lea eax, [ebp - 0x94]
push eax
mov byte [ebp - 4], 0x44
call fcn.0041bb50
add esp, 0xc
mov ecx, edi
push ecx
push eax
lea edx, [ebp - 0x5c]
push edx
mov byte [ebp - 4], 0x45
call fcn.0041ba90
add esp, 0xc
mov byte [ebp - 4], 0x47
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 0x414b79
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 - 0xb0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x414b9f
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 - 0xac]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x414bc5
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 - 0xb8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x414beb
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 - 0xcc]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x414c11
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 0x414c34
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 - 0xd8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x414c5a
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 - 0x8c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x414c80
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 - 0x98]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x414ca6
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 - 0x90]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x414ccc
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 - 0x84]
mov byte [ebp - 4], 0x51
call fcn.00401d50
push esi
lea ecx, [ebp - 0x5c]
push ecx
lea edx, [ebp - 0x80]
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 - 0x84]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x414d40
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 0x414d63
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0x7c]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov edx, dword [ebp - 0xd0]
push edx
call dword [sym.imp.WININET.dll_DeleteUrlCacheEntryW]
mov byte [ebp - 4], 0x3b
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 0x414d9d
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 - 0x68]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x414dc0
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 - 0x64]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x414de3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov esi, dword [ebp - 0xa0]
inc dword [ebp - 0x6c]
mov byte [ebp - 4], 0x38
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 0x414e0f
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 0x414e2f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp byte [ebp - 0x45], 0
je 0x414941
jmp 0x414e43
test bl, bl
je 0x4161da
push 0x5b0ab8
lea ecx, [ebp - 0x8c]
call fcn.00401d50
mov esi, eax
push 0x5b0ac0
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x53
call fcn.00401d50
lea ecx, [ebp - 0x7c]
push ecx
push eax
lea edx, [ebp - 0x90]
push edx
mov byte [ebp - 4], 0x54
call fcn.0041ba90
add esp, 0xc
push esi
push eax
lea eax, [ebp - 0x84]
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 0x414edb
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 - 0x84]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x414f01
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 - 0x90]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x414f27
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 - 0x98]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x414f4d
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 - 0x8c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x414f73
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp byte [ebp - 0x4d], 0
jne 0x414f94
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ecx]
lea edx, [ebp - 0x80]
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 0x4152d3
push 0x5b0ab8
lea ecx, [ebp - 0x8c]
call fcn.00401d50
mov esi, eax
push 0x5b0ac0
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x58
call fcn.00401d50
lea ecx, [ebp - 0x7c]
push ecx
push eax
lea edx, [ebp - 0x90]
push edx
mov byte [ebp - 4], 0x59
call fcn.0041ba90
add esp, 0xc
push esi
push eax
lea eax, [ebp - 0x84]
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 0x415051
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 - 0x84]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x415077
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 - 0x90]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41509d
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 - 0x98]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4150c3
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 - 0x8c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4150e9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5afbc8
lea ecx, [ebp - 0x68]
call fcn.00401d50
lea ecx, [ebp - 0x60]
push ecx
lea edx, [ebp - 0x68]
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0x5d
call fcn.0043bac0
test al, al
jne 0x4152b0
mov edi, dword [ebp - 0x4c]
mov edx, dword [edi]
mov eax, dword [ebp - 0x88]
lea ecx, [eax + edx + 0x2d0]
push str._cmd:
push ecx
lea edx, [ebp - 0x90]
push edx
call fcn.0041bb50
add esp, 0xc
lea ecx, [ebp - 0xa4]
push ecx
push eax
lea edx, [ebp - 0x84]
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 - 0x68]
push ecx
push eax
lea edx, [ebp - 0x5c]
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 0x4151a4
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 - 0x84]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4151ca
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 - 0x90]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4151f1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5afbc8
lea ecx, [ebp - 0x8c]
call fcn.00401d50
mov esi, eax
push 0x5b0ae8
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x65
call fcn.00401d50
push esi
lea ecx, [ebp - 0x5c]
push ecx
lea edx, [ebp - 0x80]
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 - 0x98]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x415264
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 - 0x8c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x415289
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 - 0x5c]
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 0x4152b0
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 0x4152d3
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 eax, dword [ebp - 0x88]
lea ecx, [eax + edx + 0x2e0]
lea edx, [ebp - 0x70]
push edx
call fcn.004397d0
push str.____Executing_offer_command:
lea ecx, [ebp - 0x84]
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 0x415341
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 - 0x84]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x415367
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 0x415b6b
cmp byte [ebp - 0x4d], 0
jne 0x415b61
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 0x4153db
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 - 0x88]
cmp dword [eax + edx + 0x1158], 0
mov dword [ebp - 0x68], 0
jle 0x4158b7
mov ecx, dword [ebp - 0xa8]
imul ecx, ecx, 0xea
mov dword [ebp - 0x78], ecx
shl ecx, 4
mov dword [ebp - 0x54], ecx
mov ecx, dword [ebp - 0x54]
mov eax, dword [ecx + eax + 0x10bc]
sub eax, 0x10
push eax
call fcn.004052f0
add esp, 4
add eax, 0x10
mov dword [ebp - 0x60], eax
mov byte [ebp - 4], 0x6b
mov ecx, str.REG_SZ
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x41545b
test dx, dx
je 0x415457
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x41545b
add eax, 4
add ecx, 4
test dx, dx
jne 0x415435
xor eax, eax
jmp 0x415460
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x415871
mov ebx, dword [ebp - 0x4c]
mov edx, dword [ebx]
mov eax, dword [ebp - 0x54]
lea eax, [eax + edx + 0x10b8]
mov eax, dword [eax]
sub eax, 0x10
push eax
call fcn.004052f0
lea esi, [eax + 0x10]
add esp, 4
mov dword [ebp - 0x98], esi
mov byte [ebp - 4], 0x6c
mov ecx, dword [ebp - 0x78]
mov edx, dword [ebp - 0x68]
lea eax, [ecx + edx + 0x10c]
shl eax, 4
add eax, dword [ebx]
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 byte [ebp - 4], 0x6d
mov eax, dword [ebx]
mov ecx, dword [ebp - 0x54]
lea eax, [ecx + eax + 0x10c4]
mov eax, dword [eax]
sub eax, 0x10
push eax
call fcn.004052f0
add eax, 0x10
add esp, 4
mov dword [ebp - 0xd8], eax
lea ebx, [eax - 0x10]
mov byte [ebp - 4], 0x6e
push ebx
mov dword [ebp - 0xe8], ebx
call fcn.004052f0
add eax, 0x10
add esp, 4
mov dword [ebp - 0x5c], eax
add edi, 0xfffffff0
mov byte [ebp - 4], 0x6f
push edi
mov dword [ebp - 0xc8], edi
call fcn.004052f0
lea edi, [eax + 0x10]
add esp, 4
mov dword [ebp - 0x84], 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 - 0x90], esi
lea edx, [ebp - 0x84]
push edx
lea eax, [ebp - 0x90]
push eax
lea ecx, [ebp - 0x5c]
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 0x415576
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 0x415596
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 - 0x5c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4155b9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp byte [ebp - 0x4d], 0
jne 0x415811
push str._value:
lea ecx, [ebp - 0x58]
call fcn.00401d50
mov esi, eax
push str._Key:
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 0x72
call fcn.00401d50
push eax
lea ecx, [ebp - 0x98]
push ecx
lea edx, [ebp - 0xa0]
push edx
mov byte [ebp - 4], 0x73
call fcn.0041ba90
add esp, 0xc
lea ecx, [ebp - 0x8c]
push ecx
push eax
lea edx, [ebp - 0xcc]
push edx
mov byte [ebp - 4], 0x74
call fcn.0041ba90
add esp, 0xc
push esi
push eax
lea eax, [ebp - 0xb8]
push eax
mov byte [ebp - 4], 0x75
call fcn.0041ba90
add esp, 0xc
lea ecx, [ebp - 0xd8]
push ecx
push eax
lea edx, [ebp - 0xac]
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 - 0xb0]
mov byte [ebp - 4], 0x77
call fcn.00401d50
mov ebx, eax
push 0x5b0c00
lea ecx, [ebp - 0x94]
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 - 0x5c], eax
push esi
push ebx
push edi
lea ecx, [ebp - 0x5c]
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 - 0x5c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4156da
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 - 0x94]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x415700
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 - 0xb0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x415726
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 - 0xac]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41574c
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 - 0xb8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x415772
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 - 0xcc]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x415798
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 - 0xa0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4157be
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 - 0xa8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4157e4
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 0x415807
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ebx, dword [ebp - 0xe8]
mov byte [ebp - 0x4e], 0
mov byte [ebp - 4], 0x6d
lea ecx, [ebx + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41582e
mov ecx, dword [ebx]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push ebx
call edx
mov byte [ebp - 4], 0x6c
mov eax, dword [ebp - 0xc8]
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x415851
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 0x415871
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 0x415894
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 - 0x68]
mov eax, dword [edx]
mov edx, dword [ebp - 0x88]
add dword [ebp - 0x54], 0x10
inc ecx
mov dword [ebp - 0x68], ecx
cmp ecx, dword [eax + edx + 0x1158]
jl 0x415410
cmp byte [ebp - 0x4e], 1
jne 0x415b61
mov eax, dword [ebp - 0x64]
test eax, eax
je 0x4158d1
cmp eax, 0x65
jne 0x415b61
call fcn.00469967
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4158eb
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 - 0x5c], eax
lea esi, [ebp - 0x44]
call fcn.00451f70
lea ecx, [ebp - 0xe0]
mov byte [ebp - 4], 0x7c
call fcn.00404dd0
mov ecx, eax
call fcn.00404e50
mov ecx, dword [eax]
cmp dword [ecx - 0xc], 0
jle 0x4159d6
push str.Send_Offer_Conversion_Notice
lea edx, [ebp - 0x5c]
push edx
mov edx, dword [ebp - 0xe0]
mov ecx, esi
call fcn.00452360
test eax, eax
jne 0x4159d6
push 0x5afbc8
lea ecx, [ebp - 0x74]
call fcn.00401d50
mov esi, eax
mov bl, 0x7d
push 0x5b0c44
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], bl
call fcn.00401d50
push esi
lea ecx, [ebp - 0xc0]
push ecx
lea edx, [ebp - 0x80]
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 - 0x60]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4159b3
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 0x4159d6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5afbc8
lea ecx, [ebp - 0xc8]
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 - 0x60]
mov byte [ebp - 4], bl
call fcn.00401d50
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x88]
push esi
mov byte [ebp - 4], 0x81
mov ecx, dword [ecx]
lea edx, [ecx + edx + 0x2d0]
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 - 0x60]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x415a61
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 0x415a84
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 - 0xc8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x415aaa
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 - 0x60]
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 - 0x80]
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 - 0x60]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x415b0f
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 0x415b32
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 - 0x5c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x415b61
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [ebp - 0x64], 0
je 0x416194
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 0x415b97
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 - 0x68], eax
lea esi, [ebp - 0x68]
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 0x84
call fcn.00426b50
push 0x5afbc8
lea ecx, [ebp - 0xa8]
call fcn.00401d50
lea ecx, [ebp - 0x7c]
push ecx
lea edi, [ebp - 0xa8]
mov byte [ebp - 4], 0x85
call fcn.00428120
push str.____Command_failed_or_canceled_by_user.
lea ecx, [ebp - 0x60]
call fcn.00401d50
mov esi, eax
mov byte [ebp - 4], 0x86
call fcn.00434750
mov byte [ebp - 4], 0x85
mov eax, dword [ebp - 0x60]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x415c13
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push str._md5:
lea ecx, [ebp - 0x54]
call fcn.00401d50
mov esi, eax
push str._fileinfo:
lea ecx, [ebp - 0x58]
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 - 0xcc]
mov byte [ebp - 4], 0x89
call fcn.0041b810
mov dword [ebp - 0xc8], eax
push str._ret_code:
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0x8a
call fcn.00401d50
mov dword [ebp - 0x74], eax
push str._cmd:
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 0x8b
call fcn.00401d50
mov dword [ebp - 0x60], eax
mov edx, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x88]
mov byte [ebp - 4], 0x8c
mov eax, dword [edx]
lea eax, [ecx + eax + 0x2d0]
mov eax, dword [eax]
sub eax, 0x10
push eax
call fcn.004052f0
add eax, 0x10
add esp, 4
mov dword [ebp - 0x5c], eax
mov byte [ebp - 4], 0x8d
mov edx, dword [ebp - 0x60]
push edx
lea eax, [ebp - 0x5c]
push eax
lea ecx, [ebp - 0xb0]
push ecx
call fcn.0041ba90
add esp, 0xc
lea edx, [ebp - 0x70]
push edx
push eax
lea eax, [ebp - 0x94]
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 - 0xd8]
push edx
call fcn.0041ba90
add esp, 0xc
mov byte [ebp - 4], 0x90
mov ecx, dword [ebp - 0xc8]
push ecx
push eax
lea edx, [ebp - 0x8c]
push edx
call fcn.0041ba90
add esp, 0xc
push ebx
push eax
lea eax, [ebp - 0x98]
push eax
mov byte [ebp - 4], 0x91
call fcn.0041ba90
add esp, 0xc
lea ecx, [ebp - 0x6c]
push ecx
push eax
lea edx, [ebp - 0x90]
push edx
mov byte [ebp - 4], 0x92
call fcn.0041ba90
add esp, 0xc
push edi
push eax
lea eax, [ebp - 0x84]
push eax
mov byte [ebp - 4], 0x93
call fcn.0041ba90
add esp, 0xc
lea ecx, [ebp - 0x68]
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 - 0xa8]
push ecx
push eax
lea edx, [ebp - 0xa0]
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 0x415dcc
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 0x415def
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 - 0x84]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x415e15
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 - 0x90]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x415e3b
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 - 0x98]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x415e61
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 - 0x8c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x415e87
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 - 0xd8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x415ead
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 - 0x94]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x415ed3
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 - 0xb0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x415ef9
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 - 0x5c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x415f1c
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 - 0xac]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x415f42
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 - 0xb8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x415f68
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 - 0xcc]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x415f8e
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 0x415fb1
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 - 0x58]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x415fd4
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 - 0x54]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x415ff7
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 - 0x60]
mov byte [ebp - 4], 0xa8
call fcn.00401d50
mov ebx, dword [ebp - 0x4c]
push esi
lea ecx, [ebp - 0xa0]
push ecx
lea edx, [ebp - 0x80]
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 - 0x60]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x416067
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 0x41608a
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 - 0x60], edi
push esi
lea edx, [ebp - 0x60]
push edx
mov byte [ebp - 4], 0xab
mov eax, dword [ebx]
lea ecx, [ebp - 0x80]
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 0x4160f2
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 0x416115
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0x7c]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov byte [ebp - 4], 0x85
mov eax, dword [ebp - 0xa0]
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 0x416149
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 - 0xa8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41616f
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 0x4161ad
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x4161ad
cmp byte [ebp - 0x4e], 0
je 0x4161ad
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x88]
mov byte [eax + edx + 0x1162], 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 0x4161d0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp byte [ebp - 0x45], 0
jne 0x416272
push 0x5b0200
lea ecx, [ebp - 0x74]
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 - 0x60], edi
mov ebx, dword [ebp - 0x4c]
push esi
lea ecx, [ebp - 0x60]
push ecx
mov byte [ebp - 4], 0xad
mov eax, dword [ebx]
lea edx, [ebp - 0x80]
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 0x41624d
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]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x416275
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x416275
mov ebx, dword [ebp - 0x4c]
push 0x5afbc8
lea ecx, [ebp - 0xc8]
call fcn.00401d50
mov esi, eax
push 0x5afbc8
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0xae
call fcn.00401d50
mov edi, eax
push 0x5b0ccc
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0xaf
call fcn.00401d50
push esi
push edi
lea ecx, [ebp - 0x80]
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 - 0x60]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4162f3
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 - 0x74]
add eax, 0xfffffff0
or esi, 0xffffffff
lea ecx, [eax + 0xc]
mov edx, esi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x416318
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 - 0xc8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
mov edx, esi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41633d
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 0x41636a
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 0x41638f
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 0x4163b1
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 0x4163d6
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 - 0xbc]
lea ecx, [eax + 0xc]
mov edx, esi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4163f8
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 - 0xe0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
mov edx, esi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41641d
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 - 0xe4]
lea ecx, [eax + 0xc]
mov edx, esi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41643f
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 - 0x7c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
mov edx, esi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x416461
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 - 0x80]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
mov edx, esi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x416483
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 - 0xc0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
mov edx, esi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4164a8
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 - 0xd0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
mov edx, esi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4164cd
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 - 0xc4]
lea ecx, [eax + 0xc]
mov edx, esi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4164ef
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 0x416514
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 0x416535
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 0x416557
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