Function at 0x41d640
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x52edac
mov eax, dword fs:[0]
push eax
sub esp, 0x110
mov eax, dword [0x57a438]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x14], eax
call fcn.00426ed0
mov dword [ebp - 4], 0
mov esi, dword [eax]
mov dword [ebp - 0x84], 0x690057
mov dword [ebp - 0x80], 0x4f006e
mov dword [ebp - 0x7c], 0x740070
mov dword [ebp - 0x78], 0x6d0069
mov dword [ebp - 0x74], 0x7a0069
mov dword [ebp - 0x70], 0x720065
mov dword [ebp - 0x6c], 0x75005f
mov dword [ebp - 0x68], 0x69006e
mov dword [ebp - 0x64], 0x73006e
mov dword [ebp - 0x60], 0x2e0074
mov dword [ebp - 0x5c], 0x6f006c
mov dword [ebp - 0x58], 0x67
call fcn.00407b40
push eax
push 0x17
lea eax, [ebp - 0x84]
push eax
lea ecx, [ebp - 0x48]
call fcn.004070e0
push ecx
lea edx, [ebp - 0x48]
mov byte [ebp - 4], 1
mov ecx, esp
call fcn.00427600
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov byte [ebp - 4], 0
or esi, 0xffffffff
mov edx, dword [ebp - 0x48]
mov eax, esi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41d729
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 2
mov edi, dword [ebp - 0x24]
test edi, edi
je 0x41d756
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x41d756
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x41d756
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], 0xffffffff
call fcn.00426ed0
mov dword [ebp - 4], 3
mov edi, dword [eax]
xor eax, eax
mov dword [ebp - 0x70], 0x6e0075
mov dword [ebp - 0x6c], 0x6e0069
mov dword [ebp - 0x68], 0x740073
mov dword [ebp - 0x64], 0x730020
mov dword [ebp - 0x60], 0x610074
mov dword [ebp - 0x5c], 0x740072
mov word [ebp - 0x58], ax
call fcn.00407b40
push eax
push 0xc
lea eax, [ebp - 0x70]
push eax
lea ecx, [ebp - 0x3c]
call fcn.004070e0
sub esp, 8
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x11c]
call fcn.004093f0
mov byte [ebp - 4], 5
mov eax, 0x55fc20
mov esi, dword [ebp - 0x3c]
test esi, esi
cmovne eax, esi
push eax
lea eax, [ebp - 0x11c]
push eax
call fcn.00407550
mov eax, dword [edi]
lea ecx, [ebp - 0x11c]
add esp, 8
push ecx
mov ecx, edi
call dword [eax + 0xc]
lea ecx, [ebp - 0x11c]
call fcn.0040a3e0
lea edx, [esi - 0x10]
mov byte [ebp - 4], 3
or esi, 0xffffffff
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41d81c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 6
mov edi, dword [ebp - 0x24]
test edi, edi
je 0x41d849
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x41d849
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x41d849
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
push 0
mov dword [ebp - 4], 0xffffffff
call dword [sym.imp.ole32.dll_CoInitialize]
call fcn.0041e280
call fcn.0041f2e0
mov esi, dword [ebp - 0x14]
mov edi, eax
lea eax, [edi + 4]
test esi, esi
jne 0x41d872
xor ecx, ecx
jmp 0x41d889
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x41d877
sub ecx, edx
lea eax, [edi + 4]
sar ecx, 1
push ecx
push esi
mov ecx, eax
call fcn.00406d90
lea ecx, [edi + 0xc]
call fcn.004af630
mov edx, esi
mov dword [ebp - 0x5c], 0
xor eax, eax
mov dword [ebp - 0x58], 7
mov word [ebp - 0x6c], ax
lea ecx, [edx + 2]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x41d8b3
sub edx, ecx
lea ecx, [ebp - 0x6c]
sar edx, 1
push edx
push esi
call fcn.0040b2e0
lea eax, [ebp - 0x6c]
mov dword [ebp - 4], 7
push eax
lea ecx, [edi + 0xc]
call fcn.004af250
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x58]
cmp edx, 8
jb 0x41d920
mov ecx, dword [ebp - 0x6c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41d916
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41e23b
push edx
push ecx
call fcn.004ac6c8
add esp, 8
mov ecx, edi
call fcn.0040b600
lea ecx, [ebp - 0x2c]
call fcn.004b9e90
push 0x400000
mov dword [ebp - 4], 8
call fcn.00438140
push 4
call fcn.004381b0
push 0x6d
call fcn.00438150
push 0x400000
call fcn.00437ec0
call fcn.00415600
push 0x14
mov edi, eax
call fcn.004ac6d6
mov esi, eax
xorps xmm0, xmm0
mov dword [ebp - 0x3c], esi
add esp, 0x14
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 4], 0
mov dword [esi], vtable.CUninstallExecutor.0
mov dword [esi + 8], 0
call fcn.00407b40
mov ecx, eax
test ecx, ecx
je 0x41e240
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], 0
mov dword [edi], esi
call fcn.0041f2e0
mov ecx, eax
call fcn.0040b530
lea ecx, [ebp - 0x38]
mov dword [0x587b60], eax
call fcn.0043be30
push 2
lea ecx, [ebp - 0x38]
call fcn.0043c450
call fcn.0041e800
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0
call fcn.004280a0
mov byte [ebp - 4], 9
call fcn.00407b40
mov ecx, eax
test ecx, ecx
je 0x41e24a
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x24], eax
mov byte [ebp - 4], 0xa
lea eax, [ebp - 0x24]
push dword [ebp - 0x1c]
push 0x560a64
push eax
call fcn.00407210
sub esp, 0x1c
mov eax, esp
mov dword [ebp - 0x14], esp
mov dword [eax + 0x24], 0
mov byte [ebp - 4], 0xb
mov dword [ebp - 0x4c], 0x750072
mov dword [ebp - 0x48], 0x6e
call fcn.00407b40
push eax
push 3
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0x3c]
call fcn.004070e0
mov byte [ebp - 4], 0xc
mov ecx, dword [0x587834]
test ecx, ecx
jne 0x41dabd
push 0x5882f8
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [0x587834], 0
jne 0x41daac
push 0x38
call fcn.004ac6d6
mov esi, eax
mov dword [ebp - 0x48], esi
push 0x38
push 0
push esi
mov byte [ebp - 4], 0xd
call fcn.004fecc0
add esp, 0x10
mov ecx, esi
call fcn.004aa6b0
mov byte [ebp - 4], 0xc
xor ecx, ecx
mov dword [0x587834], eax
lea eax, [ebp - 0x14]
lock or dword [eax], ecx
push 0x5882f8
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [0x587834]
mov edi, dword [ebp - 0x24]
mov esi, dword [ebp - 0x3c]
push 0
push 0
push 1
push edi
push esi
mov byte [ebp - 4], 0xe
call fcn.004aac80
lea edx, [esi - 0x10]
mov byte [ebp - 4], 0xa
or esi, 0xffffffff
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41daf2
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.00429ca0
test al, al
jne 0x41dd3f
sub esp, 0x28
mov eax, esp
mov dword [ebp - 0x14], esp
mov dword [eax + 0x24], 0
mov byte [ebp - 4], 0xf
mov dword [ebp - 0x54], 0x6e0069
mov dword [ebp - 0x50], 0x5f0073
mov dword [ebp - 0x4c], 0x750072
mov dword [ebp - 0x48], 0x6e
call fcn.00407b40
push eax
push 7
lea eax, [ebp - 0x54]
push eax
lea ecx, [ebp - 0x3c]
call fcn.004070e0
mov byte [ebp - 4], 0x10
mov esi, dword [ebp - 0x3c]
push 0
push 0
push 0
push 0x5602b4
push esi
call fcn.004157c0
mov ecx, eax
mov byte [ebp - 4], 0x11
call fcn.004aac80
lea edx, [esi - 0x10]
mov byte [ebp - 4], 0xa
or esi, 0xffffffff
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41db83
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.00407b40
mov ecx, eax
test ecx, ecx
je 0x41e254
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x48], eax
push 0x5602b4
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x12
call fcn.00406e80
test al, al
jne 0x41dbc3
push 0
push 0x5602b4
lea ecx, [ebp - 0x48]
call fcn.00406d90
mov byte [ebp - 4], 0x13
call fcn.00407b40
mov ecx, eax
test ecx, ecx
je 0x41e25e
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x44], eax
push 0x5602b4
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x14
call fcn.00406e80
test al, al
jne 0x41dc07
push 0
push 0x5602b4
lea ecx, [ebp - 0x44]
call fcn.00406d90
mov byte [ebp - 4], 0x15
xor eax, eax
mov dword [ebp - 0x18], 0x5b9a786e
mov word [ebp - 0x14], ax
call fcn.00407b40
push eax
push 2
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x3c]
call fcn.004070e0
mov byte [ebp - 4], 0x16
mov dword [ebp - 0x80], 0x88c55b89
mov dword [ebp - 0x7c], 0x53786216
mov dword [ebp - 0x78], 0x7a0b8f7d
mov dword [ebp - 0x74], 0x5df25e8f
mov dword [ebp - 0x70], 0x57287ecf
mov dword [ebp - 0x6c], 0x884c8fd0
mov dword [ebp - 0x68], 0x70b9002c
mov dword [ebp - 0x64], 0x201c51fb
mov dword [ebp - 0x60], 0x5b9a786e
mov dword [ebp - 0x5c], 0x9000201d
mov dword [ebp - 0x58], 0x51fa
call fcn.00407b40
push eax
push 0x15
lea eax, [ebp - 0x80]
push eax
lea ecx, [ebp - 0x14]
call fcn.004070e0
lea eax, [ebp - 0x48]
mov byte [ebp - 4], 0x17
push eax
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.00428fc0
mov byte [ebp - 4], 0x16
mov eax, esi
mov edx, dword [ebp - 0x14]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41dcc8
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x15
mov eax, esi
mov edx, dword [ebp - 0x3c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41dce6
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x13
mov eax, esi
mov edx, dword [ebp - 0x44]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41dd04
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xa
mov eax, esi
mov edx, dword [ebp - 0x48]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41dd22
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 0x48], 2
add edi, 0xfffffff0
mov byte [ebp - 4], 9
mov eax, esi
lock xadd dword [edi + 0xc], eax
dec eax
test eax, eax
jmp 0x41e026
call fcn.0041e590
test al, al
jne 0x41ded7
call fcn.00407b40
mov ecx, eax
test ecx, ecx
je 0x41e268
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x44], eax
push 0x5602b4
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x18
call fcn.00406e80
test al, al
jne 0x41dd8c
push 0
push 0x5602b4
lea ecx, [ebp - 0x44]
call fcn.00406d90
mov byte [ebp - 4], 0x19
call fcn.00407b40
mov ecx, eax
test ecx, ecx
je 0x41e272
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x48], eax
push 0x5602b4
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x1a
call fcn.00406e80
test al, al
jne 0x41ddd0
push 0
push 0x5602b4
lea ecx, [ebp - 0x48]
call fcn.00406d90
mov byte [ebp - 4], 0x1b
xor eax, eax
mov dword [ebp - 0x40], 0x5b9a786e
mov word [ebp - 0x3c], ax
call fcn.00407b40
push eax
push 2
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x14]
call fcn.004070e0
mov byte [ebp - 4], 0x1c
mov dword [ebp - 0x64], 0x5730672c
mov dword [ebp - 0x60], 0x5b89672a
mov dword [ebp - 0x5c], 0x8f6f88c5
mov dword [ebp - 0x58], 0x4ef6
call fcn.00407b40
push eax
push 7
lea eax, [ebp - 0x64]
push eax
lea ecx, [ebp - 0x3c]
call fcn.004070e0
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0x1d
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x3c]
push eax
call fcn.00428fc0
mov byte [ebp - 4], 0x1c
mov eax, esi
mov edx, dword [ebp - 0x3c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41de60
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x1b
mov eax, esi
mov edx, dword [ebp - 0x14]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41de7e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x19
mov eax, esi
mov edx, dword [ebp - 0x48]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41de9c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xa
mov eax, esi
mov edx, dword [ebp - 0x44]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41deba
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 0x48], 0xd
add edi, 0xfffffff0
mov byte [ebp - 4], 9
mov eax, esi
lock xadd dword [edi + 0xc], eax
dec eax
test eax, eax
jmp 0x41e026
sub esp, 0x28
mov eax, esp
mov dword [ebp - 0x14], esp
mov dword [eax + 0x24], 0
mov byte [ebp - 4], 0x1e
xor eax, eax
mov dword [ebp - 0x50], 0x6e0075
mov dword [ebp - 0x4c], 0x740073
mov word [ebp - 0x48], ax
call fcn.00407b40
push eax
push 4
lea eax, [ebp - 0x50]
push eax
lea ecx, [ebp - 0x3c]
call fcn.004070e0
mov byte [ebp - 4], 0x1f
mov ecx, dword [0x587834]
test ecx, ecx
jne 0x41df7a
push 0x5882f8
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [0x587834], 0
jne 0x41df69
push 0x38
call fcn.004ac6d6
mov esi, eax
mov dword [ebp - 0x48], esi
push 0x38
push 0
push esi
mov byte [ebp - 4], 0x20
call fcn.004fecc0
add esp, 0x10
mov ecx, esi
call fcn.004aa6b0
mov byte [ebp - 4], 0x1f
xor ecx, ecx
mov dword [0x587834], eax
lea eax, [ebp - 0x14]
lock or dword [eax], ecx
push 0x5882f8
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [0x587834]
mov esi, dword [ebp - 0x3c]
push 0
push 0
push 1
push 0
push esi
mov byte [ebp - 4], 0x21
call fcn.004aac80
lea edx, [esi - 0x10]
mov byte [ebp - 4], 0xa
or esi, 0xffffffff
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41dfad
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.0041f2e0
mov ecx, eax
call fcn.0040b530
test eax, eax
je 0x41e00d
call fcn.00415600
push 0
lea ecx, [eax + 4]
push ecx
mov ecx, dword [eax]
push 0
call fcn.004206a0
call fcn.00415600
mov eax, dword [eax]
mov dword [ebp - 0x3c], eax
mov eax, dword [eax + 4]
test eax, eax
je 0x41e004
push 0x927c0
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword [ebp - 0x3c]
push dword [eax + 4]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x3c]
mov dword [eax + 4], 0
mov dword [ebp - 0x48], 1
jmp 0x41e015
call fcn.0041f0b0
mov dword [ebp - 0x48], eax
mov byte [ebp - 4], 9
add edi, 0xfffffff0
mov ecx, esi
lock xadd dword [edi + 0xc], ecx
dec ecx
test ecx, ecx
jg 0x41e030
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 8
mov eax, esi
mov edx, dword [ebp - 0x1c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41e04e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
sub esp, 0x28
mov eax, esp
mov dword [ebp - 0x14], esp
mov dword [eax + 0x24], 0
mov byte [ebp - 4], 0x22
xor eax, eax
mov dword [ebp - 0x28], 0x780065
mov dword [ebp - 0x24], 0x740069
mov word [ebp - 0x20], ax
call fcn.00407b40
push eax
push 4
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x3c]
call fcn.004070e0
mov byte [ebp - 4], 0x23
mov esi, dword [ebp - 0x3c]
push 0
push 0
push 0
push 0
push esi
call fcn.004157c0
mov ecx, eax
mov byte [ebp - 4], 0x24
call fcn.004aac80
lea edx, [esi - 0x10]
mov byte [ebp - 4], 8
or esi, 0xffffffff
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41e0c7
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.00415600
mov esi, eax
mov ecx, dword [esi]
test ecx, ecx
je 0x41e0e0
mov edx, dword [ecx]
push 1
call dword [edx]
mov dword [esi], 0
call dword [sym.imp.ole32.dll_CoUninitialize]
lea ecx, [ebp - 0x18]
call fcn.00426ed0
mov byte [ebp - 4], 0x25
mov edi, dword [eax]
xor eax, eax
mov dword [ebp - 0x6c], 0x6e0075
mov dword [ebp - 0x68], 0x6e0069
mov dword [ebp - 0x64], 0x740073
mov dword [ebp - 0x60], 0x650020
mov dword [ebp - 0x5c], 0x64006e
mov word [ebp - 0x58], ax
call fcn.00407b40
push eax
push 0xa
lea eax, [ebp - 0x6c]
push eax
lea ecx, [ebp - 0x3c]
call fcn.004070e0
sub esp, 8
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0x11c]
call fcn.004093f0
mov byte [ebp - 4], 0x27
mov eax, 0x55fc20
mov esi, dword [ebp - 0x3c]
test esi, esi
cmovne eax, esi
push eax
lea eax, [ebp - 0x11c]
push eax
call fcn.00407550
mov eax, dword [edi]
lea ecx, [ebp - 0x11c]
add esp, 8
push ecx
mov ecx, edi
call dword [eax + 0xc]
lea ecx, [ebp - 0x11c]
call fcn.0040a3e0
lea edx, [esi - 0x10]
mov byte [ebp - 4], 0x25
or esi, 0xffffffff
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41e19b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x28
mov edi, dword [ebp - 0x14]
test edi, edi
je 0x41e1c5
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x41e1c5
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x41e1c5
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 8
call fcn.00426ed0
mov byte [ebp - 4], 0x29
mov ecx, dword [eax]
mov eax, dword [ecx]
call dword [eax + 8]
mov byte [ebp - 4], 0x2a
mov edi, dword [ebp - 0x3c]
test edi, edi
je 0x41e205
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x41e205
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
lock xadd dword [edi + 8], esi
dec esi
jne 0x41e205
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov eax, dword [0x57c11c]
test eax, eax
je 0x41e215
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [ebp - 0x2c]
call fcn.004b9ed0
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004ac694
mov esp, ebp
pop ebp
ret
call fcn.005026a0
push 0x80004005
call fcn.00407c80
push 0x80004005
call fcn.00407c80
push 0x80004005
call fcn.00407c80
push 0x80004005
call fcn.00407c80
push 0x80004005
call fcn.00407c80
push 0x80004005
call fcn.00407c80
int3