Function at 0x43dd30
Capabilities:
Connect to wmi namespace via wbemlocator
Contain obfuscated stackstrings
Get system information on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4a558c
mov eax, dword fs:[0]
push eax
sub esp, 0x54c
mov eax, dword [0x4c9100]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push 0
push 0
call dword [sym.imp.ole32.dll_CoInitializeEx]
test eax, eax
js 0x43ec44
push 0
push 0
push 0
push 3
push 0
push 0
push 0
push 0xffffffffffffffff
push 0
call dword [sym.imp.ole32.dll_CoInitializeSecurity]
test eax, eax
jns 0x43dd96
call dword [sym.imp.ole32.dll_CoUninitialize]
jmp 0x43ec44
mov esi, dword [sym.imp.ole32.dll_CoCreateInstance]
lea eax, [ebp - 0x464]
push eax
push 0x4a9400
push 1
push 0
push 0x4a9420
mov dword [ebp - 0x464], 0
call esi
lea eax, [ebp - 0x45c]
mov dword [ebp - 0x468], 0
push eax
call dword [sym.imp.KERNEL32.DLL_GetNativeSystemInfo]
cmp word [ebp - 0x45c], 9
mov edi, 0x7f
jne 0x43e077
lea eax, [ebp - 0x468]
push eax
push 0x4a9410
push 1
push 0
push 0x4a9430
call esi
test eax, eax
js 0x43dd8b
mov dword [ebp - 0x414], 0
mov byte [ebp - 0x4bc], 0
mov byte [ebp - 0x4bb], 0x16
mov byte [ebp - 0x4ba], 7
mov byte [ebp - 0x4b9], 0x16
mov byte [ebp - 0x4b8], 7
mov byte [ebp - 0x4b7], 0x21
mov byte [ebp - 0x4b6], 7
mov byte [ebp - 0x4b5], 0x19
mov byte [ebp - 0x4b4], 7
mov byte [ebp - 0x4b3], 0x4e
mov byte [ebp - 0x4b2], 7
mov byte [ebp - 0x4b1], 0x27
mov byte [ebp - 0x4b0], 7
mov byte [ebp - 0x4af], 0x39
mov byte [ebp - 0x4ae], 7
mov byte [ebp - 0x4ad], 0x67
mov byte [ebp - 0x4ac], 7
mov byte [ebp - 0x4ab], 0x2b
mov byte [ebp - 0x4aa], 7
mov byte [ebp - 0x4a9], 0x19
mov byte [ebp - 0x4a8], 7
mov byte [ebp - 0x4a7], 0x2c
mov byte [ebp - 0x4a6], 7
mov byte [ebp - 0x4a5], 0x19
mov byte [ebp - 0x4a4], 7
mov byte [ebp - 0x4a3], 0x24
mov byte [ebp - 0x4a2], 7
mov byte [ebp - 0x4a1], 0x75
mov byte [ebp - 0x4a0], 7
mov byte [ebp - 0x49f], 0x39
mov byte [ebp - 0x49e], 7
mov byte [ebp - 0x49d], 0x20
mov byte [ebp - 0x49c], 7
mov byte [ebp - 0x49b], 0x2b
mov byte [ebp - 0x49a], 7
mov byte [ebp - 0x499], 0x24
mov byte [ebp - 0x498], 7
mov byte [ebp - 0x497], 0x20
mov byte [ebp - 0x496], 7
mov byte [ebp - 0x495], 0x63
mov byte [ebp - 0x494], 7
mov byte [ebp - 0x493], 0x19
mov byte [ebp - 0x492], 7
mov byte [ebp - 0x491], 0x2b
mov byte [ebp - 0x490], 7
mov byte [ebp - 0x48f], 7
mov byte [ebp - 0x48e], 7
mov al, byte [ebp - 0x4bb]
mov al, byte [ebp - 0x4bc]
test al, al
jne 0x43df9d
xor esi, esi
nop word [eax + eax]
mov al, byte [ebp + esi - 0x4bb]
mov ecx, 7
movzx eax, al
sub ecx, eax
lea eax, [ecx + ecx*8]
shl eax, 2
cdq
idiv edi
lea eax, [edx + 0x7f]
cdq
idiv edi
mov byte [ebp + esi - 0x4bb], dl
inc esi
cmp esi, 0x2e
jb 0x43df70
lea eax, [ebp - 0x4bb]
push eax
lea ecx, [ebp - 0x414]
call fcn.0043d790
lea eax, [ebp - 0x424]
mov dword [ebp - 4], 0
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov esi, dword [ebp - 0x414]
mov eax, 3
mov word [ebp - 0x424], ax
mov dword [ebp - 0x41c], 0x40
test esi, esi
je 0x43dfe7
mov edx, dword [esi]
jmp 0x43dfe9
xor edx, edx
mov eax, dword [ebp - 0x468]
lea edi, [ebp - 0x424]
push edi
push 0
push edx
mov ecx, dword [eax]
push eax
call dword [ecx + 0x20]
mov edi, eax
lea eax, [ebp - 0x424]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
test edi, edi
jns 0x43e01d
call dword [sym.imp.ole32.dll_CoUninitialize]
jmp 0x43ec00
mov dword [ebp - 4], 0xffffffff
test esi, esi
je 0x43e072
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
dec eax
jne 0x43e068
mov eax, dword [esi]
test eax, eax
je 0x43e046
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x43e05d
push eax
call fcn.0046163c
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.0046160b
add esp, 8
mov dword [ebp - 0x414], 0
mov edi, 0x7f
mov dword [ebp - 0x460], 0
mov dword [ebp - 0x414], 0
mov byte [ebp - 0x42c], 0
mov byte [ebp - 0x42b], 0x25
mov byte [ebp - 0x42a], 0x48
mov byte [ebp - 0x429], 0x4d
mov byte [ebp - 0x428], 0x48
mov byte [ebp - 0x427], 0x4d
mov byte [ebp - 0x426], 0x48
mov byte [ebp - 0x425], 0x5f
mov byte [ebp - 0x424], 0x48
mov byte [ebp - 0x423], 0x49
mov byte [ebp - 0x422], 0x48
mov byte [ebp - 0x421], 0x6e
mov byte [ebp - 0x420], 0x48
mov byte [ebp - 0x41f], 0x1e
mov byte [ebp - 0x41e], 0x48
mov byte [ebp - 0x41d], 0x13
mov byte [ebp - 0x41c], 0x48
mov byte [ebp - 0x41b], 0x1a
mov byte [ebp - 0x41a], 0x48
mov byte [ebp - 0x419], 0x7d
mov byte [ebp - 0x418], 0x48
mov byte [ebp - 0x417], 0x48
mov byte [ebp - 0x416], 0x48
mov al, byte [ebp - 0x42b]
mov al, byte [ebp - 0x42c]
test al, al
jne 0x43e16a
xor esi, esi
nop
mov al, byte [ebp + esi - 0x42b]
mov ecx, 0x48
movzx eax, al
sub ecx, eax
imul eax, ecx, 0x23
cdq
idiv edi
lea eax, [edx + 0x7f]
cdq
idiv edi
mov byte [ebp + esi - 0x42b], dl
inc esi
cmp esi, 0x16
jb 0x43e140
lea eax, [ebp - 0x42b]
push eax
lea ecx, [ebp - 0x414]
call fcn.0043d790
mov dword [ebp - 4], 1
mov esi, dword [ebp - 0x414]
test esi, esi
je 0x43e191
mov edx, dword [esi]
jmp 0x43e193
xor edx, edx
mov eax, dword [ebp - 0x464]
lea edi, [ebp - 0x460]
push edi
push dword [ebp - 0x468]
mov ecx, dword [eax]
push 0
push 0
push 0
push 0
push 0
push edx
push eax
call dword [ecx + 0xc]
test eax, eax
jns 0x43e1cc
mov eax, dword [ebp - 0x464]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
jmp 0x43ec00
push 0
push 0
push 3
push 3
push 0
push 0
push 0xa
push dword [ebp - 0x460]
call dword [sym.imp.ole32.dll_CoSetProxyBlanket]
test eax, eax
jns 0x43e20d
mov eax, dword [ebp - 0x460]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x464]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
jmp 0x43ec00
mov dword [ebp - 0x434], 0
mov edi, 0x7f
mov byte [ebp - 0x48c], 0
mov byte [ebp - 0x48b], 0x40
mov byte [ebp - 0x48a], 0x7b
mov byte [ebp - 0x489], 0x7d
mov byte [ebp - 0x488], 0x7b
mov byte [ebp - 0x487], 0x46
mov byte [ebp - 0x486], 0x7b
mov byte [ebp - 0x485], 0x7b
mov byte [ebp - 0x484], 0x7b
mov al, byte [ebp - 0x48b]
mov al, byte [ebp - 0x48c]
test al, al
jne 0x43e29a
xor esi, esi
nop dword [eax]
mov al, byte [ebp + esi - 0x48b]
mov ecx, 0x7b
movzx eax, al
sub ecx, eax
imul eax, ecx, 0x17
cdq
idiv edi
lea eax, [edx + 0x7f]
cdq
idiv edi
mov byte [ebp + esi - 0x48b], dl
inc esi
cmp esi, 8
jb 0x43e270
lea eax, [ebp - 0x48b]
push eax
lea ecx, [ebp - 0x434]
call fcn.0043d790
mov byte [ebp - 4], 2
mov dword [ebp - 0x430], 0
mov byte [ebp - 0x4cc], 0
mov byte [ebp - 0x4cb], 0x1e
mov byte [ebp - 0x4ca], 0x4c
mov byte [ebp - 0x4c9], 0x32
mov byte [ebp - 0x4c8], 0x4c
mov byte [ebp - 0x4c7], 0x28
mov byte [ebp - 0x4c6], 0x4c
mov byte [ebp - 0x4c5], 0x32
mov byte [ebp - 0x4c4], 0x4c
mov byte [ebp - 0x4c3], 0x47
mov byte [ebp - 0x4c2], 0x4c
mov byte [ebp - 0x4c1], 0x53
mov byte [ebp - 0x4c0], 0x4c
mov byte [ebp - 0x4bf], 0x79
mov byte [ebp - 0x4be], 0x4c
mov byte [ebp - 0x4bd], 0x10
mov byte [ebp - 0x4bc], 0x4c
mov byte [ebp - 0x4bb], 0x79
mov byte [ebp - 0x4ba], 0x4c
mov byte [ebp - 0x4b9], 0x67
mov byte [ebp - 0x4b8], 0x4c
mov byte [ebp - 0x4b7], 0x68
mov byte [ebp - 0x4b6], 0x4c
mov byte [ebp - 0x4b5], 0x48
mov byte [ebp - 0x4b4], 0x4c
mov byte [ebp - 0x4b3], 0x5d
mov byte [ebp - 0x4b2], 0x4c
mov byte [ebp - 0x4b1], 0x79
mov byte [ebp - 0x4b0], 0x4c
mov byte [ebp - 0x4af], 0x73
mov byte [ebp - 0x4ae], 0x4c
mov byte [ebp - 0x4ad], 0x35
mov byte [ebp - 0x4ac], 0x4c
mov byte [ebp - 0x4ab], 0x40
mov byte [ebp - 0x4aa], 0x4c
mov byte [ebp - 0x4a9], 0x70
mov byte [ebp - 0x4a8], 0x4c
mov byte [ebp - 0x4a7], 0x3b
mov byte [ebp - 0x4a6], 0x4c
mov byte [ebp - 0x4a5], 0x1f
mov byte [ebp - 0x4a4], 0x4c
mov byte [ebp - 0x4a3], 0x1e
mov byte [ebp - 0x4a2], 0x4c
mov byte [ebp - 0x4a1], 0
mov byte [ebp - 0x4a0], 0x4c
mov byte [ebp - 0x49f], 0xa
mov byte [ebp - 0x49e], 0x4c
mov byte [ebp - 0x49d], 0x2a
mov byte [ebp - 0x49c], 0x4c
mov byte [ebp - 0x49b], 0x75
mov byte [ebp - 0x49a], 0x4c
mov byte [ebp - 0x499], 0x21
mov byte [ebp - 0x498], 0x4c
mov byte [ebp - 0x497], 0x47
mov byte [ebp - 0x496], 0x4c
mov byte [ebp - 0x495], 0x75
mov byte [ebp - 0x494], 0x4c
mov byte [ebp - 0x493], 0x2b
mov byte [ebp - 0x492], 0x4c
mov byte [ebp - 0x491], 0xc
mov byte [ebp - 0x490], 0x4c
mov byte [ebp - 0x48f], 0x4c
mov byte [ebp - 0x48e], 0x4c
mov al, byte [ebp - 0x4cb]
mov al, byte [ebp - 0x4cc]
test al, al
jne 0x43e4b9
xor ecx, ecx
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x4cb]
movzx eax, al
sub eax, 0x4c
lea eax, [eax + eax*2]
shl eax, 2
cdq
idiv edi
lea eax, [edx + 0x7f]
cdq
idiv edi
mov byte [ebp + ecx - 0x4cb], dl
inc ecx
cmp ecx, 0x3e
jb 0x43e490
lea eax, [ebp - 0x4cb]
push eax
lea ecx, [ebp - 0x430]
call fcn.0043d790
mov byte [ebp - 4], 3
mov edi, dword [ebp - 0x430]
mov dword [ebp - 0x46c], 0
test edi, edi
je 0x43e4e7
mov edx, dword [edi]
jmp 0x43e4e9
xor edx, edx
mov esi, dword [ebp - 0x434]
test esi, esi
je 0x43e4fd
mov eax, dword [esi]
mov dword [ebp - 0x488], eax
jmp 0x43e507
mov dword [ebp - 0x488], 0
mov eax, dword [ebp - 0x460]
lea edi, [ebp - 0x46c]
push edi
push 0
push 0x30
mov ecx, dword [eax]
push edx
push dword [ebp - 0x488]
push eax
call dword [ecx + 0x50]
mov edi, dword [ebp - 0x430]
test eax, eax
jns 0x43e54c
mov eax, dword [ebp - 0x460]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x464]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
jmp 0x43eb72
mov ecx, dword [ebp - 0x46c]
mov dword [ebp - 0x470], 0
mov dword [ebp - 0x438], 0
test ecx, ecx
je 0x43eb38
nop
mov eax, dword [ecx]
lea edx, [ebp - 0x438]
push edx
lea edx, [ebp - 0x470]
push edx
push 1
push 0xffffffffffffffff
push ecx
call dword [eax + 0x10]
cmp dword [ebp - 0x438], 0
je 0x43eb2c
mov byte [ebp - 0x48c], 0
mov edi, 0x7f
mov byte [ebp - 0x48b], 0x76
mov byte [ebp - 0x48a], 0x63
mov byte [ebp - 0x489], 0x6c
mov byte [ebp - 0x488], 0x63
mov byte [ebp - 0x487], 0x63
mov byte [ebp - 0x486], 0x63
mov al, byte [ebp - 0x48b]
mov al, byte [ebp - 0x48c]
test al, al
jne 0x43e60e
xor esi, esi
nop dword [eax]
mov al, byte [ebp + esi - 0x48b]
mov ecx, 0x63
movzx eax, al
sub ecx, eax
mov eax, ecx
shl eax, 6
sub eax, ecx
cdq
idiv edi
lea eax, [edx + 0x7f]
cdq
idiv edi
mov byte [ebp + esi - 0x48b], dl
inc esi
cmp esi, 6
jb 0x43e5e0
mov eax, dword [ebp - 0x470]
lea edx, [ebp - 0x480]
push 0
push 0
push edx
mov ecx, dword [eax]
lea edx, [ebp - 0x48b]
push 0
push edx
push eax
call dword [ecx + 0x10]
mov byte [ebp - 0x558], 0
mov byte [ebp - 0x557], 0x37
mov byte [ebp - 0x556], 0x6c
mov byte [ebp - 0x555], 0x1c
mov byte [ebp - 0x554], 0x6c
mov byte [ebp - 0x553], 3
mov byte [ebp - 0x552], 0x6c
mov byte [ebp - 0x551], 0x73
mov byte [ebp - 0x550], 0x6c
mov byte [ebp - 0x54f], 0x2a
mov byte [ebp - 0x54e], 0x6c
mov byte [ebp - 0x54d], 0x39
mov byte [ebp - 0x54c], 0x6c
mov byte [ebp - 0x54b], 0x1b
mov byte [ebp - 0x54a], 0x6c
mov byte [ebp - 0x549], 0x3c
mov byte [ebp - 0x548], 0x6c
mov byte [ebp - 0x547], 0x54
mov byte [ebp - 0x546], 0x6c
mov byte [ebp - 0x545], 0x48
mov byte [ebp - 0x544], 0x6c
mov byte [ebp - 0x543], 3
mov byte [ebp - 0x542], 0x6c
mov byte [ebp - 0x541], 0x67
mov byte [ebp - 0x540], 0x6c
mov byte [ebp - 0x53f], 0x5a
mov byte [ebp - 0x53e], 0x6c
mov byte [ebp - 0x53d], 0x48
mov byte [ebp - 0x53c], 0x6c
mov byte [ebp - 0x53b], 0x4b
mov byte [ebp - 0x53a], 0x6c
mov byte [ebp - 0x539], 0x1e
mov byte [ebp - 0x538], 0x6c
mov byte [ebp - 0x537], 0x36
mov byte [ebp - 0x536], 0x6c
mov byte [ebp - 0x535], 7
mov byte [ebp - 0x534], 0x6c
mov byte [ebp - 0x533], 4
mov byte [ebp - 0x532], 0x6c
mov byte [ebp - 0x531], 3
mov byte [ebp - 0x530], 0x6c
mov byte [ebp - 0x52f], 0x54
mov byte [ebp - 0x52e], 0x6c
mov byte [ebp - 0x52d], 0x15
mov byte [ebp - 0x52c], 0x6c
mov byte [ebp - 0x52b], 0x1e
mov byte [ebp - 0x52a], 0x6c
mov byte [ebp - 0x529], 0x36
mov byte [ebp - 0x528], 0x6c
mov byte [ebp - 0x527], 3
mov byte [ebp - 0x526], 0x6c
mov byte [ebp - 0x525], 0x73
mov byte [ebp - 0x524], 0x6c
mov byte [ebp - 0x523], 0x55
mov byte [ebp - 0x522], 0x6c
mov byte [ebp - 0x521], 0x49
mov byte [ebp - 0x520], 0x6c
mov byte [ebp - 0x51f], 0x37
mov byte [ebp - 0x51e], 0x6c
mov byte [ebp - 0x51d], 0x77
mov byte [ebp - 0x51c], 0x6c
mov byte [ebp - 0x51b], 0x1e
mov byte [ebp - 0x51a], 0x6c
mov byte [ebp - 0x519], 0x57
mov byte [ebp - 0x518], 0x6c
mov byte [ebp - 0x517], 0x1e
mov byte [ebp - 0x516], 0x6c
mov byte [ebp - 0x515], 0x4d
mov byte [ebp - 0x514], 0x6c
mov byte [ebp - 0x513], 0x48
mov byte [ebp - 0x512], 0x6c
mov byte [ebp - 0x511], 0x27
mov byte [ebp - 0x510], 0x6c
mov byte [ebp - 0x50f], 0x12
mov byte [ebp - 0x50e], 0x6c
mov byte [ebp - 0x50d], 0x1b
mov byte [ebp - 0x50c], 0x6c
mov byte [ebp - 0x50b], 0x3c
mov byte [ebp - 0x50a], 0x6c
mov byte [ebp - 0x509], 0x54
mov byte [ebp - 0x508], 0x6c
mov byte [ebp - 0x507], 0x18
mov byte [ebp - 0x506], 0x6c
mov byte [ebp - 0x505], 0x3c
mov byte [ebp - 0x504], 0x6c
mov byte [ebp - 0x503], 0x3f
mov byte [ebp - 0x502], 0x6c
mov byte [ebp - 0x501], 0x5a
mov byte [ebp - 0x500], 0x6c
mov byte [ebp - 0x4ff], 0x4d
mov byte [ebp - 0x4fe], 0x6c
mov byte [ebp - 0x4fd], 0x54
mov byte [ebp - 0x4fc], 0x6c
mov byte [ebp - 0x4fb], 0x27
mov byte [ebp - 0x4fa], 0x6c
mov byte [ebp - 0x4f9], 0x1e
mov byte [ebp - 0x4f8], 0x6c
mov byte [ebp - 0x4f7], 0x45
mov byte [ebp - 0x4f6], 0x6c
mov byte [ebp - 0x4f5], 0x1e
mov byte [ebp - 0x4f4], 0x6c
mov byte [ebp - 0x4f3], 0x4d
mov byte [ebp - 0x4f2], 0x6c
mov byte [ebp - 0x4f1], 0x53
mov byte [ebp - 0x4f0], 0x6c
mov byte [ebp - 0x4ef], 0x49
mov byte [ebp - 0x4ee], 0x6c
mov byte [ebp - 0x4ed], 0x3a
mov byte [ebp - 0x4ec], 0x6c
mov byte [ebp - 0x4eb], 0x25
mov byte [ebp - 0x4ea], 0x6c
mov byte [ebp - 0x4e9], 0x62
mov byte [ebp - 0x4e8], 0x6c
mov byte [ebp - 0x4e7], 0x5c
mov byte [ebp - 0x4e6], 0x6c
mov byte [ebp - 0x4e5], 0x48
mov byte [ebp - 0x4e4], 0x6c
mov byte [ebp - 0x4e3], 0x62
mov byte [ebp - 0x4e2], 0x6c
mov byte [ebp - 0x4e1], 0x53
mov byte [ebp - 0x4e0], 0x6c
mov byte [ebp - 0x4df], 0x4d
mov byte [ebp - 0x4de], 0x6c
mov byte [ebp - 0x4dd], 0x1b
mov byte [ebp - 0x4dc], 0x6c
mov byte [ebp - 0x4db], 0x1e
mov byte [ebp - 0x4da], 0x6c
mov byte [ebp - 0x4d9], 0x33
mov byte [ebp - 0x4d8], 0x6c
mov byte [ebp - 0x4d7], 0x1e
mov byte [ebp - 0x4d6], 0x6c
mov byte [ebp - 0x4d5], 0x4b
mov byte [ebp - 0x4d4], 0x6c
mov byte [ebp - 0x4d3], 0x1e
mov byte [ebp - 0x4d2], 0x6c
mov byte [ebp - 0x4d1], 0x6c
mov byte [ebp - 0x4d0], 0x6c
mov al, byte [ebp - 0x557]
mov al, byte [ebp - 0x558]
test al, al
jne 0x43ea2d
xor esi, esi
nop
mov al, byte [ebp + esi - 0x557]
mov ecx, 0x6c
movzx eax, al
sub ecx, eax
imul eax, ecx, 0x2a
cdq
idiv edi
lea eax, [edx + 0x7f]
cdq
idiv edi
mov byte [ebp + esi - 0x557], dl
inc esi
cmp esi, 0x88
jb 0x43ea00
push dword [ebp - 0x478]
lea eax, [ebp - 0x557]
push eax
lea eax, [ebp - 0x410]
push eax
call fcn.004440f0
add esp, 0xc
cmp eax, 0xffffffff
je 0x43eb1e
xorps xmm0, xmm0
mov dword [ebp - 0x41c], 0
lea ecx, [ebp - 0x410]
mov dword [ebp - 0x418], 0
movups xmmword [ebp - 0x42c], xmm0
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x43ea80
sub ecx, edx
lea eax, [ebp - 0x410]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x42c]
call fcn.00429720
lea ecx, [ebp - 0x42c]
mov byte [ebp - 4], 4
call fcn.0043da90
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x418]
cmp ecx, 7
jbe 0x43eaf5
mov edx, dword [ebp - 0x42c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x43eaeb
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43ec5f
push ecx
push edx
call fcn.0046160b
add esp, 8
xor eax, eax
mov dword [ebp - 0x41c], 0
mov word [ebp - 0x42c], ax
mov eax, dword [ebp - 0x470]
push eax
mov dword [ebp - 0x418], 7
mov ecx, dword [eax]
call dword [ecx + 8]
mov ecx, dword [ebp - 0x46c]
test ecx, ecx
jne 0x43e570
mov esi, dword [ebp - 0x434]
mov edi, dword [ebp - 0x430]
mov ecx, dword [ebp - 0x468]
test ecx, ecx
je 0x43eb48
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov eax, dword [ebp - 0x460]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x464]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x46c]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
test edi, edi
je 0x43ebb6
or eax, 0xffffffff
lock xadd dword [edi + 8], eax
dec eax
jne 0x43ebb6
mov eax, dword [edi]
test eax, eax
je 0x43eb94
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [edi], 0
mov eax, dword [edi + 4]
test eax, eax
je 0x43ebab
push eax
call fcn.0046163c
add esp, 4
mov dword [edi + 4], 0
push 0xc
push edi
call fcn.0046160b
add esp, 8
test esi, esi
je 0x43ebfa
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
dec eax
jne 0x43ebfa
mov eax, dword [esi]
test eax, eax
je 0x43ebd8
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x43ebef
push eax
call fcn.0046163c
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.0046160b
add esp, 8
mov esi, dword [ebp - 0x414]
test esi, esi
je 0x43ec44
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
dec eax
jne 0x43ec44
mov eax, dword [esi]
test eax, eax
je 0x43ec22
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x43ec39
push eax
call fcn.0046163c
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.0046160b
add esp, 8
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.004615cd
mov esp, ebp
pop ebp
ret
call fcn.004834cf
int3