Function at 0x43e480
Capabilities:
Connect to wmi namespace via wbemlocator
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xa8
mov esi, dword [0x4556fc]
mov dword [esp + 0x20], 0x41bb476b
mov dword [esp + 0x24], 0x4ddf43db
mov dword [esp + 0x28], 0x49a14fd0
mov dword [esp + 0x2c], 0x75864bdf
mov dword [esp + 0x30], 0x719d77e6
mov dword [esp + 0x34], 0x7d9d73ee
mov dword [esp + 0x38], 0x797e7f53
mov word [esp + 0x3c], 0
mov byte [esp + 0x3e], 0
mov dword [esp + 0x8c], 0
mov eax, dword [esp + 0x8c]
cmp eax, 0x1e
ja 0x43e52a
mov eax, dword [esp + 0x8c]
movzx eax, byte [esp + eax + 0x20]
push dword [esp + 0x8c]
push eax
call fcn.00441fa0
add esp, 8
mov ecx, dword [esp + 0x8c]
mov byte [esp + ecx + 0x20], al
inc dword [esp + 0x8c]
mov eax, dword [esp + 0x8c]
cmp eax, 0x1f
jb case.default.0x43e54a
mov edi, dword [ebp + 8]
lea eax, [esp + 0x6c]
lea ebx, [esp + 0x8c]
lea ecx, [esp + 0x20]
push eax
push 8
push ebx
push 0xd
push ecx
push 0
call esi
shr eax, 0x1f
jmp dword [eax*4 + 0x452ee4]
jmp dword [0x452eec]
mov dword [esp + 0x8c], 0x3a0043
jmp dword [0x452eec]
mov eax, dword [ebx + ecx*4]
mov dword [esp + ecx*4 + 0x6c], eax
xor eax, eax
sub edx, 4
setb al
jmp dword [eax*4 + 0x452f84]
inc ecx
xor eax, eax
cmp ecx, 4
setb al
jmp dword [eax*4 + 0x452f7c]
jmp dword [0x452f8c]
push ebx
call fcn.0040cb10
add esp, 4
jmp case.0x43e6d4.0
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x452efc]
jmp dword [0x452f04]
mov dword [esp + 0x20], 0xe33de132
mov dword [esp + 0x24], 0xe732e53b
mov word [esp + 0x28], 0xf914
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [esp + 0x20], 0xe33de132
mov dword [esp + 0x24], 0xe732e53b
mov dword [esp + 0x28], 0xfb39f914
mov dword [esp + 0x2c], 0xff23fd25
mov dword [esp + 0x30], 0xf3c0f126
mov dword [esp + 0x34], 0xf5f4
mov byte [esp + 0x38], 0
jmp dword [0x452f10]
jmp dword [0x452f14]
lea eax, [esp + 8]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov ebx, dword [esp + 0x64]
mov dword [esp + 0x20], 0x69016b31
mov dword [esp + 0x24], 0x6d016f1e
mov dword [esp + 0x28], 0x711e730b
mov dword [esp + 0x2c], 0x750d7722
mov dword [esp + 0x30], 0x791c7b07
mov dword [esp + 0x34], 0x7d087f13
mov dword [esp + 0x38], 0x837c
mov byte [esp + 0x3c], 0
mov dword [esp + 0x1c], 0
mov eax, dword [esp + 0x1c]
cmp eax, 0x1c
ja 0x43e6ab
nop
nop
mov eax, dword [esp + 0x1c]
movzx eax, byte [esp + eax + 0x20]
push dword [esp + 0x1c]
push eax
call fcn.00442100
add esp, 8
mov ecx, dword [esp + 0x1c]
mov byte [esp + ecx + 0x20], al
inc dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
cmp eax, 0x1d
jb 0x43e680
mov eax, dword [ebx]
push 0
push 0
lea ecx, [esp + 0x10]
push ecx
push 0
lea ecx, [esp + 0x30]
push ecx
push ebx
call dword [eax + 0x10]
test eax, eax
setns al
cmp word [esp + 8], 8
sete cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x452f74]
lea eax, [esp + 8]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [esp + 0x64]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp case.0x43eb28.10
push dword [esp + 0x10]
call dword [sym.imp.OLEAUT32.dll_VariantInit]
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x58], eax
lea eax, [ebx + eax*2]
mov dword [esp + 0x80], eax
movzx ecx, word [ebx]
test cx, cx
mov dword [esp + 0x5c], ebx
je 0x43e766
xor edx, edx
mov eax, ebx
jmp 0x43e737
mov ecx, dword [esp + 4]
add ecx, edx
mov edx, ecx
movzx ecx, word [eax + 2]
add eax, 2
test cx, cx
je 0x43e768
cmp eax, dword [esp + 0x80]
jae 0x43e768
mov dword [esp + 4], edx
movzx ebx, cx
cmp ebx, 0x800
mov ecx, 3
sbb ecx, 0
mov edx, 1
cmp ebx, 0x80
jb 0x43e723
mov edx, ecx
jmp 0x43e723
xor edx, edx
mov dword [esp + 4], edx
lea eax, [edx + 1]
mov dword [esp + 0x7c], eax
push eax
call fcn.0040cb00
add esp, 4
mov ebx, eax
mov dword [esp + 0x54], eax
mov eax, dword [esp + 4]
test eax, eax
mov ecx, dword [esp + 0x5c]
jle 0x43e864
mov ebx, dword [esp + 0x54]
cmp dword [esp + 0x58], 0
jle 0x43e864
mov eax, dword [esp + 4]
mov ebx, dword [esp + 0x54]
add eax, ebx
mov dword [esp + 0x58], eax
add dword [esp + 0x7c], ebx
add ecx, 2
mov dword [esp + 0x5c], ecx
movzx edx, word [ecx - 2]
test dx, dx
je 0x43e864
cmp dx, 0x7f
ja 0x43e7d6
mov byte [ebx], dl
mov eax, 1
jmp 0x43e848
mov ecx, ebx
not ecx
add ecx, dword [esp + 0x7c]
movzx eax, dx
cmp ecx, 2
jb 0x43e807
cmp eax, 0x7ff
ja 0x43e807
mov ecx, edx
shr ecx, 6
add cl, 0xc0
mov byte [ebx], cl
and dl, 0x3f
or dl, 0x80
mov byte [ebx + 1], dl
mov eax, 2
jmp 0x43e848
mov dword [esp + 0x9c], eax
xor eax, eax
cmp ecx, 3
jb 0x43e848
mov eax, dword [esp + 0x9c]
mov ecx, eax
shr ecx, 0xc
or cl, 0xe0
mov byte [ebx], cl
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [ebx + 1], al
mov ecx, edx
xor ecx, 0xc0
or edx, 0x3f
and edx, ecx
add dl, 0x80
mov byte [ebx + 2], dl
mov eax, 3
add ebx, eax
cmp ebx, dword [esp + 0x58]
jae 0x43e864
mov edx, dword [esp + 0x5c]
lea ecx, [edx + 2]
cmp edx, dword [esp + 0x80]
jb 0x43e7b6
mov byte [ebx], 0
mov edx, dword [esp + 4]
add edx, 0xfffffffc
xor ecx, ecx
xor eax, eax
cmp ecx, 4
setb al
mov ebx, dword [esp + 0x54]
jmp dword [eax*4 + 0x452f7c]
xor ecx, ecx
test esi, esi
setne cl
mov eax, esi
jmp dword [ecx*4 + 0x452fd4]
xor ecx, ecx
cmp dword [esp + esi*4 + 0x6c], 0
sete cl
mov eax, esi
jmp dword [ecx*4 + 0x452fdc]
mov ecx, esi
not ecx
and ecx, 1
mov eax, esi
and eax, 0xfffffffe
sub eax, ecx
mov eax, dword [esp + eax*4 + 0x6c]
mov ecx, eax
and ecx, 0x1a5845
mov edx, eax
or eax, 0x1a5845
imul eax, ecx
xor ecx, 0x1a5845
and edx, 0xffe5a7ba
imul edx, ecx
add eax, edx
add eax, 0xebde8a13
mov dword [esp + esi*4 + 0x6c], eax
mov ebx, 0xfffffff7
push 0x10
push 9
push edi
push eax
call fcn.00435fd0
add esp, 0x10
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [eax + ebx + 9], 0
lea ebx, [ebx + 1]
jne case.default.0x43e924
xor edx, edx
cmp ebx, 0
setne dl
xor ecx, ecx
jmp dword [edx*4 + 0x452fe4]
mov byte [eax + ecx - 1], 0x30
dec ecx
xor edx, edx
cmp ebx, ecx
setne dl
jmp dword [edx*4 + 0x452fe4]
add edi, 8
inc esi
xor eax, eax
cmp esi, 4
setb al
jmp dword [eax*4 + 0x452fcc]
test eax, eax
setns cl
cmp eax, 1
setne al
cmp dword [esp + 0x60], 0
setne dl
and dl, al
and dl, cl
movzx eax, dl
jmp dword [eax*4 + 0x452f6c]
mov eax, dword [esp + 0x88]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ebx, [esp + 0x8c]
jmp case.0x43eb28.0
push 0
push 0
push 3
push 3
push 0
push 0
push 0xa
push dword [esp + 0x84]
call dword [sym.imp.ole32.dll_CoSetProxyBlanket]
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x452f2c]
lea eax, [esp + 0x28]
mov dword [esp + 0x20], 0x77c709b3
mov dword [esp + 0x24], 0x737275c0
mov ecx, dword [case.0x43e54a.23]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [eax + 2], 0
mov word [eax], 0
jmp ecx
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
cmp eax, 0xa
ja 0x43ea2b
nop
nop
nop
nop
mov eax, dword [esp + 8]
movzx eax, byte [esp + eax + 0x20]
push dword [esp + 8]
push eax
call fcn.00442050
add esp, 8
mov ecx, dword [esp + 8]
mov byte [esp + ecx + 0x20], al
inc dword [esp + 8]
mov eax, dword [esp + 8]
cmp eax, 0xb
jb 0x43ea00
lea eax, [esp + 0x20]
push eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [esp + 0x84], eax
mov dword [esp + 0x20], 0xe159e749
mov dword [esp + 0x24], 0xdd5de354
mov dword [esp + 0x28], 0xd972df61
mov dword [esp + 0x2c], 0xd580dbb8
mov dword [esp + 0x30], 0xd168d7b4
mov dword [esp + 0x34], 0xcd63d362
mov dword [esp + 0x38], 0xc9aecf7b
mov dword [esp + 0x3c], 0xc551cb61
mov dword [esp + 0x40], 0xc18bc752
mov dword [esp + 0x44], 0x3d63c392
mov dword [esp + 0x48], 0x39853f7e
mov dword [esp + 0x4c], 0x35973b89
mov dword [esp + 0x50], 0x3734
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
cmp eax, 0x33
ja 0x43eaeb
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 8]
movzx eax, byte [esp + eax + 0x20]
push dword [esp + 8]
push eax
call fcn.004420b0
add esp, 8
mov ecx, dword [esp + 8]
mov byte [esp + ecx + 0x20], al
inc dword [esp + 8]
mov eax, dword [esp + 8]
cmp eax, 0x34
jb 0x43eac0
lea eax, [esp + 0x20]
push eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov ecx, dword [esp + 0x68]
mov edx, dword [ecx]
mov dword [esp + 4], edx
lea edx, [esp + 0x88]
push edx
push 0
push 0x30
mov dword [esp + 0xac], eax
push eax
push dword [esp + 0x94]
push ecx
mov eax, dword [esp + 0x1c]
call dword [eax + 0x50]
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x452f44]
push dword [esp + 0x84]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
push dword [esp + 0xa0]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [esp + 0x68]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [case.0x43e54a.16]
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov dword [esp + 0x60], 0
mov eax, dword [esp + 0x88]
mov ebx, eax
mov eax, dword [eax]
mov dword [esp + 4], eax
jmp dword [0x452f4c]
mov esi, eax
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
lea edx, [esp + 0x68]
push edx
push 0
push 0
push 0
push 0
push 0
push 0
push esi
push eax
call dword [ecx + 0xc]
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x452f24]
jmp dword [0x452fb4]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x6c], eax
xor esi, esi
xor eax, eax
cmp esi, 4
setb al
jmp dword [eax*4 + 0x452fcc]
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
cmp eax, 0x18
ja 0x43ec0b
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 8]
movzx eax, byte [esp + eax + 0x20]
push dword [esp + 8]
push eax
call fcn.00442000
add esp, 8
mov ecx, dword [esp + 8]
mov byte [esp + ecx + 0x20], al
inc dword [esp + 8]
mov eax, dword [esp + 8]
cmp eax, 0x19
jb 0x43ebe0
lea eax, [esp + 0x20]
push eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
cmp eax, 0x18
ja 0x43ec5b
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 8]
movzx eax, byte [esp + eax + 0x20]
push dword [esp + 8]
push eax
call fcn.00442000
add esp, 8
mov ecx, dword [esp + 8]
mov byte [esp + ecx + 0x20], al
inc dword [esp + 8]
mov eax, dword [esp + 8]
cmp eax, 0x19
jb 0x43ec30
lea eax, [esp + 0x20]
push eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
jmp dword [0x452f1c]
mov dword [esp + 0x90], 0x5c
mov dword [esp + 0x78], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x18], 0
lea eax, [esp + 0x18]
push eax
push 0x44ccd0
push 1
push 0
push 0x44cce0
call dword [sym.imp.ole32.dll_CoCreateInstance]
mov dword [esp + 0x90], 0x5c
mov dword [esp + 0x78], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x18], 0
lea eax, [esp + 0x18]
push eax
push 0x44ccd0
push 1
push 0
push 0x44cce0
call dword [sym.imp.ole32.dll_CoCreateInstance]
jmp dword [0x452ef4]
push esi
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push esi
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp dword [0x452fbc]
mov dword [esp + 0x20], 0
push 0xd2e7977e
push dword [0x4556f4]
call fcn.00447ef0
add esp, 8
push 0
push 0
push 0
push 0
lea ecx, [esp + 0x30]
push ecx
push 0
push 0
push ebx
call eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x452fc4]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
lea eax, [esp + 0x60]
lea ecx, [esp + 0x64]
push eax
push ecx
push 1
push 0xffffffffffffffff
push ebx
mov eax, dword [esp + 0x18]
call dword [eax + 0x10]
lea eax, [esp + 0x60]
lea ecx, [esp + 0x64]
push eax
push ecx
push 1
push 0xffffffffffffffff
push ebx
mov eax, dword [esp + 0x18]
call dword [eax + 0x10]
jmp dword [0x452f58]
jmp ecx
lea ecx, [ebp - 0x24]
push 0x68
push 7
push 0x100080
push ecx
push eax
call fcn.00448970
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x45300c]
xor eax, eax
jmp 0x43f01a
push 0x400
call fcn.00442240
add esp, 4
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], 0xf4f5f6f7
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 7
ja 0x43ee56
nop
nop
mov eax, dword [ebp - 0x10]
movzx eax, byte [ebp + eax - 0x1c]
push dword [ebp - 0x10]
push eax
call fcn.00441b90
add esp, 8
mov ecx, dword [ebp - 0x10]
mov byte [ebp + ecx - 0x1c], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 8
jb 0x43ee30
mov eax, dword [ebp - 0x1c]
mov ecx, dword [0x455700]
test ecx, ecx
je case.default.0x43eeb8
mov dword [ebp - 0x28], ebx
xor edx, edx
mov ebx, dword [0x455704]
nop
nop
cmp dword [ebx + edx*8], 0xa70a987f
je 0x43ee80
inc edx
cmp ecx, edx
jne 0x43ee70
jmp case.default.0x43eeb8
mov ecx, dword [ebx + edx*8 + 4]
cmp ecx, eax
je case.default.0x43eeb8
push 0x2f
push 0x400
push dword [ebp - 0x20]
push dword [ebp - 0x28]
push dword [ebp - 0x14]
push 5
push dword [0x455708]
push ecx
call fcn.00445190
add esp, 0x20
not eax
shr eax, 0x1f
mov dword [ebp - 0x14], 0
mov ecx, dword [ebp - 0x20]
jmp dword [eax*4 + 0x453014]
push ecx
call fcn.004422d0
add esp, 4
mov esi, dword [ebp - 0x24]
mov dword [ebp - 0x1c], 0xf4f5f6f7
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 7
ja 0x43ef16
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x10]
movzx eax, byte [ebp + eax - 0x1c]
push dword [ebp - 0x10]
push eax
call fcn.00441b90
add esp, 8
mov ecx, dword [ebp - 0x10]
mov byte [ebp + ecx - 0x1c], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 8
jb 0x43eef0
mov eax, dword [0x455700]
test eax, eax
je 0x43f015
mov ecx, dword [ebp - 0x1c]
xor edx, edx
mov edi, dword [0x455704]
nop
nop
cmp dword [edi + edx*8], 0x7e776f1
je 0x43effb
mov ebx, edx
xor ebx, 1
and edx, 1
lea edx, [ebx + edx*2]
cmp edx, eax
jb 0x43ef30
jmp 0x43f015
xor eax, eax
xor edx, edx
mov dword [ebp - 0x14], 0
cmp edx, dword [ecx]
setb al
xor ebx, ebx
jmp dword [eax*4 + 0x45301c]
mov edi, dword [ebp + 0xc]
mov ecx, esi
call fcn.004426e0
inc ebx
xor eax, eax
mov ecx, dword [ebp - 0x20]
cmp ebx, dword [ecx]
setb al
jmp dword [eax*4 + 0x45301c]
mov eax, dword [ecx + ebx*4 + 4]
mov dword [esi + 0xc], 0
mov dword [esi + 8], 0
mov dword [esi + 4], 0
mov dword [esi], 0
mov ecx, esi
push 0
push eax
call fcn.00442560
xor eax, eax
mov ecx, edi
neg ecx
mov edi, dword [ebp + 0x10]
sbb eax, edi
setl al
movzx eax, al
shl eax, 0x14
or eax, 1
mov ecx, esi
push eax
call fcn.00442580
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x453024]
mov ecx, esi
push edi
mov edi, dword [ebp + 0xc]
push edi
push 0
call fcn.004427a0
test eax, eax
setns al
mov dword [ebp - 0x14], eax
jmp 0x43ef73
mov eax, dword [edi + edx*8 + 4]
cmp eax, ecx
je 0x43f015
push esi
push 1
push dword [0x455708]
push eax
call fcn.00445190
add esp, 0x10
mov eax, dword [ebp - 0x14]
and al, 1
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esp + 0xc]
mov edi, eax
add edi, 2
mov ax, word [eax + 2]
xor ecx, ecx
sub ax, 0x2e
sete cl
mov dword [esp + 0x1a4], ecx
mov eax, dword [esp + 0x1a8]
mov ecx, dword [esp + 0x1a4]
mov eax, dword [eax + ecx*4]
jmp eax
cmp esi, ebp
nop
int1
insb byte es:[edi], dx
dec edx
outsb dx, byte [esi]
and ecx, dword [ebx - 0x7483dbbc]
mov word [eax + eax*4], fs
add byte [eax], al
add byte [ebx - 0x1f007efc], cl
call fcn.0041c5d0
mov eax, edi
not eax
mov ecx, dword [esp + 0xc]
and eax, ecx
not ecx
mov esi, edi
and esi, ecx
sub esi, eax
sar esi, 1
mov eax, esi
and eax, 1
mov ecx, esi
not ecx
and ecx, 0xfffffffe
mov edx, eax
or edx, ecx
not edx
lea ebx, [edx + eax*2]
xor eax, eax
mov ecx, ebx
sub ecx, 1
sete cl
mov dword [esp + 0x2d4], 0
mov edx, dword [esp + 0x2d8]
mov ebp, dword [esp + 0x2d4]
mov edx, dword [edx + ebp*4]
jmp edx
mov ax, word [esi]
test ax, ax
sete bl
mov eax, dword [esp + 0x15c]
mov ecx, dword [esp + 0x160]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, esi
add eax, 4
mov ecx, dword [esp + 0x104]
mov edx, dword [esp + 0x108]
mov ecx, dword [edx + ecx*4]
jmp ecx
mov word [ebx], 0
mov eax, dword [esp + 0xbc]
mov ecx, dword [esp + 0xc0]
mov eax, dword [ecx + eax*4]
mov esi, edi
jmp eax
mov ecx, dword [esp + 0x11c]
mov edx, dword [esp + 0x120]
mov ecx, dword [edx + ecx*4]
mov ebx, eax
jmp ecx
call fcn.0041c5d0
mov dword [esp + 0xd4], 0
mov eax, dword [esp + 0xd8]
mov ecx, dword [esp + 0xd4]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x48], ebx
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0xc]
jmp eax
mov dword [esp], esi
call fcn.0041a940
lea edi, [esi + eax*2]
mov eax, dword [esp + 0x2e4]
mov ecx, dword [esp + 0x2e8]
mov eax, dword [ecx + eax*4]
jmp eax
xor eax, eax
mov ecx, ebx
sub ecx, 3
sete al
mov dword [esp + 0x1cc], eax
mov eax, dword [esp + 0x1d0]
mov ecx, dword [esp + 0x1cc]
mov eax, dword [eax + ecx*4]
jmp eax
mov ax, word [ebp]
xor ecx, ecx
test ax, ax
sete cl
mov dword [esp + 0xb4], ecx
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0xb4]
mov eax, dword [eax + ecx*4]
jmp eax
mov esi, dword [esp + 0xc]
mov edi, esi
add edi, 2
mov eax, dword [esp + 0x2a4]
mov ecx, dword [esp + 0x2a8]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0041c5d0
mov word [ebp], 0
mov dword [esp + 0x304], 0
mov eax, dword [esp + 0x308]
mov ecx, dword [esp + 0x304]
mov eax, dword [eax + ecx*4]
jmp eax
mov al, byte [esp + 0x10]
mov byte [esp + 0x40], al
mov byte [esp + 0x24], 0xe
mov byte [esp + 0x25], 0xc9
mov byte [esp + 0x26], 0x72
mov byte [esp + 0x27], 0xd7
mov byte [esp + 0x28], 0xd4
mov byte [esp + 0x29], 0xd5
mov eax, 6
mov byte [esp + eax + 0x24], 0
add eax, 1
cmp eax, 0xa
jne 0x43fb22
mov dword [esp + 0x18], 0
mov eax, dword [esp + 0x18]
cmp eax, 0xa
jae 0x43fb6c
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
movzx ecx, byte [esp + ecx + 0x24]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00442180
mov ecx, dword [esp + 0x18]
mov byte [esp + ecx + 0x24], al
mov eax, dword [esp + 0x18]
inc eax
mov dword [esp + 0x18], eax
jmp 0x43fb37
mov esi, ebp
add esi, 2
lea eax, [esp + 0x24]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.00440560
xor ecx, ecx
test eax, eax
setne al
mov dword [esp + 0x244], 0
mov edx, dword [esp + 0x248]
mov ebx, dword [esp + 0x244]
mov edx, dword [edx + ebx*4]
mov ebx, dword [esp + 0x14]
jmp edx
mov ebx, dword [esp + 0x14]
mov word [ebx], 0x5c
add ebx, 2
mov edi, dword [esp + 0xc]
add edi, 2
mov eax, dword [esp + 0x2bc]
mov ecx, dword [esp + 0x2c0]
mov eax, dword [ecx + eax*4]
mov ebp, dword [esp + 0x33c]
jmp eax
add eax, 0xfffffffe
mov ecx, dword [esp + 0x114]
mov edx, dword [esp + 0x118]
mov ecx, dword [edx + ecx*4]
jmp ecx
xor eax, eax
mov ecx, ebx
sub ecx, 2
sete al
mov dword [esp + 0x2b4], eax
mov eax, dword [esp + 0x2b8]
mov ecx, dword [esp + 0x2b4]
mov eax, dword [eax + ecx*4]
mov ebp, dword [esp + 0x33c]
jmp eax
call fcn.0041c5d0
mov dword [esp + 0x154], 0
mov eax, dword [esp + 0x158]
mov ecx, dword [esp + 0x154]
mov eax, dword [eax + ecx*4]
mov esi, dword [esp + 0xc]
jmp eax
mov al, cl
and eax, 1
mov dword [esp + 0x25c], eax
mov eax, dword [esp + 0x260]
mov ecx, dword [esp + 0x25c]
mov eax, dword [eax + ecx*4]
jmp eax
mov ax, word [ebp]
mov ecx, dword [esp + 0x19c]
mov edx, dword [esp + 0x1a0]
mov ecx, dword [edx + ecx*4]
jmp ecx
mov al, byte [esp + 0x38]
mov byte [esp + 0x44], al
mov byte [esp + 0x30], 0x4a
mov byte [esp + 0x31], 0x7b
mov byte [esp + 0x32], 0xd6
mov byte [esp + 0x33], 0x79
mov byte [esp + 0x34], pe_nt_image_headers32
mov byte [esp + 0x35], 0x7f
mov eax, 6
mov byte [esp + eax + 0x30], 0
add eax, 1
cmp eax, 8
jne 0x43fd16
mov dword [esp + 0x20], 0
mov eax, dword [esp + 0x20]
cmp eax, 8
jae 0x43fd60
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x20]
movzx ecx, byte [esp + ecx + 0x30]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.004421e0
mov ecx, dword [esp + 0x20]
mov byte [esp + ecx + 0x30], al
mov eax, dword [esp + 0x20]
inc eax
mov dword [esp + 0x20], eax
jmp 0x43fd2b
mov esi, ebp
add esi, 2
lea eax, [esp + 0x30]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.00440560
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 0x16c], ecx
mov eax, dword [esp + 0x170]
mov ecx, dword [esp + 0x16c]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x1f4]
mov ecx, dword [esp + 0x1f8]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0xc]
mov ax, word [eax]
mov ecx, dword [esp + 0x1c4]
mov edx, dword [esp + 0x1c8]
mov ecx, dword [edx + ecx*4]
jmp ecx
movzx eax, al
and eax, 1
mov dword [esp + 0x144], eax
mov eax, dword [esp + 0x148]
mov ecx, dword [esp + 0x144]
mov eax, dword [eax + ecx*4]
mov ebx, dword [esp + 0x14]
jmp eax
mov eax, dword [esp + 0x2fc]
mov ecx, dword [esp + 0x300]
mov eax, dword [ecx + eax*4]
mov ebx, ebp
jmp eax
add esi, 4
mov eax, dword [esp + 0xdc]
mov ecx, dword [esp + 0xe0]
mov eax, dword [ecx + eax*4]
mov edi, esi
jmp eax
mov eax, dword [esp + 0xc]
mov ax, word [eax]
xor ecx, ecx
sub ax, 0x2e
sete cl
mov dword [esp + 0x2ac], ecx
mov eax, dword [esp + 0x2b0]
mov ecx, dword [esp + 0x2ac]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x10c]
mov ecx, dword [esp + 0x110]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x58]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x1dc]
mov ecx, dword [esp + 0x1e0]
mov eax, dword [ecx + eax*4]
jmp eax
mov cl, al
and ecx, 1
mov dword [esp + 0x23c], ecx
mov eax, dword [esp + 0x240]
mov ecx, dword [esp + 0x23c]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0041c5d0
mov dword [esp + 0x30c], 0
mov eax, dword [esp + 0x310]
mov ecx, dword [esp + 0x30c]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0041c5d0
xor eax, eax
mov ecx, ebx
sub ecx, ebp
seta cl
mov dword [esp + 0x264], 0
mov edx, dword [esp + 0x268]
mov esi, dword [esp + 0x264]
mov edx, dword [edx + esi*4]
jmp edx
mov ecx, dword [esp + 0xc4]
mov edx, dword [esp + 0xc8]
mov ecx, dword [edx + ecx*4]
mov ebx, eax
mov ebp, dword [esp + 0x33c]
jmp ecx
mov ecx, dword [esp + 0x28c]
mov edx, dword [esp + 0x290]
mov ecx, dword [edx + ecx*4]
jmp ecx
mov si, word [esi]
mov eax, dword [esp + 0x22c]
mov ecx, dword [esp + 0x230]
mov eax, dword [ecx + eax*4]
jmp eax
add esi, 4
mov eax, dword [esp + 0x1d4]
mov ecx, dword [esp + 0x1d8]
mov eax, dword [ecx + eax*4]
mov edi, esi
jmp eax
call fcn.0041c5d0
mov eax, dword [esp + 0x48]
mov dword [esp + 8], eax
mov dword [esp + 4], ebp
mov dword [esp], ebx
call fcn.00426390
lea eax, [ebx + esi*2]
lea edi, [ebp + esi*2]
mov dword [esp + 0xcc], 1
mov ecx, dword [esp + 0xd0]
mov edx, dword [esp + 0xcc]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov ax, word [ebp]
xor ecx, ecx
sub ax, 0x5c
sete cl
mov dword [esp + 0x164], ecx
mov eax, dword [esp + 0x168]
mov ecx, dword [esp + 0x164]
mov eax, dword [eax + ecx*4]
xor ebx, ebx
jmp eax
mov eax, ebp
add eax, 4
mov cx, word [ebp + 4]
xor edx, edx
test cx, cx
sete dl
mov dword [esp + 0x9c], edx
mov ecx, dword [esp + 0xa0]
mov edx, dword [esp + 0x9c]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x78]
mov eax, dword [ecx + eax*4]
jmp eax
mov dword [esp + 0xc], esi
call fcn.0041c5d0
mov dword [esp + 0x2dc], 0
mov eax, dword [esp + 0x2e0]
mov ecx, dword [esp + 0x2dc]
mov eax, dword [eax + ecx*4]
jmp eax
inc al
movzx eax, al
and eax, 1
mov dword [esp + 0x1fc], eax
mov eax, dword [esp + 0x200]
mov ecx, dword [esp + 0x1fc]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x90]
mov ecx, dword [ecx + eax*4]
mov al, 1
jmp ecx
mov ax, word [ebp]
xor ecx, ecx
sub ax, 0x5c
sete cl
mov dword [esp + 0x234], ecx
mov eax, dword [esp + 0x238]
mov ecx, dword [esp + 0x234]
mov ecx, dword [eax + ecx*4]
xor eax, eax
jmp ecx
mov ecx, dword [esp + 0x214]
mov edx, dword [esp + 0x218]
mov ecx, dword [edx + ecx*4]
jmp ecx
mov eax, dword [esp + 0xc]
mov ax, word [eax]
xor ecx, ecx
sub ax, 0x5c
sete cl
mov dword [esp + 0x2c4], ecx
mov eax, dword [esp + 0x2c8]
mov ecx, dword [esp + 0x2c4]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0041c5d0
movzx eax, si
mov dword [esp + 0x21c], 0
mov ecx, dword [esp + 0x220]
mov edx, dword [esp + 0x21c]
mov ecx, dword [ecx + edx*4]
jmp ecx
sub eax, 0xd5cda870
sbb al, byte [eax - 0x75]
inc esp
and al, 0x5c
mov ecx, dword [esp + 0x60]
mov eax, dword [ecx + eax*4]
jmp eax
push ds
aaa
movsb byte es:[edi], byte [esi]
invalid
call fcn.0041c5d0
mov ax, word [edi]
mov dword [esp + 0x294], 1
mov ecx, dword [esp + 0x298]
mov edx, dword [esp + 0x294]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov ax, word [ebp + 2]
xor ecx, ecx
sub ax, 0x3a
sete cl
mov dword [esp + 0xa4], ecx
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0xa4]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x314]
mov ecx, dword [esp + 0x318]
mov ecx, dword [ecx + eax*4]
xor eax, eax
jmp ecx
mov eax, dword [esp + 0x48]
mov dword [esp + 8], eax
mov dword [esp + 4], ebp
mov dword [esp], ebx
call fcn.00426390
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x50]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0041c5d0
mov dword [esp + 0x26c], 1
mov eax, dword [esp + 0x270]
mov ecx, dword [esp + 0x26c]
mov eax, dword [eax + ecx*4]
jmp eax
add ebx, 0xfffffffe
mov eax, dword [esp + 0x134]
mov ecx, dword [esp + 0x138]
mov ecx, dword [ecx + eax*4]
mov eax, ebx
jmp ecx
mov cx, word [eax]
xor edx, edx
sub cx, 0x5c
sete dl
mov dword [esp + 0x124], edx
mov ecx, dword [esp + 0x128]
mov edx, dword [esp + 0x124]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov ax, word [ebp]
xor ecx, ecx
test ax, ax
sete cl
mov dword [esp + 0x254], ecx
mov eax, dword [esp + 0x258]
mov ecx, dword [esp + 0x254]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x13c]
mov ecx, dword [esp + 0x140]
mov eax, dword [ecx + eax*4]
mov esi, dword [esp + 0xc]
jmp eax
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x70]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0041c5d0
mov dword [esp + 0x24c], 0
mov eax, dword [esp + 0x250]
mov ecx, dword [esp + 0x24c]
mov eax, dword [eax + ecx*4]
jmp eax
mov dword [esp + 0x14], ebx
mov dword [esp], esi
mov dword [esp + 4], 0x5c
call fcn.00440520
mov edi, eax
xor eax, eax
test edi, edi
sete al
mov dword [esp + 0x2ec], eax
mov eax, dword [esp + 0x2f0]
mov ecx, dword [esp + 0x2ec]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0041c5d0
mov al, bl
xor al, 1
mov dword [esp + 0x14c], 0
mov ecx, dword [esp + 0x150]
mov edx, dword [esp + 0x14c]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov al, byte [esp + 0x10]
mov byte [esp + 0x3c], al
mov byte [esp + 0x24], 0xe
mov byte [esp + 0x25], 0xc9
mov byte [esp + 0x26], 0x72
mov byte [esp + 0x27], 0xd7
mov byte [esp + 0x28], 0xd4
mov byte [esp + 0x29], 0xd5
mov eax, 6
mov byte [esp + eax + 0x24], 0
add eax, 1
cmp eax, 0xa
jne 0x4403ef
mov dword [esp + 0x1c], 0
mov eax, dword [esp + 0x1c]
cmp eax, 0xa
jae 0x440439
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
movzx ecx, byte [esp + ecx + 0x24]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00442180
mov ecx, dword [esp + 0x1c]
mov byte [esp + ecx + 0x24], al
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
jmp 0x440404
mov eax, ebp
add eax, 2
lea ecx, [esp + 0x24]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00440560
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x68]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xe8]
mov eax, dword [ecx + eax*4]
mov esi, edi
jmp eax
mov word [ebp], 0x5c
mov word [ebp + 2], 0
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0xb0]
mov eax, dword [ecx + eax*4]
jmp eax
mov word [eax], 0x5c
mov word [ebp + 6], 0
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x98]
mov eax, dword [ecx + eax*4]
jmp eax
add ebx, 0xfffffffe
mov eax, dword [esp + 0x1ec]
mov ecx, dword [esp + 0x1f0]
mov eax, dword [ecx + eax*4]
jmp eax
mov al, cl
and eax, 1
mov dword [esp + 0x2cc], eax
mov eax, dword [esp + 0x2d0]
mov ecx, dword [esp + 0x2cc]
mov eax, dword [eax + ecx*4]
jmp eax
in eax, 0x43
add byte [edi - 0x1b], dl
inc ebx
add byte [eax + 0x6c0043ec], bh
in al, dx
inc ebx
add byte [edx + 0x6c0043e5], ch
in al, dx
inc ebx
add byte [edx], dh
in eax, dx
inc ebx
add byte [esi - 0x1fffbc1b], dh
in eax, 0x43
add byte [ebp - 0x1a1fffbd], bh
inc ebx
add byte [ebx], bl
out 0x43, al
add byte [esi], dl
in al, dx
inc ebx
add al, cl
jmp 0x452f5e
jmp 0x452f8a
add byte [eax], al
add dword [eax], eax
add byte [eax], al
push edi
jmp 4599725
out 0x43, al
add ch, dh
out 0x43, al
add byte [esi + 0x700043e5], dl
in eax, 0x43
add byte [esi - 0x69ffbc1b], al
in eax, 0x43
inc ebx
add byte [ebp - 0x1924ffbd], bl
inc ebx
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [eax - 0x17], bh
inc ebx
add byte [ecx], al
add byte [eax], al
add byte [eax - 0x15], ah
inc ebx
add byte [eax - 0x15], ah
inc ebx
add byte [ecx + 0x600043eb], ch
jmp 0x452ff6
inc ebx
add byte [ecx], al
add byte [eax], al
add al, dl
in eax, dx
inc ebx
add al, dl
in eax, dx
inc ebx
add al, dl
in eax, dx
inc ebx
add dl, dl
in eax, dx
inc ebx
add ah, dh
in eax, dx
inc ebx
add bl, bh
in eax, dx
inc ebx
add byte [edi + 0x510043ee], bh
out dx, eax
inc ebx
add byte [edi - 0x73ffbc12], bh
out dx, eax
inc ebx
add byte [eax - 0x11], dh
inc ebx
add al, ah
out dx, eax
inc ebx
add bl, cl
inc byte [ebx]
push cs
add al, byte [eax + eax - 50]
cli
inc ebx
add byte [ecx + eax - 0x1ddffbc], ah
inc ebx
add byte [ecx + eax - 0x573ffbc], ah
inc ebx
add byte [eax], bh
add eax, dword [eax + eax + 0x6d]
add byte [eax + eax + 0xc], al
cli
inc ebx
add byte [ecx], al
stc
inc ebx
add cl, ch
clc
inc ebx
add ah, bh
add al, 0x44
add cl, ch
clc
inc ebx
add byte [ebp - 4], cl
inc ebx
add byte [edi], bh
add dword [eax + eax + 0x4d], eax
cld
inc ebx
add ah, al
sti
inc ebx
add byte [eax - 6], ch
inc ebx
add byte [edi - 2], cl
inc ebx
add byte [eax - 6], ch
inc ebx
add byte [edx - 0x3effbc06], dh
add dword [eax + eax + 0x60], eax
inc esp
add byte [eax], ah
inc esp
add byte [eax], ah
inc esp
add byte [esi], dh
inc dword [ebx]
pop edi
inc dword [ebx]
push edi
add al, byte [eax + eax + 8]
add eax, dword [eax + eax - 0x12]
inc byte [ebx]
lahf
cld
inc ebx
add dh, ch
inc byte [ebx]
cdq
inc byte [ebx]
mov eax, 0x15004402
add eax, dword [eax + eax - 47]
std
inc ebx
add bh, dh
cli
inc ebx
add ah, al
add eax, dword [eax + eax - 0x54]
inc byte [ebx]
idiv edx
inc ebx
add al, dh
add byte [eax + eax - 0x2f], al
std
inc ebx
add byte [eax + eax - 0xb6ffbc], dl
inc ebx
add byte [edi + 0x69004401], cl
add dword [eax + eax + 0x19], eax
add dword [eax + eax - 0x71], eax
add dword [eax + eax - 0x75], eax
stc
inc ebx
add dh, ah
add al, 0x44
add byte [edx - 0x1bffbc07], bh
std
inc ebx
add byte [edx - 0x46ffbc07], bh
clc
inc ebx
add byte [edx - 0x41ffbc07], bh
cld
inc ebx
add bl, ch
cld
inc ebx
add dh, bl
add al, byte [eax + eax - 0x26]
inc dword [ebx]
fiadd word [edx]
inc esp
add byte [eax - 4], bh
inc ebx
add byte [edi - 7], dl
inc ebx
add byte [edx - 0x73ffbbfd], cl
inc byte [ebx]
invalid