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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4a553c
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 0x43ec84
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 0x43ddd6
call dword [sym.imp.ole32.dll_CoUninitialize]
jmp 0x43ec84
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 0x43e0b0
lea eax, [ebp - 0x468]
push eax
push 0x4a9410
push 1
push 0
push 0x4a9430
call esi
test eax, eax
js 0x43ddcb
mov dword [ebp - 0x414], 0
mov byte [ebp - 0x4bc], 0
mov byte [ebp - 0x4bb], 0x1b
mov byte [ebp - 0x4ba], 0x15
mov byte [ebp - 0x4b9], 0x1b
mov byte [ebp - 0x4b8], 0x15
mov byte [ebp - 0x4b7], 6
mov byte [ebp - 0x4b6], 0x15
mov byte [ebp - 0x4b5], 0x4f
mov byte [ebp - 0x4b4], 0x15
mov byte [ebp - 0x4b3], 0x18
mov byte [ebp - 0x4b2], 0x15
mov byte [ebp - 0x4b1], 0x6e
mov byte [ebp - 0x4b0], 0x15
mov byte [ebp - 0x4af], 0x29
mov byte [ebp - 0x4ae], 0x15
mov byte [ebp - 0x4ad], 0x22
mov byte [ebp - 0x4ac], 0x15
mov byte [ebp - 0x4ab], 0xa
mov byte [ebp - 0x4aa], 0x15
mov byte [ebp - 0x4a9], 0x4f
mov byte [ebp - 0x4a8], 0x15
mov byte [ebp - 0x4a7], 0x70
mov byte [ebp - 0x4a6], 0x15
mov byte [ebp - 0x4a5], 0x4f
mov byte [ebp - 0x4a4], 0x15
mov byte [ebp - 0x4a3], 0x3a
mov byte [ebp - 0x4a2], 0x15
mov byte [ebp - 0x4a1], 0x41
mov byte [ebp - 0x4a0], 0x15
mov byte [ebp - 0x49f], 0x29
mov byte [ebp - 0x49e], 0x15
mov byte [ebp - 0x49d], 0x1f
mov byte [ebp - 0x49c], 0x15
mov byte [ebp - 0x49b], 0xa
mov byte [ebp - 0x49a], 0x15
mov byte [ebp - 0x499], 0x3a
mov byte [ebp - 0x498], 0x15
mov byte [ebp - 0x497], 0x1f
mov byte [ebp - 0x496], 0x15
mov byte [ebp - 0x495], 7
mov byte [ebp - 0x494], 0x15
mov byte [ebp - 0x493], 0x4f
mov byte [ebp - 0x492], 0x15
mov byte [ebp - 0x491], 0xa
mov byte [ebp - 0x490], 0x15
mov byte [ebp - 0x48f], 0x15
mov byte [ebp - 0x48e], 0x15
mov al, byte [ebp - 0x4bb]
mov al, byte [ebp - 0x4bc]
test al, al
jne 0x43dfd6
xor ecx, ecx
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x4bb]
movzx eax, al
sub eax, 0x15
imul eax, eax, 0x25
cdq
idiv edi
lea eax, [edx + 0x7f]
cdq
idiv edi
mov byte [ebp + ecx - 0x4bb], dl
inc ecx
cmp ecx, 0x2e
jb 0x43dfb0
lea eax, [ebp - 0x4bb]
push eax
lea ecx, [ebp - 0x414]
call fcn.0043d7d0
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 0x43e020
mov edx, dword [esi]
jmp 0x43e022
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 0x43e056
call dword [sym.imp.ole32.dll_CoUninitialize]
jmp 0x43ec40
mov dword [ebp - 4], 0xffffffff
test esi, esi
je 0x43e0ab
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
dec eax
jne 0x43e0a1
mov eax, dword [esi]
test eax, eax
je 0x43e07f
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x43e096
push eax
call fcn.004615ec
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.004615bb
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], 0x1e
mov byte [ebp - 0x42a], 0x2c
mov byte [ebp - 0x429], 0x2e
mov byte [ebp - 0x428], 0x2c
mov byte [ebp - 0x427], 0x2e
mov byte [ebp - 0x426], 0x2c
mov byte [ebp - 0x425], 0x68
mov byte [ebp - 0x424], 0x2c
mov byte [ebp - 0x423], 0x13
mov byte [ebp - 0x422], 0x2c
mov byte [ebp - 0x421], 0x6e
mov byte [ebp - 0x420], 0x2c
mov byte [ebp - 0x41f], 0x4e
mov byte [ebp - 0x41e], 0x2c
mov byte [ebp - 0x41d], 0x63
mov byte [ebp - 0x41c], 0x2c
mov byte [ebp - 0x41b], 0x33
mov byte [ebp - 0x41a], 0x2c
mov byte [ebp - 0x419], 0x74
mov byte [ebp - 0x418], 0x2c
mov byte [ebp - 0x417], 0x2c
mov byte [ebp - 0x416], 0x2c
mov al, byte [ebp - 0x42b]
mov al, byte [ebp - 0x42c]
test al, al
jne 0x43e1ad
xor esi, esi
nop word [eax + eax]
mov al, byte [ebp + esi - 0x42b]
mov ecx, 0x2c
movzx eax, al
sub ecx, eax
lea eax, [ecx + ecx*2]
shl eax, 3
cdq
idiv edi
lea eax, [edx + 0x7f]
cdq
idiv edi
mov byte [ebp + esi - 0x42b], dl
inc esi
cmp esi, 0x16
jb 0x43e180
lea eax, [ebp - 0x42b]
push eax
lea ecx, [ebp - 0x414]
call fcn.0043d7d0
mov dword [ebp - 4], 1
mov esi, dword [ebp - 0x414]
test esi, esi
je 0x43e1d4
mov edx, dword [esi]
jmp 0x43e1d6
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 0x43e20f
mov eax, dword [ebp - 0x464]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
jmp 0x43ec40
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 0x43e250
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 0x43ec40
mov dword [ebp - 0x434], 0
mov edi, 0x7f
mov byte [ebp - 0x48c], 0
mov byte [ebp - 0x48b], 0x40
mov byte [ebp - 0x48a], 0x35
mov byte [ebp - 0x489], 0x48
mov byte [ebp - 0x488], 0x35
mov byte [ebp - 0x487], 0x79
mov byte [ebp - 0x486], 0x35
mov byte [ebp - 0x485], 0x35
mov byte [ebp - 0x484], 0x35
mov al, byte [ebp - 0x48b]
mov al, byte [ebp - 0x48c]
test al, al
jne 0x43e2da
xor esi, esi
mov al, byte [ebp + esi - 0x48b]
movzx ecx, al
sub ecx, 0x35
mov eax, ecx
shl eax, 5
sub eax, ecx
cdq
idiv edi
lea eax, [edx + 0x7f]
cdq
idiv edi
mov byte [ebp + esi - 0x48b], dl
inc esi
cmp esi, 8
jb 0x43e2b0
lea eax, [ebp - 0x48b]
push eax
lea ecx, [ebp - 0x434]
call fcn.0043d7d0
mov byte [ebp - 4], 2
mov dword [ebp - 0x430], 0
mov byte [ebp - 0x4cc], 0
mov byte [ebp - 0x4cb], 0x49
mov byte [ebp - 0x4ca], 0x5a
mov byte [ebp - 0x4c9], 0x6c
mov byte [ebp - 0x4c8], 0x5a
mov byte [ebp - 0x4c7], 0x1b
mov byte [ebp - 0x4c6], 0x5a
mov byte [ebp - 0x4c5], 0x6c
mov byte [ebp - 0x4c4], 0x5a
mov byte [ebp - 0x4c3], 0x71
mov byte [ebp - 0x4c2], 0x5a
mov byte [ebp - 0x4c1], 7
mov byte [ebp - 0x4c0], 0x5a
mov byte [ebp - 0x4bf], 0xa
mov byte [ebp - 0x4be], 0x5a
mov byte [ebp - 0x4bd], 0x70
mov byte [ebp - 0x4bc], 0x5a
mov byte [ebp - 0x4bb], 0xa
mov byte [ebp - 0x4ba], 0x5a
mov byte [ebp - 0x4b9], 0x2a
mov byte [ebp - 0x4b8], 0x5a
mov byte [ebp - 0x4b7], 0xc
mov byte [ebp - 0x4b6], 0x5a
mov byte [ebp - 0x4b5], 0x53
mov byte [ebp - 0x4b4], 0x5a
mov byte [ebp - 0x4b3], 0x58
mov byte [ebp - 0x4b2], 0x5a
mov byte [ebp - 0x4b1], 0xa
mov byte [ebp - 0x4b0], 0x5a
mov byte [ebp - 0x4af], 0x3f
mov byte [ebp - 0x4ae], 0x5a
mov byte [ebp - 0x4ad], 0x12
mov byte [ebp - 0x4ac], 0x5a
mov byte [ebp - 0x4ab], 0x45
mov byte [ebp - 0x4aa], 0x5a
mov byte [ebp - 0x4a9], 0x1a
mov byte [ebp - 0x4a8], 0x5a
mov byte [ebp - 0x4a7], 0x5c
mov byte [ebp - 0x4a6], 0x5a
mov byte [ebp - 0x4a5], 0x2b
mov byte [ebp - 0x4a4], 0x5a
mov byte [ebp - 0x4a3], 0x49
mov byte [ebp - 0x4a2], 0x5a
mov byte [ebp - 0x4a1], 0x54
mov byte [ebp - 0x4a0], 0x5a
mov byte [ebp - 0x49f], 0x26
mov byte [ebp - 0x49e], 0x5a
mov byte [ebp - 0x49d], 0x5e
mov byte [ebp - 0x49c], 0x5a
mov byte [ebp - 0x49b], 3
mov byte [ebp - 0x49a], 0x5a
mov byte [ebp - 0x499], 0x6e
mov byte [ebp - 0x498], 0x5a
mov byte [ebp - 0x497], 0x71
mov byte [ebp - 0x496], 0x5a
mov byte [ebp - 0x495], 3
mov byte [ebp - 0x494], 0x5a
mov byte [ebp - 0x493], 0x40
mov byte [ebp - 0x492], 0x5a
mov byte [ebp - 0x491], 0x69
mov byte [ebp - 0x490], 0x5a
mov byte [ebp - 0x48f], 0x5a
mov byte [ebp - 0x48e], 0x5a
mov al, byte [ebp - 0x4cb]
mov al, byte [ebp - 0x4cc]
test al, al
jne 0x43e4f6
xor ecx, ecx
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x4cb]
movzx eax, al
sub eax, 0x5a
imul eax, eax, 0x19
cdq
idiv edi
lea eax, [edx + 0x7f]
cdq
idiv edi
mov byte [ebp + ecx - 0x4cb], dl
inc ecx
cmp ecx, 0x3e
jb 0x43e4d0
lea eax, [ebp - 0x4cb]
push eax
lea ecx, [ebp - 0x430]
call fcn.0043d7d0
mov byte [ebp - 4], 3
mov edi, dword [ebp - 0x430]
mov dword [ebp - 0x46c], 0
test edi, edi
je 0x43e524
mov edx, dword [edi]
jmp 0x43e526
xor edx, edx
mov esi, dword [ebp - 0x434]
test esi, esi
je 0x43e53a
mov eax, dword [esi]
mov dword [ebp - 0x488], eax
jmp 0x43e544
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 0x43e589
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 0x43ebb2
mov ecx, dword [ebp - 0x46c]
mov dword [ebp - 0x470], 0
mov dword [ebp - 0x438], 0
test ecx, ecx
je 0x43eb78
nop dword [eax + eax]
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 0x43eb6c
mov byte [ebp - 0x48c], 0
mov edi, 0x7f
mov byte [ebp - 0x48b], 0x63
mov byte [ebp - 0x48a], 0x47
mov byte [ebp - 0x489], 0x6f
mov byte [ebp - 0x488], 0x47
mov byte [ebp - 0x487], 0x47
mov byte [ebp - 0x486], 0x47
mov al, byte [ebp - 0x48b]
mov al, byte [ebp - 0x48c]
test al, al
jne 0x43e64a
xor esi, esi
nop dword [eax]
mov al, byte [ebp + esi - 0x48b]
mov ecx, 0x47
movzx eax, al
sub ecx, eax
imul eax, ecx, 0xb
cdq
idiv edi
lea eax, [edx + 0x7f]
cdq
idiv edi
mov byte [ebp + esi - 0x48b], dl
inc esi
cmp esi, 6
jb 0x43e620
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], 0x7e
mov byte [ebp - 0x556], 0x26
mov byte [ebp - 0x555], 0x3f
mov byte [ebp - 0x554], 0x26
mov byte [ebp - 0x553], 0x2f
mov byte [ebp - 0x552], 0x26
mov byte [ebp - 0x551], 0xc
mov byte [ebp - 0x550], 0x26
mov byte [ebp - 0x54f], 0xb
mov byte [ebp - 0x54e], 0x26
mov byte [ebp - 0x54d], 0x2e
mov byte [ebp - 0x54c], 0x26
mov byte [ebp - 0x54b], 0x67
mov byte [ebp - 0x54a], 0x26
mov byte [ebp - 0x549], 0x35
mov byte [ebp - 0x548], 0x26
mov byte [ebp - 0x547], 0x6d
mov byte [ebp - 0x546], 0x26
mov byte [ebp - 0x545], 0x51
mov byte [ebp - 0x544], 0x26
mov byte [ebp - 0x543], 0x2f
mov byte [ebp - 0x542], 0x26
mov byte [ebp - 0x541], 0x6f
mov byte [ebp - 0x540], 0x26
mov byte [ebp - 0x53f], 0x7b
mov byte [ebp - 0x53e], 0x26
mov byte [ebp - 0x53d], 0x51
mov byte [ebp - 0x53c], 0x26
mov byte [ebp - 0x53b], 0x58
mov byte [ebp - 0x53a], 0x26
mov byte [ebp - 0x539], 0x6e
mov byte [ebp - 0x538], 0x26
mov byte [ebp - 0x537], 0x27
mov byte [ebp - 0x536], 0x26
mov byte [ebp - 0x535], 0xe
mov byte [ebp - 0x534], 0x26
mov byte [ebp - 0x533], 7
mov byte [ebp - 0x532], 0x26
mov byte [ebp - 0x531], 0x2f
mov byte [ebp - 0x530], 0x26
mov byte [ebp - 0x52f], 0x6d
mov byte [ebp - 0x52e], 0x26
mov byte [ebp - 0x52d], 0x59
mov byte [ebp - 0x52c], 0x26
mov byte [ebp - 0x52b], 0x6e
mov byte [ebp - 0x52a], 0x26
mov byte [ebp - 0x529], 0x27
mov byte [ebp - 0x528], 0x26
mov byte [ebp - 0x527], 0x2f
mov byte [ebp - 0x526], 0x26
mov byte [ebp - 0x525], 0xc
mov byte [ebp - 0x524], 0x26
mov byte [ebp - 0x523], 0x45
mov byte [ebp - 0x522], 0x26
mov byte [ebp - 0x521], 0x29
mov byte [ebp - 0x520], 0x26
mov byte [ebp - 0x51f], 0x7e
mov byte [ebp - 0x51e], 0x26
mov byte [ebp - 0x51d], 0x6a
mov byte [ebp - 0x51c], 0x26
mov byte [ebp - 0x51b], 0x6e
mov byte [ebp - 0x51a], 0x26
mov byte [ebp - 0x519], 0x74
mov byte [ebp - 0x518], 0x26
mov byte [ebp - 0x517], 0x6e
mov byte [ebp - 0x516], 0x26
mov byte [ebp - 0x515], 8
mov byte [ebp - 0x514], 0x26
mov byte [ebp - 0x513], 0x51
mov byte [ebp - 0x512], 0x26
mov byte [ebp - 0x511], 4
mov byte [ebp - 0x510], 0x26
mov byte [ebp - 0x50f], 0x52
mov byte [ebp - 0x50e], 0x26
mov byte [ebp - 0x50d], 0x67
mov byte [ebp - 0x50c], 0x26
mov byte [ebp - 0x50b], 0x35
mov byte [ebp - 0x50a], 0x26
mov byte [ebp - 0x509], 0x6d
mov byte [ebp - 0x508], 0x26
mov byte [ebp - 0x507], 0x60
mov byte [ebp - 0x506], 0x26
mov byte [ebp - 0x505], 0x35
mov byte [ebp - 0x504], 0x26
mov byte [ebp - 0x503], 0x3c
mov byte [ebp - 0x502], 0x26
mov byte [ebp - 0x501], 0x7b
mov byte [ebp - 0x500], 0x26
mov byte [ebp - 0x4ff], 8
mov byte [ebp - 0x4fe], 0x26
mov byte [ebp - 0x4fd], 0x6d
mov byte [ebp - 0x4fc], 0x26
mov byte [ebp - 0x4fb], 4
mov byte [ebp - 0x4fa], 0x26
mov byte [ebp - 0x4f9], 0x6e
mov byte [ebp - 0x4f8], 0x26
mov byte [ebp - 0x4f7], 0x4a
mov byte [ebp - 0x4f6], 0x26
mov byte [ebp - 0x4f5], 0x6e
mov byte [ebp - 0x4f4], 0x26
mov byte [ebp - 0x4f3], 8
mov byte [ebp - 0x4f2], 0x26
mov byte [ebp - 0x4f1], 0x16
mov byte [ebp - 0x4f0], 0x26
mov byte [ebp - 0x4ef], 0x29
mov byte [ebp - 0x4ee], 0x26
mov byte [ebp - 0x4ed], 6
mov byte [ebp - 0x4ec], 0x26
mov byte [ebp - 0x4eb], 0x54
mov byte [ebp - 0x4ea], 0x26
mov byte [ebp - 0x4e9], 0x39
mov byte [ebp - 0x4e8], 0x26
mov byte [ebp - 0x4e7], 0x2b
mov byte [ebp - 0x4e6], 0x26
mov byte [ebp - 0x4e5], 0x51
mov byte [ebp - 0x4e4], 0x26
mov byte [ebp - 0x4e3], 0x39
mov byte [ebp - 0x4e2], 0x26
mov byte [ebp - 0x4e1], 0x16
mov byte [ebp - 0x4e0], 0x26
mov byte [ebp - 0x4df], 8
mov byte [ebp - 0x4de], 0x26
mov byte [ebp - 0x4dd], 0x67
mov byte [ebp - 0x4dc], 0x26
mov byte [ebp - 0x4db], 0x6e
mov byte [ebp - 0x4da], 0x26
mov byte [ebp - 0x4d9], 0x20
mov byte [ebp - 0x4d8], 0x26
mov byte [ebp - 0x4d7], 0x6e
mov byte [ebp - 0x4d6], 0x26
mov byte [ebp - 0x4d5], 0x58
mov byte [ebp - 0x4d4], 0x26
mov byte [ebp - 0x4d3], 0x6e
mov byte [ebp - 0x4d2], 0x26
mov byte [ebp - 0x4d1], 0x26
mov byte [ebp - 0x4d0], 0x26
mov al, byte [ebp - 0x557]
mov al, byte [ebp - 0x558]
test al, al
jne 0x43ea6f
xor esi, esi
nop dword [eax + eax]
mov al, byte [ebp + esi - 0x557]
mov ecx, 0x26
movzx eax, al
sub ecx, eax
lea eax, [ecx + ecx*8]
add eax, eax
cdq
idiv edi
lea eax, [edx + 0x7f]
cdq
idiv edi
mov byte [ebp + esi - 0x557], dl
inc esi
cmp esi, 0x88
jb 0x43ea40
push dword [ebp - 0x478]
lea eax, [ebp - 0x557]
push eax
lea eax, [ebp - 0x410]
push eax
call fcn.004440a0
add esp, 0xc
cmp eax, 0xffffffff
je 0x43eb5e
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 + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x43eac0
sub ecx, edx
lea eax, [ebp - 0x410]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x42c]
call fcn.00429760
lea ecx, [ebp - 0x42c]
mov byte [ebp - 4], 4
call fcn.0043dad0
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x418]
cmp ecx, 7
jbe 0x43eb35
mov edx, dword [ebp - 0x42c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x43eb2b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43ec9f
push ecx
push edx
call fcn.004615bb
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 0x43e5b0
mov esi, dword [ebp - 0x434]
mov edi, dword [ebp - 0x430]
mov ecx, dword [ebp - 0x468]
test ecx, ecx
je 0x43eb88
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 0x43ebf6
or eax, 0xffffffff
lock xadd dword [edi + 8], eax
dec eax
jne 0x43ebf6
mov eax, dword [edi]
test eax, eax
je 0x43ebd4
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [edi], 0
mov eax, dword [edi + 4]
test eax, eax
je 0x43ebeb
push eax
call fcn.004615ec
add esp, 4
mov dword [edi + 4], 0
push 0xc
push edi
call fcn.004615bb
add esp, 8
test esi, esi
je 0x43ec3a
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
dec eax
jne 0x43ec3a
mov eax, dword [esi]
test eax, eax
je 0x43ec18
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x43ec2f
push eax
call fcn.004615ec
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.004615bb
add esp, 8
mov esi, dword [ebp - 0x414]
test esi, esi
je 0x43ec84
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
dec eax
jne 0x43ec84
mov eax, dword [esi]
test eax, eax
je 0x43ec62
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x43ec79
push eax
call fcn.004615ec
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.004615bb
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.0046157d
mov esp, ebp
pop ebp
ret
call fcn.0048347f
int3