Function at 0x41e390
Capabilities:
Check if file exists
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x55ffef
mov eax, dword fs:[0]
push eax
sub esp, 0x1d8
mov eax, dword [0x5b03a4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0xa8], ecx
lea ecx, [ebp - 0x48]
call fcn.004418f0
mov dword [ebp - 4], 0
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov byte [ebp - 0x3d], al
mov dword [ebp - 4], 1
or ebx, 0xffffffff
mov esi, dword [ebp - 0x44]
test esi, esi
je 0x41e40f
mov ecx, ebx
lock xadd dword [esi + 4], ecx
jne 0x41e40f
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, ebx
lock xadd dword [esi + 8], eax
jne 0x41e40f
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov dword [ebp - 4], 0xffffffff
mov edi, 0x593844
cmp byte [ebp - 0x3d], 0
je 0x41e529
push 1
push 2
lea ecx, [ebp - 0x14c]
call fcn.00420a30
mov dword [ebp - 4], 2
mov dword [ebp - 0x78], 0x740073
mov dword [ebp - 0x74], 0x720061
mov dword [ebp - 0x70], 0x200074
mov dword [ebp - 0x6c], 0x720063
mov dword [ebp - 0x68], 0x610065
mov dword [ebp - 0x64], 0x650074
mov dword [ebp - 0x60], 0x730020
mov dword [ebp - 0x5c], 0x6f0068
mov dword [ebp - 0x58], 0x740072
mov dword [ebp - 0x54], 0x750063
mov dword [ebp - 0x50], 0x74
call fcn.0041ae50
push eax
push 0x15
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x4c]
call fcn.00422030
mov byte [ebp - 4], 3
mov eax, edi
mov esi, dword [ebp - 0x4c]
test esi, esi
cmovne eax, esi
push eax
lea eax, [ebp - 0x14c]
push eax
call fcn.00422140
add esp, 8
lea ecx, [ebp - 0x48]
call fcn.004418f0
mov byte [ebp - 4], 4
lea edx, [ebp - 0x14c]
mov ecx, dword [eax]
push edx
mov eax, dword [ecx]
call dword [eax + 8]
mov byte [ebp - 4], 5
mov edi, dword [ebp - 0x44]
test edi, edi
je 0x41e4fe
mov eax, ebx
lock xadd dword [edi + 4], eax
jne 0x41e4fe
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, ebx
lock xadd dword [edi + 8], eax
jne 0x41e4fe
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
add esi, 0xfffffff0
mov byte [ebp - 4], 6
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x41e519
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x14c]
call fcn.0041e300
mov edi, 0x593844
mov eax, dword fs:[0x2c]
mov dword [ebp - 0x2c], 0
mov ecx, dword [eax]
mov eax, dword [0x5c74a8]
mov dword [ebp - 0xa4], ecx
cmp eax, dword [ecx + 4]
jle 0x41e578
push 0x5c74a8
call fcn.004dec96
add esp, 4
cmp dword [0x5c74a8], 0xffffffff
jne 0x41e578
push 0x5c74a8
mov dword [0x5c7464], 0
call fcn.004dec4c
add esp, 4
xorps xmm0, xmm0
mov byte [ebp - 0x3d], 0
movlpd qword [ebp - 0x18], xmm0
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 7
push eax
call fcn.0045e7a5
mov dword [ebp - 4], 8
lea eax, [ebp - 0x18]
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x3d]
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x28]
push eax
push 0x424670
push 0x5c7464
call fcn.0045e970
add esp, 0x10
test eax, eax
je 0x4201fb
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 9
push eax
call fcn.0045e7df
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xb4]
push 0x5be360
call fcn.00421680
mov esi, dword [ebp - 0xa8]
lea eax, [ebp - 0xb4]
push eax
mov edx, esi
mov dword [ebp - 4], 0xc
lea ecx, [ebp - 0x2c]
call fcn.0043c210
add esp, 4
mov edx, dword [ebp - 0xb4]
add edx, 0xfffffff0
mov byte [ebp - 4], 0xf
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41e631
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xe
cmp dword [esi + 4], 0
je 0x41ed66
lea ecx, [ebp - 0x48]
call fcn.004418f0
mov byte [ebp - 4], 0x10
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov byte [ebp - 0x3d], al
mov byte [ebp - 4], 0x11
mov esi, dword [ebp - 0x44]
test esi, esi
je 0x41e684
mov ecx, ebx
lock xadd dword [esi + 4], ecx
jne 0x41e684
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, ebx
lock xadd dword [esi + 8], eax
jne 0x41e681
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov al, byte [ebp - 0x3d]
mov byte [ebp - 4], 0xe
test al, al
je 0x41e789
push 1
push 2
lea ecx, [ebp - 0x14c]
call fcn.00420a30
mov byte [ebp - 4], 0x12
mov dword [ebp - 0x74], 0x720063
mov dword [ebp - 0x70], 0x610065
mov dword [ebp - 0x6c], 0x650074
mov dword [ebp - 0x68], 0x640020
mov dword [ebp - 0x64], 0x730065
mov dword [ebp - 0x60], 0x74006b
mov dword [ebp - 0x5c], 0x70006f
mov dword [ebp - 0x58], 0x6c0020
mov dword [ebp - 0x54], 0x6e0069
mov dword [ebp - 0x50], 0x6b
call fcn.0041ae50
push eax
push 0x13
lea eax, [ebp - 0x74]
push eax
lea ecx, [ebp - 0x4c]
call fcn.00422030
mov byte [ebp - 4], 0x13
mov eax, edi
mov esi, dword [ebp - 0x4c]
test esi, esi
cmovne eax, esi
push eax
lea eax, [ebp - 0x14c]
push eax
call fcn.00422140
add esp, 8
lea ecx, [ebp - 0x48]
call fcn.004418f0
mov byte [ebp - 4], 0x14
lea edx, [ebp - 0x14c]
mov ecx, dword [eax]
push edx
mov eax, dword [ecx]
call dword [eax + 8]
mov byte [ebp - 4], 0x15
mov edi, dword [ebp - 0x44]
test edi, edi
je 0x41e75f
mov eax, ebx
lock xadd dword [edi + 4], eax
jne 0x41e75f
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, ebx
lock xadd dword [edi + 8], eax
jne 0x41e75f
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
add esi, 0xfffffff0
mov byte [ebp - 4], 0x16
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x41e77a
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x14c]
mov byte [ebp - 4], 0xe
call fcn.0041e300
push ecx
mov edx, 0x56de00
mov dword [ebp - 0x38], 0
lea ecx, [ebp - 0x38]
call fcn.0043c0b0
add esp, 4
mov ecx, dword [ebp - 0xa4]
mov eax, dword [0x5c7498]
mov dword [ebp - 0x1c], 0
cmp eax, dword [ecx + 4]
jle 0x41e7e8
push 0x5c7498
call fcn.004dec96
add esp, 4
cmp dword [0x5c7498], 0xffffffff
jne 0x41e7e8
push 0x5c7498
mov dword [0x5c745c], 0
call fcn.004dec4c
add esp, 4
xorps xmm0, xmm0
mov byte [ebp - 0x3d], 0
movlpd qword [ebp - 0x18], xmm0
lea eax, [ebp - 0x18]
mov byte [ebp - 4], 0x18
push eax
call fcn.0045e7a5
lea eax, [ebp - 0x18]
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x3d]
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x28]
push eax
push 0x424720
push 0x5c745c
call fcn.0045e970
add esp, 0x10
test eax, eax
je 0x41ee8c
lea eax, [ebp - 0x18]
mov byte [ebp - 4], 0x1a
push eax
call fcn.0045e7df
add esp, 4
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x4c]
push 0x5be5d8
call fcn.00421680
lea eax, [ebp - 0x4c]
mov byte [ebp - 4], 0x1d
push eax
lea edx, [ebp - 0x38]
lea ecx, [ebp - 0x1c]
call fcn.0043c210
add esp, 4
mov edx, dword [ebp - 0x4c]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x20
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41e880
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x1f
xor eax, eax
mov esi, dword [ebp - 0x2c]
mov edi, dword [ebp - 0x1c]
mov dword [ebp - 0x6c], 0x2d002d
mov dword [ebp - 0x68], 0x720066
mov dword [ebp - 0x64], 0x6d006f
mov dword [ebp - 0x60], 0x64003d
mov dword [ebp - 0x5c], 0x730065
mov dword [ebp - 0x58], 0x74006b
mov dword [ebp - 0x54], 0x70006f
mov word [ebp - 0x50], ax
call fcn.0041ae50
push eax
push 0xe
lea eax, [ebp - 0x6c]
push eax
lea ecx, [ebp - 0x30]
call fcn.00422030
push ecx
push esi
mov byte [ebp - 4], 0x21
mov esi, dword [ebp - 0x30]
push edi
push esi
push dword [ebp - 0x2c]
call fcn.00420310
test eax, eax
sete byte [ebp - 0x3d]
add esi, 0xfffffff0
mov byte [ebp - 4], 0x22
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x41e909
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x1f
call fcn.004418f0
cmp byte [ebp - 0x3d], 0
je 0x41ebd7
mov byte [ebp - 4], 0x23
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov byte [ebp - 0x3d], al
mov byte [ebp - 4], 0x24
mov esi, dword [ebp - 0x44]
test esi, esi
je 0x41e95c
mov ecx, ebx
lock xadd dword [esi + 4], ecx
jne 0x41e95c
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, ebx
lock xadd dword [esi + 8], eax
jne 0x41e959
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov al, byte [ebp - 0x3d]
mov byte [ebp - 4], 0x1f
test al, al
je 0x41ed26
push 1
push 2
lea ecx, [ebp - 0x14c]
call fcn.00420a30
mov byte [ebp - 4], 0x25
mov dword [ebp - 0x90], 0x720063
mov dword [ebp - 0x8c], 0x610065
mov dword [ebp - 0x88], 0x650074
mov dword [ebp - 0x84], 0x640020
mov dword [ebp - 0x80], 0x730065
mov dword [ebp - 0x7c], 0x74006b
mov dword [ebp - 0x78], 0x70006f
mov dword [ebp - 0x74], 0x6c0020
mov dword [ebp - 0x70], 0x6e0069
mov dword [ebp - 0x6c], 0x20006b
mov dword [ebp - 0x68], 0x610066
mov dword [ebp - 0x64], 0x6c0069
mov dword [ebp - 0x60], 0x20002e
mov dword [ebp - 0x5c], 0x720065
mov dword [ebp - 0x58], 0x6e0072
mov dword [ebp - 0x54], 0x3a006f
mov dword [ebp - 0x50], 0x20
call fcn.0041ae50
push eax
push 0x21
lea eax, [ebp - 0x90]
push eax
lea ecx, [ebp - 0x4c]
call fcn.00422030
mov byte [ebp - 4], 0x26
mov esi, 0x593844
mov eax, dword [ebp - 0x4c]
mov ecx, esi
test eax, eax
cmovne ecx, eax
lea eax, [ebp - 0x14c]
push ecx
push eax
call fcn.00422140
add esp, 8
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea ecx, [ebp - 0x14c]
call fcn.00422ad0
mov dword [ebp - 0x64], 0x730020
mov dword [ebp - 0x60], 0x630072
mov dword [ebp - 0x5c], 0x660020
mov dword [ebp - 0x58], 0x6c0069
mov dword [ebp - 0x54], 0x3a0065
mov dword [ebp - 0x50], 0x20
call fcn.0041ae50
push eax
push 0xb
lea eax, [ebp - 0x64]
push eax
lea ecx, [ebp - 0x30]
call fcn.00422030
mov byte [ebp - 4], 0x27
mov eax, esi
mov edi, dword [ebp - 0x30]
test edi, edi
cmovne eax, edi
push eax
lea eax, [ebp - 0x14c]
push eax
call fcn.00422140
mov eax, dword [ebp - 0x2c]
mov ecx, esi
test eax, eax
cmovne ecx, eax
lea eax, [ebp - 0x14c]
push ecx
push eax
call fcn.00422140
add esp, 0x10
mov dword [ebp - 0x68], 0x6c0020
mov dword [ebp - 0x64], 0x6e0069
mov dword [ebp - 0x60], 0x20006b
xor eax, eax
mov dword [ebp - 0x5c], 0x690066
mov dword [ebp - 0x58], 0x65006c
mov dword [ebp - 0x54], 0x20003a
mov word [ebp - 0x50], ax
call fcn.0041ae50
push eax
push 0xc
lea eax, [ebp - 0x68]
push eax
lea ecx, [ebp - 0x24]
call fcn.00422030
mov byte [ebp - 4], 0x28
mov eax, esi
mov esi, dword [ebp - 0x24]
test esi, esi
cmovne eax, esi
push eax
lea eax, [ebp - 0x14c]
push eax
call fcn.00422140
mov eax, dword [ebp - 0x1c]
mov ecx, 0x593844
test eax, eax
cmovne ecx, eax
lea eax, [ebp - 0x14c]
push ecx
push eax
call fcn.00422140
add esp, 0x10
lea ecx, [ebp - 0x48]
call fcn.004418f0
mov byte [ebp - 4], 0x29
lea edx, [ebp - 0x14c]
mov ecx, dword [eax]
push edx
mov eax, dword [ecx]
call dword [eax + 8]
mov byte [ebp - 4], 0x2a
mov ecx, dword [ebp - 0x44]
mov dword [ebp - 0x14], ecx
test ecx, ecx
je 0x41eb7f
mov eax, ebx
lock xadd dword [ecx + 4], eax
jne 0x41eb7f
mov eax, dword [ecx]
call dword [eax]
mov ecx, dword [ebp - 0x14]
mov eax, ebx
lock xadd dword [ecx + 8], eax
jne 0x41eb7f
mov eax, dword [ecx]
call dword [eax + 4]
add esi, 0xfffffff0
mov byte [ebp - 4], 0x2b
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x41eb9a
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
add edi, 0xfffffff0
mov byte [ebp - 4], 0x2c
mov eax, ebx
lock xadd dword [edi + 0xc], eax
dec eax
test eax, eax
jg 0x41ebb5
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x4c]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x2d
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41ed1b
mov ecx, dword [edx]
push edx
jmp 0x41ed16
mov byte [ebp - 4], 0x2e
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov byte [ebp - 0x3d], al
mov byte [ebp - 4], 0x2f
mov esi, dword [ebp - 0x44]
test esi, esi
je 0x41ec14
mov ecx, ebx
lock xadd dword [esi + 4], ecx
jne 0x41ec14
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, ebx
lock xadd dword [esi + 8], eax
jne 0x41ec11
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov al, byte [ebp - 0x3d]
mov byte [ebp - 4], 0x1f
test al, al
je 0x41ed26
push 1
push 2
lea ecx, [ebp - 0x14c]
call fcn.00420a30
mov byte [ebp - 4], 0x30
mov dword [ebp - 0x7c], 0x720063
mov dword [ebp - 0x78], 0x610065
mov dword [ebp - 0x74], 0x650074
mov dword [ebp - 0x70], 0x640020
mov dword [ebp - 0x6c], 0x730065
mov dword [ebp - 0x68], 0x74006b
mov dword [ebp - 0x64], 0x70006f
mov dword [ebp - 0x60], 0x6c0020
mov dword [ebp - 0x5c], 0x6e0069
mov dword [ebp - 0x58], 0x20006b
mov dword [ebp - 0x54], 0x750073
mov dword [ebp - 0x50], 0x63
call fcn.0041ae50
push eax
push 0x17
lea eax, [ebp - 0x7c]
push eax
lea ecx, [ebp - 0x14]
call fcn.00422030
mov byte [ebp - 4], 0x31
mov eax, 0x593844
mov esi, dword [ebp - 0x14]
test esi, esi
cmovne eax, esi
push eax
lea eax, [ebp - 0x14c]
push eax
call fcn.00422140
add esp, 8
lea ecx, [ebp - 0x48]
call fcn.004418f0
mov byte [ebp - 4], 0x32
lea edx, [ebp - 0x14c]
mov ecx, dword [eax]
push edx
mov eax, dword [ecx]
call dword [eax + 8]
mov byte [ebp - 4], 0x33
mov edi, dword [ebp - 0x44]
test edi, edi
je 0x41ed00
mov eax, ebx
lock xadd dword [edi + 4], eax
jne 0x41ed00
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, ebx
lock xadd dword [edi + 8], eax
jne 0x41ed00
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
add esi, 0xfffffff0
mov byte [ebp - 4], 0x34
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x41ed1b
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x14c]
call fcn.0041e300
mov edx, dword [ebp - 0x1c]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x35
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41ed44
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x38]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x36
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41ed62
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xe
push ecx
mov edx, 0x56ddf0
mov dword [ebp - 0x20], 0
lea ecx, [ebp - 0x20]
call fcn.0043c0b0
add esp, 4
mov ecx, dword [ebp - 0xa4]
mov eax, dword [0x5c748c]
cmp eax, dword [ecx + 4]
jle 0x41edbe
push 0x5c748c
call fcn.004dec96
add esp, 4
cmp dword [0x5c748c], 0xffffffff
jne 0x41edbe
push 0x5c748c
mov dword [0x5c74b0], 0
call fcn.004dec4c
add esp, 4
xorps xmm0, xmm0
mov byte [ebp - 0x3d], 0
movlpd qword [ebp - 0x34], xmm0
lea eax, [ebp - 0x34]
mov byte [ebp - 4], 0x38
push eax
call fcn.0045e7a5
lea eax, [ebp - 0x34]
mov dword [ebp - 0x3c], eax
lea eax, [ebp - 0x3d]
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x3c]
push eax
push 0x4247d0
push 0x5c74b0
call fcn.0045e970
add esp, 0x10
test eax, eax
je 0x4201d9
lea eax, [ebp - 0x34]
mov byte [ebp - 4], 0x3a
push eax
call fcn.0045e7df
add esp, 4
mov byte [ebp - 4], 0x37
lea ecx, [ebp - 0x4c]
push 0x5be658
call fcn.00421680
lea eax, [ebp - 0x4c]
mov byte [ebp - 4], 0x3d
push eax
lea edx, [ebp - 0x20]
lea ecx, [ebp - 0x24]
call fcn.0043c210
add esp, 4
mov byte [ebp - 4], 0x3e
mov ecx, dword [eax]
mov esi, dword [ebp - 0x20]
add esi, 0xfffffff0
lea edx, [ecx - 0x10]
cmp edx, esi
je 0x41eeb9
mov eax, dword [esi + 0xc]
lea edi, [esi + 0xc]
shr eax, 0x1f
test al, al
jne 0x41eead
mov eax, dword [edx]
cmp eax, dword [esi]
jne 0x41eead
push edx
call fcn.004220b0
add esp, 4
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 0x3f
mov ecx, ebx
lock xadd dword [edi], ecx
dec ecx
test ecx, ecx
jg 0x41ee84
mov ecx, dword [esi]
push esi
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, dword [ebp - 0x14]
add eax, 0x10
mov dword [ebp - 0x20], eax
jmp 0x41eeb9
lea eax, [ebp - 0x18]
mov byte [ebp - 4], 0x1b
push eax
call fcn.0045e800
add esp, 4
mov byte [ebp - 4], 0x19
test al, al
je 0x420227
jmp 0x420214
push dword [ecx - 0xc]
push ecx
lea ecx, [ebp - 0x20]
call fcn.0041be40
mov edx, dword [ebp - 0x24]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x40
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41eed7
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x4c]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x41
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41eef5
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edi, dword [ebp - 0xa8]
mov byte [ebp - 4], 0x37
cmp dword [edi + 8], 0
je 0x41f68f
lea ecx, [ebp - 0x48]
call fcn.004418f0
mov byte [ebp - 4], 0x42
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov byte [ebp - 0x3d], al
mov byte [ebp - 4], 0x43
mov esi, dword [ebp - 0x44]
test esi, esi
je 0x41ef4e
mov ecx, ebx
lock xadd dword [esi + 4], ecx
jne 0x41ef4e
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, ebx
lock xadd dword [esi + 8], eax
jne 0x41ef4b
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov al, byte [ebp - 0x3d]
mov byte [ebp - 4], 0x37
test al, al
je 0x41f074
push 1
push 2
lea ecx, [ebp - 0x14c]
call fcn.00420a30
mov byte [ebp - 4], 0x44
mov dword [ebp - 0x84], 0x720063
mov dword [ebp - 0x80], 0x610065
mov dword [ebp - 0x7c], 0x650074
mov dword [ebp - 0x78], 0x730020
mov dword [ebp - 0x74], 0x610074
mov dword [ebp - 0x70], 0x740072
mov dword [ebp - 0x6c], 0x6d0020
mov dword [ebp - 0x68], 0x6e0065
mov dword [ebp - 0x64], 0x200075
mov dword [ebp - 0x60], 0x61006d
mov dword [ebp - 0x5c], 0x6e0069
mov dword [ebp - 0x58], 0x6c0020
mov dword [ebp - 0x54], 0x6e0069
mov dword [ebp - 0x50], 0x6b
call fcn.0041ae50
push eax
push 0x1b
lea eax, [ebp - 0x84]
push eax
lea ecx, [ebp - 0x14]
call fcn.00422030
mov byte [ebp - 4], 0x45
mov eax, 0x593844
mov esi, dword [ebp - 0x14]
test esi, esi
cmovne eax, esi
push eax
lea eax, [ebp - 0x14c]
push eax
call fcn.00422140
add esp, 8
lea ecx, [ebp - 0x48]
call fcn.004418f0
mov byte [ebp - 4], 0x46
lea edx, [ebp - 0x14c]
mov ecx, dword [eax]
push edx
mov eax, dword [ecx]
call dword [eax + 8]
mov byte [ebp - 4], 0x47
mov edi, dword [ebp - 0x44]
test edi, edi
je 0x41f04e
mov eax, ebx
lock xadd dword [edi + 4], eax
jne 0x41f04e
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, ebx
lock xadd dword [edi + 8], eax
jne 0x41f04e
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
add esi, 0xfffffff0
mov byte [ebp - 4], 0x48
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x41f069
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x14c]
call fcn.0041e300
push dword [ebp - 0x20]
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x41f08b
push dword [ebp - 0x20]
push eax
call dword [sym.imp.SHELL32.dll_SHCreateDirectory]
mov ecx, dword [ebp - 0xa4]
mov eax, dword [0x5c7444]
mov dword [ebp - 0x1c], 0
cmp eax, dword [ecx + 4]
jle 0x41f0d2
push 0x5c7444
call fcn.004dec96
add esp, 4
cmp dword [0x5c7444], 0xffffffff
jne 0x41f0d2
push 0x5c7444
mov dword [0x5c74ac], 0
call fcn.004dec4c
add esp, 4
xorps xmm0, xmm0
mov byte [ebp - 0x3d], 0
movlpd qword [ebp - 0x18], xmm0
lea eax, [ebp - 0x18]
mov byte [ebp - 4], 0x49
push eax
call fcn.0045e7a5
lea eax, [ebp - 0x18]
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x3d]
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x28]
push eax
push 0x424870
push 0x5c74ac
call fcn.0045e970
add esp, 0x10
test eax, eax
je 0x41fc4f
lea eax, [ebp - 0x18]
mov byte [ebp - 4], 0x4b
push eax
call fcn.0045e7df
add esp, 4
mov byte [ebp - 4], 0x37
lea ecx, [ebp - 0x4c]
push 0x5be6c8
call fcn.00421680
lea eax, [ebp - 0x4c]
mov byte [ebp - 4], 0x4e
push eax
lea edx, [ebp - 0x20]
lea ecx, [ebp - 0x1c]
call fcn.0043c210
add esp, 4
mov edx, dword [ebp - 0x4c]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x51
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41f16a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x50
xor eax, eax
mov esi, dword [ebp - 0x2c]
mov edi, dword [ebp - 0x1c]
mov dword [ebp - 0x70], 0x2d002d
mov dword [ebp - 0x6c], 0x720066
mov dword [ebp - 0x68], 0x6d006f
mov dword [ebp - 0x64], 0x73003d
mov dword [ebp - 0x60], 0x610074
mov dword [ebp - 0x5c], 0x740072
mov dword [ebp - 0x58], 0x65006d
mov dword [ebp - 0x54], 0x75006e
mov word [ebp - 0x50], ax
call fcn.0041ae50
push eax
push 0x10
lea eax, [ebp - 0x70]
push eax
lea ecx, [ebp - 0x14]
call fcn.00422030
push ecx
push esi
mov byte [ebp - 4], 0x52
mov esi, dword [ebp - 0x14]
push edi
push esi
push dword [ebp - 0x2c]
call fcn.00420310
test eax, eax
sete byte [ebp - 0x3d]
add esi, 0xfffffff0
mov byte [ebp - 4], 0x53
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x41f1fa
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x50
call fcn.004418f0
cmp byte [ebp - 0x3d], 0
je 0x41f4f0
mov byte [ebp - 4], 0x54
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov byte [ebp - 0x3d], al
mov byte [ebp - 4], 0x55
mov esi, dword [ebp - 0x44]
test esi, esi
je 0x41f24d
mov ecx, ebx
lock xadd dword [esi + 4], ecx
jne 0x41f24d
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, ebx
lock xadd dword [esi + 8], eax
jne 0x41f24a
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov al, byte [ebp - 0x3d]
mov byte [ebp - 4], 0x50
test al, al
je 0x41f667
push 1
push 2
lea ecx, [ebp - 0x14c]
call fcn.00420a30
mov byte [ebp - 4], 0x56
mov dword [ebp - 0xa0], 0x720063
mov dword [ebp - 0x9c], 0x610065
mov dword [ebp - 0x98], 0x650074
mov dword [ebp - 0x94], 0x730020
mov dword [ebp - 0x90], 0x610074
mov dword [ebp - 0x8c], 0x740072
mov dword [ebp - 0x88], 0x6d0020
mov dword [ebp - 0x84], 0x6e0065
mov dword [ebp - 0x80], 0x200075
mov dword [ebp - 0x7c], 0x61006d
mov dword [ebp - 0x78], 0x6e0069
mov dword [ebp - 0x74], 0x6c0020
mov dword [ebp - 0x70], 0x6e0069
mov dword [ebp - 0x6c], 0x20006b
mov dword [ebp - 0x68], 0x610066
mov dword [ebp - 0x64], 0x6c0069
mov dword [ebp - 0x60], 0x20002e
mov dword [ebp - 0x5c], 0x720065
mov dword [ebp - 0x58], 0x6e0072
mov dword [ebp - 0x54], 0x3a006f
mov dword [ebp - 0x50], 0x20
call fcn.0041ae50
push eax
push 0x29
lea eax, [ebp - 0xa0]
push eax
lea ecx, [ebp - 0x4c]
call fcn.00422030
mov byte [ebp - 4], 0x57
mov esi, 0x593844
mov eax, dword [ebp - 0x4c]
mov ecx, esi
test eax, eax
cmovne ecx, eax
lea eax, [ebp - 0x14c]
push ecx
push eax
call fcn.00422140
add esp, 8
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea ecx, [ebp - 0x14c]
call fcn.00422ad0
mov dword [ebp - 0x64], 0x730020
mov dword [ebp - 0x60], 0x630072
mov dword [ebp - 0x5c], 0x660020
mov dword [ebp - 0x58], 0x6c0069
mov dword [ebp - 0x54], 0x3a0065
mov dword [ebp - 0x50], 0x20
call fcn.0041ae50
push eax
push 0xb
lea eax, [ebp - 0x64]
push eax
lea ecx, [ebp - 0x14]
call fcn.00422030
mov byte [ebp - 4], 0x58
mov eax, esi
mov edi, dword [ebp - 0x14]
test edi, edi
cmovne eax, edi
push eax
lea eax, [ebp - 0x14c]
push eax
call fcn.00422140
mov eax, dword [ebp - 0x2c]
mov ecx, esi
test eax, eax
cmovne ecx, eax
lea eax, [ebp - 0x14c]
push ecx
push eax
call fcn.00422140
add esp, 0x10
mov dword [ebp - 0x68], 0x6c0020
xor eax, eax
mov dword [ebp - 0x64], 0x6e0069
mov dword [ebp - 0x60], 0x20006b
mov dword [ebp - 0x5c], 0x690066
mov dword [ebp - 0x58], 0x65006c
mov dword [ebp - 0x54], 0x20003a
mov word [ebp - 0x50], ax
call fcn.0041ae50
push eax
push 0xc
lea eax, [ebp - 0x68]
push eax
lea ecx, [ebp - 0x24]
call fcn.00422030
mov byte [ebp - 4], 0x59
mov eax, esi
mov esi, dword [ebp - 0x24]
test esi, esi
cmovne eax, esi
push eax
lea eax, [ebp - 0x14c]
push eax
call fcn.00422140
mov eax, dword [ebp - 0x1c]
mov ecx, 0x593844
test eax, eax
cmovne ecx, eax
lea eax, [ebp - 0x14c]
push ecx
push eax
call fcn.00422140
add esp, 0x10
lea ecx, [ebp - 0x48]
call fcn.004418f0
mov byte [ebp - 4], 0x5a
lea edx, [ebp - 0x14c]
mov ecx, dword [eax]
push edx
mov eax, dword [ecx]
call dword [eax + 8]
mov byte [ebp - 4], 0x5b
mov ecx, dword [ebp - 0x44]
mov dword [ebp - 0x30], ecx
test ecx, ecx
je 0x41f498
mov eax, ebx
lock xadd dword [ecx + 4], eax
jne 0x41f498
mov eax, dword [ecx]
call dword [eax]
mov ecx, dword [ebp - 0x30]
mov eax, ebx
lock xadd dword [ecx + 8], eax
jne 0x41f498
mov eax, dword [ecx]
call dword [eax + 4]
add esi, 0xfffffff0
mov byte [ebp - 4], 0x5c
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x41f4b3
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
add edi, 0xfffffff0
mov byte [ebp - 4], 0x5d
mov eax, ebx
lock xadd dword [edi + 0xc], eax
dec eax
test eax, eax
jg 0x41f4ce
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x4c]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x5e
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41f65c
mov ecx, dword [edx]
push edx
jmp 0x41f657
mov byte [ebp - 4], 0x5f
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov byte [ebp - 0x3d], al
mov byte [ebp - 4], 0x60
mov esi, dword [ebp - 0x44]
test esi, esi
je 0x41f52d
mov ecx, ebx
lock xadd dword [esi + 4], ecx
jne 0x41f52d
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, ebx
lock xadd dword [esi + 8], eax
jne 0x41f52a
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov al, byte [ebp - 0x3d]
mov byte [ebp - 4], 0x50
test al, al
je 0x41f667
push 1
push 2
lea ecx, [ebp - 0x14c]
call fcn.00420a30
mov byte [ebp - 4], 0x61
mov dword [ebp - 0x8c], 0x720063
mov dword [ebp - 0x88], 0x610065
mov dword [ebp - 0x84], 0x650074
mov dword [ebp - 0x80], 0x730020
mov dword [ebp - 0x7c], 0x610074
mov dword [ebp - 0x78], 0x740072
mov dword [ebp - 0x74], 0x6d0020
mov dword [ebp - 0x70], 0x6e0065
mov dword [ebp - 0x6c], 0x200075
mov dword [ebp - 0x68], 0x61006d
mov dword [ebp - 0x64], 0x6e0069
mov dword [ebp - 0x60], 0x6c0020
mov dword [ebp - 0x5c], 0x6e0069
mov dword [ebp - 0x58], 0x20006b
mov dword [ebp - 0x54], 0x750073
mov dword [ebp - 0x50], 0x63
call fcn.0041ae50
push eax
push 0x1f
lea eax, [ebp - 0x8c]
push eax
lea ecx, [ebp - 0x14]
call fcn.00422030
mov byte [ebp - 4], 0x62
mov eax, 0x593844
mov esi, dword [ebp - 0x14]
test esi, esi
cmovne eax, esi
push eax
lea eax, [ebp - 0x14c]
push eax
call fcn.00422140
add esp, 8
lea ecx, [ebp - 0x48]
call fcn.004418f0
mov byte [ebp - 4], 0x63
lea edx, [ebp - 0x14c]
mov ecx, dword [eax]
push edx
mov eax, dword [ecx]
call dword [eax + 8]
mov byte [ebp - 4], 0x64
mov edi, dword [ebp - 0x44]
test edi, edi
je 0x41f641
mov eax, ebx
lock xadd dword [edi + 4], eax
jne 0x41f641
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, ebx
lock xadd dword [edi + 8], eax
jne 0x41f641
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
add esi, 0xfffffff0
mov byte [ebp - 4], 0x65
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x41f65c
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x14c]
call fcn.0041e300
mov edx, dword [ebp - 0x1c]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x66
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41f685
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edi, dword [ebp - 0xa8]
mov byte [ebp - 4], 0x37
mov ecx, dword [edi + 0xc]
test ecx, ecx
je 0x41fe59
lea ecx, [ebp - 0x48]
call fcn.004418f0
mov byte [ebp - 4], 0x67
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov byte [ebp - 0x3d], al
mov byte [ebp - 4], 0x68
mov esi, dword [ebp - 0x44]
test esi, esi
je 0x41f6df
mov ecx, ebx
lock xadd dword [esi + 4], ecx
jne 0x41f6df
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, ebx
lock xadd dword [esi + 8], eax
jne 0x41f6dc
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov al, byte [ebp - 0x3d]
mov byte [ebp - 4], 0x37
test al, al
je 0x41f828
push 1
push 2
lea ecx, [ebp - 0x14c]
call fcn.00420a30
mov byte [ebp - 4], 0x69
xor eax, eax
mov dword [ebp - 0x90], 0x720063
mov dword [ebp - 0x8c], 0x610065
mov dword [ebp - 0x88], 0x650074
mov dword [ebp - 0x84], 0x730020
mov dword [ebp - 0x80], 0x610074
mov dword [ebp - 0x7c], 0x740072
mov dword [ebp - 0x78], 0x6d0020
mov dword [ebp - 0x74], 0x6e0065
mov dword [ebp - 0x70], 0x200075
mov dword [ebp - 0x6c], 0x6e0075
mov dword [ebp - 0x68], 0x6e0069
mov dword [ebp - 0x64], 0x740073
mov dword [ebp - 0x60], 0x6c0061
mov dword [ebp - 0x5c], 0x20006c
mov dword [ebp - 0x58], 0x69006c
mov dword [ebp - 0x54], 0x6b006e
mov word [ebp - 0x50], ax
call fcn.0041ae50
push eax
push 0x20
lea eax, [ebp - 0x90]
push eax
lea ecx, [ebp - 0x14]
call fcn.00422030
mov byte [ebp - 4], 0x6a
mov eax, 0x593844
mov esi, dword [ebp - 0x14]
test esi, esi
cmovne eax, esi
push eax
lea eax, [ebp - 0x14c]
push eax
call fcn.00422140
add esp, 8
lea ecx, [ebp - 0x48]
call fcn.004418f0
mov byte [ebp - 4], 0x6b
lea edx, [ebp - 0x14c]
mov ecx, dword [eax]
push edx
mov eax, dword [ecx]
call dword [eax + 8]
mov byte [ebp - 4], 0x6c
mov edi, dword [ebp - 0x44]
test edi, edi
je 0x41f7fc
mov eax, ebx
lock xadd dword [edi + 4], eax
jne 0x41f7fc
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, ebx
lock xadd dword [edi + 8], eax
jne 0x41f7fc
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
add esi, 0xfffffff0
mov byte [ebp - 4], 0x6d
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x41f817
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x14c]
call fcn.0041e300
mov edi, dword [ebp - 0xa8]
push dword [ebp - 0x20]
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x41f83f
push dword [ebp - 0x20]
push eax
call dword [sym.imp.SHELL32.dll_SHCreateDirectory]
mov esi, dword [ebp - 0xa4]
mov eax, dword [0x5c7448]
mov dword [ebp - 0x38], 0
cmp eax, dword [esi + 4]
jle 0x41f886
push 0x5c7448
call fcn.004dec96
add esp, 4
cmp dword [0x5c7448], 0xffffffff
jne 0x41f886
push 0x5c7448
mov dword [0x5c7440], 0
call fcn.004dec4c
add esp, 4
xorps xmm0, xmm0
mov byte [ebp - 0x3d], 0
movlpd qword [ebp - 0x18], xmm0
lea eax, [ebp - 0x18]
mov byte [ebp - 4], 0x6e
push eax
call fcn.0045e7a5
lea eax, [ebp - 0x18]
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x3d]
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x28]
push eax
push 0x424920
push 0x5c7440
call fcn.0045e970
add esp, 0x10
test eax, eax
je 0x4201c0
lea eax, [ebp - 0x18]
mov byte [ebp - 4], 0x70
push eax
call fcn.0045e7df
add esp, 4
mov byte [ebp - 4], 0x37
lea ecx, [ebp - 0x4c]
push 0x5be498
call fcn.00421680
lea eax, [ebp - 0x4c]
mov byte [ebp - 4], 0x73
push eax
lea edx, [ebp - 0x20]
lea ecx, [ebp - 0x38]
call fcn.0043c210
add esp, 4
mov edx, dword [ebp - 0x4c]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x76
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41f91e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [0x5c747c]
mov dword [ebp - 0x1c], 0
cmp eax, dword [esi + 4]
jle 0x41f95f
push 0x5c747c
call fcn.004dec96
add esp, 4
cmp dword [0x5c747c], 0xffffffff
jne 0x41f95f
push 0x5c747c
mov dword [0x5c744c], 0
call fcn.004dec4c
add esp, 4
xorps xmm0, xmm0
mov byte [ebp - 0x3d], 0
movlpd qword [ebp - 0x18], xmm0
lea eax, [ebp - 0x18]
mov byte [ebp - 4], 0x77
push eax
call fcn.0045e7a5
lea eax, [ebp - 0x18]
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x3d]
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x28]
push eax
push 0x4249d0
push 0x5c744c
call fcn.0045e970
add esp, 0x10
test eax, eax
je 0x4201a7
lea eax, [ebp - 0x18]
mov byte [ebp - 4], 0x79
push eax
call fcn.0045e7df
add esp, 4
mov byte [ebp - 4], 0x75
lea ecx, [ebp - 0xa4]
push 0x5be3b4
call fcn.00421680
lea eax, [ebp - 0xa4]
mov byte [ebp - 4], 0x7c
push eax
mov edx, edi
lea ecx, [ebp - 0x1c]
call fcn.0043c210
add esp, 4
mov edx, dword [ebp - 0xa4]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x7f
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41f9ff
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push ecx
mov byte [ebp - 4], 0x7e
mov eax, dword [ebp - 0x1c]
push eax
push dword [ebp - 0x38]
push 0
push eax
call fcn.00420310
test eax, eax
jne 0x41fc68
lea ecx, [ebp - 0x48]
call fcn.004418f0
mov byte [ebp - 4], 0x80
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov byte [ebp - 0x3d], al
mov byte [ebp - 4], 0x81
mov esi, dword [ebp - 0x44]
test esi, esi
je 0x41fa60
mov ecx, ebx
lock xadd dword [esi + 4], ecx
jne 0x41fa60
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, ebx
lock xadd dword [esi + 8], eax
jne 0x41fa5d
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov al, byte [ebp - 0x3d]
mov byte [ebp - 4], 0x7e
test al, al
je 0x41fe16
push 1
push 2
lea ecx, [ebp - 0x14c]
call fcn.00420a30
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0x82
push eax
call fcn.00420230
mov byte [ebp - 4], 0x83
mov esi, 0x593844
mov eax, dword [eax]
mov ecx, esi
test eax, eax
cmovne ecx, eax
lea eax, [ebp - 0x14c]
push ecx
push eax
call fcn.00422140
add esp, 8
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea ecx, [ebp - 0x14c]
call fcn.00422ad0
mov dword [ebp - 0x64], 0x730020
mov dword [ebp - 0x60], 0x630072
mov dword [ebp - 0x5c], 0x660020
mov dword [ebp - 0x58], 0x6c0069
mov dword [ebp - 0x54], 0x3a0065
mov dword [ebp - 0x50], 0x20
call fcn.0041ae50
push eax
push 0xb
lea eax, [ebp - 0x64]
push eax
lea ecx, [ebp - 0x14]
call fcn.00422030
mov byte [ebp - 4], 0x84
mov eax, esi
mov edi, dword [ebp - 0x14]
test edi, edi
cmovne eax, edi
push eax
lea eax, [ebp - 0x14c]
push eax
call fcn.00422140
mov eax, dword [ebp - 0x1c]
mov ecx, esi
test eax, eax
cmovne ecx, eax
lea eax, [ebp - 0x14c]
push ecx
push eax
call fcn.00422140
add esp, 0x10
mov dword [ebp - 0x68], 0x6c0020
xor eax, eax
mov dword [ebp - 0x64], 0x6e0069
mov dword [ebp - 0x60], 0x20006b
mov dword [ebp - 0x5c], 0x690066
mov dword [ebp - 0x58], 0x65006c
mov dword [ebp - 0x54], 0x20003a
mov word [ebp - 0x50], ax
call fcn.0041ae50
push eax
push 0xc
lea eax, [ebp - 0x68]
push eax
lea ecx, [ebp - 0x24]
call fcn.00422030
mov eax, esi
mov byte [ebp - 4], 0x85
mov esi, dword [ebp - 0x24]
test esi, esi
cmovne eax, esi
push eax
lea eax, [ebp - 0x14c]
push eax
call fcn.00422140
mov eax, dword [ebp - 0x38]
mov ecx, 0x593844
test eax, eax
cmovne ecx, eax
lea eax, [ebp - 0x14c]
push ecx
push eax
call fcn.00422140
add esp, 0x10
lea ecx, [ebp - 0xb0]
call fcn.004418f0
mov byte [ebp - 4], 0x86
lea edx, [ebp - 0x14c]
mov ecx, dword [eax]
push edx
mov eax, dword [ecx]
call dword [eax + 8]
mov byte [ebp - 4], 0x87
mov ecx, dword [ebp - 0xac]
mov dword [ebp - 0x30], ecx
test ecx, ecx
je 0x41fbf7
mov eax, ebx
lock xadd dword [ecx + 4], eax
jne 0x41fbf7
mov eax, dword [ecx]
call dword [eax]
mov ecx, dword [ebp - 0x30]
mov eax, ebx
lock xadd dword [ecx + 8], eax
jne 0x41fbf7
mov eax, dword [ecx]
call dword [eax + 4]
add esi, 0xfffffff0
mov byte [ebp - 4], 0x88
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x41fc12
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
add edi, 0xfffffff0
mov byte [ebp - 4], 0x89
mov eax, ebx
lock xadd dword [edi + 0xc], eax
dec eax
test eax, eax
jg 0x41fc2d
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x44]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x8a
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41fe05
mov ecx, dword [edx]
push edx
jmp 0x41fe00
lea eax, [ebp - 0x18]
mov byte [ebp - 4], 0x4c
push eax
call fcn.0045e800
add esp, 4
mov byte [ebp - 4], 0x4a
jmp 0x41eea0
lea ecx, [ebp - 0xb0]
call fcn.004418f0
mov byte [ebp - 4], 0x8b
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov byte [ebp - 0x3d], al
mov byte [ebp - 4], 0x8c
mov esi, dword [ebp - 0xac]
test esi, esi
je 0x41fcb3
mov ecx, ebx
lock xadd dword [esi + 4], ecx
jne 0x41fcb3
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, ebx
lock xadd dword [esi + 8], eax
jne 0x41fcb0
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov al, byte [ebp - 0x3d]
mov byte [ebp - 4], 0x7e
test al, al
je 0x41fe16
push 1
push 2
lea ecx, [ebp - 0x14c]
call fcn.00420a30
mov byte [ebp - 4], 0x8d
xor eax, eax
mov dword [ebp - 0x98], 0x720063
mov dword [ebp - 0x94], 0x610065
mov dword [ebp - 0x90], 0x650074
mov dword [ebp - 0x8c], 0x730020
mov dword [ebp - 0x88], 0x610074
mov dword [ebp - 0x84], 0x740072
mov dword [ebp - 0x80], 0x6d0020
mov dword [ebp - 0x7c], 0x6e0065
mov dword [ebp - 0x78], 0x200075
mov dword [ebp - 0x74], 0x6e0075
mov dword [ebp - 0x70], 0x6e0069
mov dword [ebp - 0x6c], 0x740073
mov dword [ebp - 0x68], 0x6c0061
mov dword [ebp - 0x64], 0x20006c
mov dword [ebp - 0x60], 0x69006c
mov dword [ebp - 0x5c], 0x6b006e
mov dword [ebp - 0x58], 0x730020
mov dword [ebp - 0x54], 0x630075
mov word [ebp - 0x50], ax
call fcn.0041ae50
push eax
push 0x24
lea eax, [ebp - 0x98]
push eax
lea ecx, [ebp - 0x44]
call fcn.00422030
mov byte [ebp - 4], 0x8e
mov eax, 0x593844
mov esi, dword [ebp - 0x44]
test esi, esi
cmovne eax, esi
push eax
lea eax, [ebp - 0x14c]
push eax
call fcn.00422140
add esp, 8
lea ecx, [ebp - 0xb0]
call fcn.004418f0
mov byte [ebp - 4], 0x8f
lea edx, [ebp - 0x14c]
mov ecx, dword [eax]
push edx
mov eax, dword [ecx]
call dword [eax + 8]
mov byte [ebp - 4], 0x90
mov edi, dword [ebp - 0xac]
test edi, edi
je 0x41fdea
mov eax, ebx
lock xadd dword [edi + 4], eax
jne 0x41fdea
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, ebx
lock xadd dword [edi + 8], eax
jne 0x41fdea
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
add esi, 0xfffffff0
mov byte [ebp - 4], 0x91
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x41fe05
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x14c]
call fcn.0041e300
mov edi, dword [ebp - 0xa8]
mov edx, dword [ebp - 0x1c]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x92
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41fe34
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x38]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x93
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41fe52
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x37
mov ecx, dword [edi + 0xc]
mov eax, dword [edi + 8]
or eax, dword [edi + 4]
or eax, ecx
je 0x41fff9
lea ecx, [ebp - 0xb0]
call fcn.004418f0
mov byte [ebp - 4], 0x94
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov byte [ebp - 0x3d], al
mov byte [ebp - 4], 0x95
mov esi, dword [ebp - 0xac]
test esi, esi
je 0x41feb2
mov ecx, ebx
lock xadd dword [esi + 4], ecx
jne 0x41feb2
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, ebx
lock xadd dword [esi + 8], eax
jne 0x41feaf
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov al, byte [ebp - 0x3d]
mov byte [ebp - 4], 0x37
test al, al
je 0x41ffd4
push 1
push 2
lea ecx, [ebp - 0x14c]
call fcn.00420a30
mov byte [ebp - 4], 0x96
xor eax, eax
mov dword [ebp - 0x80], 0x6c0066
mov dword [ebp - 0x7c], 0x730061
mov dword [ebp - 0x78], 0x200068
mov dword [ebp - 0x74], 0x650064
mov dword [ebp - 0x70], 0x6b0073
mov dword [ebp - 0x6c], 0x6f0074
mov dword [ebp - 0x68], 0x200070
mov dword [ebp - 0x64], 0x630069
mov dword [ebp - 0x60], 0x6e006f
mov dword [ebp - 0x5c], 0x630020
mov dword [ebp - 0x58], 0x630061
mov dword [ebp - 0x54], 0x650068
mov word [ebp - 0x50], ax
call fcn.0041ae50
push eax
push 0x18
lea eax, [ebp - 0x80]
push eax
lea ecx, [ebp - 0x44]
call fcn.00422030
mov byte [ebp - 4], 0x97
mov eax, 0x593844
mov esi, dword [ebp - 0x44]
test esi, esi
cmovne eax, esi
push eax
lea eax, [ebp - 0x14c]
push eax
call fcn.00422140
add esp, 8
lea ecx, [ebp - 0xb0]
call fcn.004418f0
mov byte [ebp - 4], 0x98
lea edx, [ebp - 0x14c]
mov ecx, dword [eax]
push edx
mov eax, dword [ecx]
call dword [eax + 8]
mov byte [ebp - 4], 0x99
mov edi, dword [ebp - 0xac]
test edi, edi
je 0x41ffaa
mov eax, ebx
lock xadd dword [edi + 4], eax
jne 0x41ffaa
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, ebx
lock xadd dword [edi + 8], eax
jne 0x41ffaa
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
add esi, 0xfffffff0
mov byte [ebp - 4], 0x9a
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x41ffc5
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x14c]
mov byte [ebp - 4], 0x37
call fcn.0041e300
push 0
push 0x2a
push 0x1a
push 0xffff
call dword [sym.imp.USER32.dll_PostMessageW]
push 0
push 0
push 0x1000
push 0x8000000
call dword [sym.imp.SHELL32.dll_SHChangeNotify]
lea ecx, [ebp - 0xb0]
call fcn.004418f0
mov byte [ebp - 4], 0x9b
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov byte [ebp - 0x3d], al
mov byte [ebp - 4], 0x9c
mov esi, dword [ebp - 0xac]
test esi, esi
je 0x420044
mov ecx, ebx
lock xadd dword [esi + 4], ecx
jne 0x420044
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, ebx
lock xadd dword [esi + 8], eax
jne 0x420041
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov al, byte [ebp - 0x3d]
mov byte [ebp - 4], 0x37
test al, al
je 0x42014e
push 1
push 2
lea ecx, [ebp - 0x1e4]
call fcn.00420a30
mov byte [ebp - 4], 0x9d
mov dword [ebp - 0x74], 0x6e0065
mov dword [ebp - 0x70], 0x200064
mov dword [ebp - 0x6c], 0x720063
mov dword [ebp - 0x68], 0x610065
mov dword [ebp - 0x64], 0x650074
mov dword [ebp - 0x60], 0x730020
mov dword [ebp - 0x5c], 0x6f0068
mov dword [ebp - 0x58], 0x740072
mov dword [ebp - 0x54], 0x750063
mov dword [ebp - 0x50], 0x74
call fcn.0041ae50
push eax
push 0x13
lea eax, [ebp - 0x74]
push eax
lea ecx, [ebp - 0x44]
call fcn.00422030
mov byte [ebp - 4], 0x9e
mov eax, 0x593844
mov esi, dword [ebp - 0x44]
test esi, esi
cmovne eax, esi
push eax
lea eax, [ebp - 0x1e4]
push eax
call fcn.00422140
add esp, 8
lea ecx, [ebp - 0xb0]
call fcn.004418f0
mov byte [ebp - 4], 0x9f
lea edx, [ebp - 0x1e4]
mov ecx, dword [eax]
push edx
mov eax, dword [ecx]
call dword [eax + 8]
mov byte [ebp - 4], 0xa0
mov edi, dword [ebp - 0xac]
test edi, edi
je 0x420128
mov eax, ebx
lock xadd dword [edi + 4], eax
jne 0x420128
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, ebx
lock xadd dword [edi + 8], eax
jne 0x420128
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
add esi, 0xfffffff0
mov byte [ebp - 4], 0xa1
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x420143
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x1e4]
call fcn.0041e300
mov edx, dword [ebp - 0x20]
add edx, 0xfffffff0
mov byte [ebp - 4], 0xa2
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x42016c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x2c]
add edx, 0xfffffff0
mov dword [ebp - 4], 0xa3
lock xadd dword [edx + 0xc], ebx
dec ebx
test ebx, ebx
jg 0x42018b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004deaec
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0x18]
mov byte [ebp - 4], 0x7a
push eax
call fcn.0045e800
add esp, 4
mov byte [ebp - 4], 0x78
jmp 0x41eea0
lea eax, [ebp - 0x18]
mov byte [ebp - 4], 0x71
push eax
call fcn.0045e800
add esp, 4
mov byte [ebp - 4], 0x6f
jmp 0x41eea0
lea eax, [ebp - 0x34]
mov byte [ebp - 4], 0x3b
push eax
call fcn.0045e800
add esp, 4
mov byte [ebp - 4], 0x39
test al, al
je 0x420227
sub esp, 8
lea eax, [ebp - 0x34]
mov ecx, esp
jmp 0x42021c
lea eax, [ebp - 0x18]
mov byte [ebp - 4], 0xa
push eax
call fcn.0045e800
add esp, 4
mov byte [ebp - 4], 8
jmp 0x41eea0
sub esp, 8
lea eax, [ebp - 0x18]
mov ecx, esp
push eax
call fcn.0041b160
call fcn.0041b220
call fcn.0045e988
int3