Function at 0x47547c
Capabilities:
Get system information on windows

Disassembly:
push eax
popal
arpl word [ebx + 3], bp
add byte [eax], al
add byte [eax], al
add byte [eax], cl
add byte [edx], al
or al, ch
push edx
inc edi
add byte [eax], al
add byte [ebx + edx*2], al
insb byte es:[edi], dx
add al, byte [eax]
or bh, byte [edx + eax*2 + 0x47]
add byte [ecx], al
add byte [edi], al
dec ecx
jae 0x474c04
insd dword es:[edi], dx
jo 0x474c36
jns 0x474bc6
add byte [edx], al
add byte [0x49668400], dh
add byte [esi], al
push edx
insd dword es:[edi], dx
outsd dx, dword [esi]
jbe 0x474c39
add eax, dword [eax]
test byte [edx + 0x42], dh
add byte [eax], cl
add byte [edx], al
or al, ch
push edx
inc edi
add byte [eax], al
add byte [ebx + edx*2], al
insb byte es:[edi], dx
add al, byte [eax]
adc ah, byte [edx + edi + 0x47]
add byte [ecx], al
add byte [0x756c6156], al
add al, byte gs:[eax]
add al, byte [eax]
dec esp
add byte [esi + 0x520a0049], ah
insd dword es:[edi], dx
outsd dx, dword [esi]
jbe 0x474c6e
dec ecx
je 0x474c71
insd dword es:[edi], dx
add eax, dword [eax]
test byte [edx + 0x42], dh
add byte [eax], cl
add byte [ebx], al
or al, ch
push edx
inc edi
add byte [eax], al
add byte [ebx + edx*2], al
insb byte es:[edi], dx
add al, byte [eax]
adc ah, byte [edx + edi + 0x47]
add byte [ecx], al
add byte [0x756c6156], al
add al, byte gs:[eax]
add byte [ebp*2 + 0x20043], dl
or dword [ecx + ebp*2 + 0x72], eax
arpl word gs:[ecx + ebp*2 + 0x6f], si
inc ebx
add byte [edx], al
add byte [ecx], cl
inc esp
imul esi, dword [edx + 0x65], 0x6f697463
outsb dx, byte [esi]
add al, byte [eax]
add al, byte [eax]
xor eax, 0x4966d400
add byte [esi], al
inc esp
insb byte es:[edi], dx
je 0x474cba
add eax, dword [eax]
add byte [eax], al
add byte [eax], al
or byte [eax], al
add cl, byte [eax]
call fcn.004793b6
add byte [ebx + edx*2], al
insb byte es:[edi], dx
add al, byte [eax]
add byte [edx + esi*2 + 0x10042], al
jb 0x474cb2
add byte [ecx], al
add byte [0x65646e49], al
add dword [eax], eax
add eax, 0x65646e49
js 0x474c7c
add byte [edx], al
add byte [ebx], cl
loopne 0x474ce7
dec ecx
add byte [ebx], cl
inc esp
insb byte es:[edi], dx
je 0x474cef
push edx
popal
outsb dx, byte [esi]
add eax, dword gs:[bx + si]
add byte [eax], al
add byte [eax], al
or byte [eax], al
add ecx, dword [eax]
call fcn.004793f0
add byte [ebx + edx*2], al
insb byte es:[edi], dx
add al, byte [eax]
add byte [edx + esi*2 + 0x10042], al
push es
inc ecx
dec ecx
outsb dx, byte [esi]
js 0x474cb7
js 0x474cb7
add byte [eax], al
test byte [edx + 0x42], dh
add byte [edx], al
add byte [esi], al
inc ecx
inc ebx
outsd dx, dword [esi]
jne 0x474d31
je 0x474cc7
add byte [edx], al
add byte [eax], bl
in al, dx
dec cx
add byte [ebx], cl
inc ebp
js 0x474d46
jb 0x474d35
arpl word [ecx + ecx*2 + 0x74], si
insd dword es:[edi], dx
add eax, dword [eax]
cmp al, byte fs:[edi]
or al, 0
add al, 8
call fcn.0047943b
add byte [eax], al
add byte [ebx + edx*2], al
insb byte es:[edi], dx
add al, byte [eax]
add al, byte [eax]
adc ah, byte [edx + edi + 0x47]
add byte [ecx], al
add byte [0x756c6156], al
add al, byte gs:[eax]
add byte [ebp*2 + 0x20043], dl
or dword [ecx + ebp*2 + 0x72], eax
arpl word gs:[ecx + ebp*2 + 0x6f], si
outsb dx, byte [esi]
add al, byte [eax]
push eax
cmp al, byte fs:[edi]
or byte [eax], al
add dword [ecx], eax
add al, byte [eax]
add al, byte [eax]
inc ecx
add byte [edi], ah
dec ecx
add byte [edi], al
inc ebp
js 0x474d9e
jb 0x474d8d
arpl word [ebx + eax], si
cmp al, byte fs:[edi]
cmp al, byte [edi]
or byte [eax], al
add ecx, dword [eax]
call fcn.0047948f
add byte [ebx], al
or al, ch
push edx
inc edi
add byte [eax], al
add byte [ebx + edx*2], al
insb byte es:[edi], dx
add al, byte [eax]
adc ah, byte [edx + edi + 0x47]
add byte [ecx], al
add byte [0x756c6156], al
cmp al, byte fs:[edi]
add dword [eax], eax
add eax, 0x756c6156
add al, byte gs:[eax]
push eax
cmp al, byte fs:[edi]
add al, byte [eax]
add dword [ecx], eax
add al, byte [eax]
add al, byte [eax]
inc ebx
add byte [eax + 0x67], ch
dec ecx
add byte [ecx], cl
inc ebp
js 0x474ddf
jb 0x474dce
arpl word [ecx + eax*2 + 0x74], si
add eax, dword [eax]
cmp al, byte fs:[edi]
or byte [eax], al
add ecx, dword [eax]
call fcn.004794d2
add byte [ebx + edx*2], al
insb byte es:[edi], dx
add al, byte [eax]
add byte [edx + esi*2 + 0x10042], al
add dword [eax], eax
add eax, 0x65646e49
js 0x474d98
add byte [eax + 0x64], dl
cmp al, byte [edi]
cmp al, byte fs:[edi]
add al, byte [eax]
add dword [ecx], eax
add al, byte [eax]
add al, byte [eax]
dec eax
add al, al
dec ecx
add byte [eax], cl
inc ebp
js 0x474e11
push 0x65676e61
add eax, dword [eax]
add byte [eax], al
add byte [eax], al
or byte [eax], al
add ecx, dword [eax]
call fcn.00479514
add byte [ebx + edx*2], al
insb byte es:[edi], dx
add al, byte [eax]
add byte [edx + esi*2 + 0x10042], al
push es
add byte [ecx], al
add byte [esi], al
dec ecx
outsb dx, byte [esi]
js 0x474e09
add al, byte [eax]
add byte [edx + esi*2 + 0x20042], al
add al, byte [eax]
push es
dec ecx
outsb dx, byte [esi]
js 0x474e1a
add al, byte [eax]
add al, byte [eax]
dec eax
add ah, cl
dec ecx
add byte [ecx*2 + 0x365766f], al
add byte [eax], al
add byte [eax], al
add byte [eax], cl
add byte [ebx], al
or al, ch
push edx
inc edi
add byte [eax], al
add byte [ebx + edx*2], al
insb byte es:[edi], dx
add al, byte [eax]
add byte [edx + esi*2 + 0x10042], al
or byte [ebx + 0x75], al
jb 0x474e63
inc edx
add byte [ecx], al
add byte [eax], cl
inc ebx
jne 0x474e8b
dec ecx
outsb dx, byte [esi]
js 0x474e21
add byte [eax], al
test byte [edx + 0x42], dh
add byte [edx], al
add byte [eax], cl
dec esi
ja 0x474e75
outsb dx, byte [esi]
js 0x474e33
add byte [edx], al
add byte [eax], dh
add al, bl
dec ecx
add byte [0x73726946], al
je 0x474e44
add byte [edx + edi + 0x47], ah
inc edi
add byte [eax], cl
add byte [edx], al
or al, ch
push edx
inc edi
add byte [eax], al
add byte [ebx + edx*2], al
insb byte es:[edi], dx
add al, byte [eax]
push eax
cmp al, byte fs:[edi]
add dword [eax], eax
add dword [ecx], eax
add al, byte [eax]
add al, byte [eax]
das
add byte [edi], ch
add byte [eax], ah
push 0x4c040049
popal
jae 0x474ee3
add eax, dword [eax]
cmp al, byte fs:[edi]
or byte [eax], al
add cl, byte [eax]
call fcn.004795d0
add byte [ebx + edx*2], al
insb byte es:[edi], dx
add al, byte [eax]
push eax
cmp al, byte fs:[edi]
add dword [eax], eax
add dword [ecx], eax
add al, byte [eax]
add al, byte [eax]
and eax, 0x49687000
add byte [0x61656c43], al
jb 0x474ea3
add byte [eax], al
add byte [eax], al
add byte [eax], cl
add byte [ecx], al
or al, ch
push edx
inc edi
add byte [eax], al
add byte [eax], al
or byte [eax], al
add dword [eax], ecx
call 0x479600
add byte [ebx + edx*2], al
insb byte es:[edi], dx
add al, byte [eax]
add al, byte [eax]
add byte es:[eax + ebp*2 + 0x49], bh
add byte [esi], al
inc ebp
js 0x474f32
popal
outsb dx, byte [esi]
add eax, dword fs:[eax]
call 0x847961e
add byte [ecx], al
or al, ch
push edx
inc edi
add byte [eax], al
add byte [ebx + edx*2], al
insb byte es:[edi], dx
add al, byte [eax]
add al, byte [eax]
aaa
add byte [eax + ebp*2 + 0x43080049], ah
add byte [eax], cl
inc ebx
outsd dx, dword [esi]
outsb dx, byte [esi]
je 0x474f4b
imul ebp, dword [esi + 0x73], 0x71e80003
inc edx
add byte [eax], cl
add byte [edx], al
or al, ch
push edx
inc edi
add byte [eax], al
add byte [ebx + edx*2], al
insb byte es:[edi], dx
add al, byte [eax]
adc ah, byte [edx + edi + 0x47]
add byte [ecx], al
add byte [0x756c6156], al
add al, byte gs:[eax]
add al, byte [eax]
add al, cl
push 0x49070049
outsb dx, byte [esi]
js 0x474f71
add ax, word [eax]
test byte [edx + 0x42], dh
add byte [eax], cl
add byte [edx], al
or al, ch
push edx
inc edi
add byte [eax], al
add byte [ebx + edx*2], al
insb byte es:[edi], dx
add al, byte [eax]
adc ah, byte [edx + edi + 0x47]
add byte [ecx], al
add byte [0x756c6156], al
add al, byte gs:[eax]
add al, byte [eax]
dec ebp
add al, ch
push 0x490b0049
outsb dx, byte [esi]
js 0x474fa7
dec cx
je 0x474fc1
insd dword es:[edi], dx
add eax, dword [eax]
test byte [edx + 0x42], dh
add byte [eax], cl
add byte [ebx], al
or al, ch
push edx
inc edi
add byte [eax], al
add byte [ebx + edx*2], al
insb byte es:[edi], dx
add al, byte [eax]
adc ah, byte [edx + edi + 0x47]
add byte [ecx], al
add byte [0x756c6156], al
add al, byte gs:[eax]
add byte [ebp*2 + 0x20043], dl
or dword [ecx + ebp*2 + 0x72], eax
arpl word gs:[ecx + ebp*2 + 0x6f], si
outsb dx, byte [esi]
add al, byte [eax]
add al, byte [eax]
cmp al, byte [eax]
sbb byte [ecx + 0x49], ch
add byte [ebx], cl
dec esp
popal
jae 0x475017
dec ecx
outsb dx, byte [esi]
js 0x474ff8
js 0x474ff8
add ax, word [eax]
test byte [edx + 0x42], dh
add byte [eax], cl
add byte [edx], al
or al, ch
push edx
inc edi
add byte [eax], al
add byte [ebx + edx*2], al
insb byte es:[edi], dx
add al, byte [eax]
adc ah, byte [edx + edi + 0x47]
add byte [ecx], al
add byte [0x756c6156], al
add al, byte gs:[eax]
add al, byte [eax]
daa
add byte [eax], bh
imul ecx, dword [ecx], 0x76655207
jb 0x475052
add eax, dword gs:[eax]
add byte [eax], al
add byte [eax], al
or byte [eax], al
add dword [eax], ecx
call fcn.00479741
add byte [ebx + edx*2], al
insb byte es:[edi], dx
add al, byte [eax]
add al, byte [eax]
and al, 0
add byte [eax + eax], ah
inc esp
imul ecx, dword [ecx], 0x726f5304
je 0x475008
add byte [eax], al
add byte [eax], al
add byte [eax], cl
add byte [ecx], al
or al, ch
push edx
inc edi
add byte [eax], al
add byte [eax], al
or byte [eax], al
add dword [eax], ecx
call 0x479765
add byte [ebx + edx*2], al
insb byte es:[edi], dx
insb byte es:[edi], dx
add al, byte [eax]
add al, byte [eax]
aaa
add byte [eax + 0x69], ch
dec ecx
add byte [ebx + edx*2], al
outsd dx, dword [esi]
jb 0x47509c
add eax, dword [eax]
add byte [eax], al
add byte [eax], al
or byte [eax], al
add cl, byte [eax]
call fcn.00479789
add byte [ebx + edx*2], al
insb byte es:[edi], dx
add al, byte [eax]
or ch, byte [eax + 0x1004740]
add byte [ecx], cl
inc ecx
inc ebx
outsd dx, dword [esi]
insd dword es:[edi], dx
jo 0x4750ae
jb 0x4750b4
jb 0x475053
add byte [edx], al
add al, byte [eax]
push ebp
add byte [ecx + ebp*2 + 0x53040049], cl
add byte [ebp], dl
mov word [ecx + 0x49], gs
add byte [ebx + edx*2], al
outsd dx, dword [esi]
jb 0x4750d3
add eax, dword [eax]
add byte [eax], al
add byte [eax], al
or al, 0
add al, 8
call fcn.004797c0
add byte [ebx + edx*2], al
insb byte es:[edi], dx
add al, byte [eax]
or ch, byte [eax + 0x1004740]
add byte [ecx], cl
inc ecx
inc ebx
outsd dx, dword [esi]
insd dword es:[edi], dx
jo 0x4750e5
jb 0x4750eb
jb 0x47508a
add byte [eax], al
test byte [edx + 0x42], dh
add byte [edx], al
add byte [0x65646e49], al
js 0x475099
add byte [eax], al
test byte [edx + 0x42], dh
add byte [eax], cl
add byte [0x6e756f43], al
je 0x4750a8
add byte [edx], al
add byte [esi], cl
mov esp, 0xc004969
inc edx
add byte [edx + eax*2], cl
imul ebp, dword [esi + 0x61], 0x65537972
popal
jb 0x47512f
push ebx
popal
jb 0x47511e
push 0x71e80003
inc edx
add byte [eax], cl
add byte [ebx], al
or al, ch
push edx
inc edi
add byte [eax], al
add byte [ebx + edx*2], al
insb byte es:[edi], dx
add al, byte [eax]
adc ah, byte [edx + edi + 0x47]
add byte [ecx], al
add byte [ecx + ecx*2], al
je 0x475143
insd dword es:[edi], dx
add al, byte [eax]
and byte [edx + esi*2 + 0x20042], al
or al, byte [esi + 0x6f]
add byte [edx], al
add byte [edx], cl
inc esi
outsd dx, dword [esi]
jne 0x47515b
dec ecx
outsb dx, byte [esi]
js 0x4750f6
add byte [edx], al
add byte [ecx], ah
hlt
add al, byte [eax]
adc ah, byte [edx + edi + 0x47]
add byte [ecx], al
add byte [ecx + ecx*2], al
je 0x475191
insd dword es:[edi], dx
add al, byte [eax]
and byte [edx + esi*2 + 0x20042], al
or al, byte [esi + 0x6f]
jne 0x4751a9
dec ecx
outsb dx, byte [esi]
js 0x475144
add byte [edx], cl
or ch, byte [eax + 0x8004740]
test al, 0x40
inc edi
add byte [eax], cl
add byte [ecx], cl
inc ecx
inc ebx
outsd dx, dword [esi]
insd dword es:[edi], dx
jo 0x4751b2
jb 0x4751b8
jb 0x475157
add byte [edx], al
add byte [edi], bh
xor byte [edx + 0x49], ch
push 0x49
add byte [edx + eax*2], cl
imul ebp, dword [esi + 0x61], 0x65537972
popal
jb 0x4751cd
push 0x71e80003
inc edx
add byte [eax + eax], dl
push es
or al, ch
push edx
inc edi
add byte [eax], al
add byte [ebx + edx*2], al
insb byte es:[edi], dx
add al, byte [eax]
adc ah, byte [edx + edi + 0x47]
add byte [ecx], al
add byte [ecx + ecx*2], al
je 0x4751f2
insd dword es:[edi], dx
add al, byte [eax]
and byte [edx + esi*2 + 0x20042], al
or al, byte [esi + 0x6f]
test byte [edx + 0x42], dh
add byte [edx], al
add byte [edx], cl
inc esi
outsd dx, dword [esi]
jne 0x47520a
dec ecx
outsb dx, byte [esi]
js 0x4751a5
add byte [edx], cl
test al, 0x40
inc edi
add byte [eax], dl
add byte [ecx], cl
inc ecx
inc ebx
adc byte [eax], al
or dword [ecx + 0x43], eax
outsd dx, dword [esi]
insd dword es:[edi], dx
jo 0x475213
jb 0x475219
jb 0x4751b8
add byte [eax], al
test byte [edx + 0x42], dh
add byte [eax + eax], cl
add eax, 0x65646e49
js 0x4751c7
add byte [eax], al
test byte [edx + 0x42], dh
add byte [eax], cl
add byte [0x6e756f43], al
add eax, 0x6e756f43
je 0x4751d6
add byte [edx], al
add byte [edx], ch
add byte [eax + 0x6a], dh
dec ecx
add byte [edx], cl
push esp
jb 0x47524a
insd dword es:[edi], dx
inc ebp
js 0x475248
jae 0x47525b
add eax, dword [eax]
add byte [eax], al
add byte [eax], al
or byte [eax], al
add dword [eax], ecx
call 0x479949
add byte [ebx + edx*2], al
insb byte es:[edi], dx
add al, byte [eax]
add al, byte [eax]
xor al, byte [eax]
jl 0x47526f
dec ecx
add byte [edi], al
push esp
outsd dx, dword [esi]
inc ecx
jb 0x47527f
popal
jns 0x475213
add byte [eax], al
cmp eax, 0x80047
add cl, byte [eax]
inc edi
add byte [eax], cl
add byte [edx], al
or al, ch
push edx
inc edi
add byte [eax], al
call fcn.00479970
add byte [ebx + edx*2], al
insb byte es:[edi], dx
add al, byte [eax]
inc eax
add byte [0x10047], bh
add dword [ecx], eax
add al, byte [eax]
add al, byte [eax]
sub eax, 0x496a9000
add byte [0x45746547], cl
outsb dx, byte [esi]
jne 0x4752ae
jb 0x4752a5
je 0x4752b5
jb 0x47524b
add byte [esp + eax*2], ah
inc esp
inc edi
add byte [eax], cl
add byte [ecx], al
or al, ch
push edx
inc edi
add byte [eax], al
add byte [ebx + edx*2], al
insb byte es:[edi], dx
add al, byte [eax]
add al, byte [eax]
inc ecx
add byte [eax + 0x60], dl
dec ecx
add byte [edi], al
inc edi
je 0x4752b4
je 0x4752d2
insd dword es:[edi], dx
add eax, dword [eax]
cmp al, byte fs:[edi]
or byte [eax], al
add ecx, dword [eax]
call fcn.004799cf
add byte [edx + edi + 0x47], ah
add byte [eax], cl
add byte [ebx], al
or al, ch
push edx
inc edi
add byte [eax], al
add byte [ebx + edx*2], al
push ebx
insb byte es:[edi], dx
add al, byte [eax]
add byte [edx + esi*2 + 0x10042], al
add eax, 0x65646e49
js 0x475295
add byte [eax + 0x64], dl
cmp al, byte [edi]
cmp al, byte fs:[edi]
add al, byte [eax]
add dword [ecx], eax
add al, byte [eax]
add al, byte [eax]
inc ebp
add byte [eax + 0x60], bh
dec ecx
add byte [edi], al
push ebx
je 0x4752f5
je 0x475313
insd dword es:[edi], dx
add eax, dword [eax]
add byte [eax], al
add byte [eax], al
add byte [eax], cl
add byte [ebx], al
or al, ch
push edx
inc edi
add byte [eax], al
or byte [eax], al
add ecx, dword [eax]
call 0x479a10
add byte [ebx + edx*2], al
insb byte es:[edi], dx
add al, byte [eax]
add byte [edx + esi*2 + 0x10042], al
add eax, 0x65646e49
js 0x4752d6
add byte [edx], dl
cmp al, byte fs:[edi]
add al, byte [eax]
add eax, 0x756c6156
add al, byte gs:[eax]
add al, byte [eax]
nop
nop
in al, dx
push edx
inc edi
add byte [edi], al
sub dword [esp + ecx*2 + 0x69], edx
jae 0x475367
cmp al, 0x53
jns 0x47536a
je 0x47535e
insd dword es:[edi], dx
push edx
je 0x475372
imul ebp, dword [esi], 0x69725054
jbe 0x475367
je 0x47536d
dec eax
popal
jo 0x47533b
push esp
dec eax
popal
jo 0x47535c
je 0x47537a
insd dword es:[edi], dx
adc byte ds:[ebp + 0x47], al
add al, bl
aas
inc edi
add byte [eax], al
add byte [ebx], bl
push ebx
jns 0x475398
jae 0x47539a
je 0x47538c
insd dword es:[edi], dx
insd dword es:[edi], dx
inc edi
outsb dx, byte gs:[esi]
jb 0x475398
arpl word [ebx + 0x2e], si
inc ebx
outsd dx, dword [esi]
insb byte es:[edi], dx
insb byte es:[edi], dx
arpl word gs:[ecx + ebp*2 + 0x6f], si
outsb dx, byte [esi]
jae 0x47533e
add byte [esi], al
add byte [edx], al
jl 0x475397
inc edi
add byte [edx], al
add byte [edx], al
lahf
push ebx
inc edi
add byte [edx], al
add byte [edx], al
mov edi, 0x2004753
add byte [edx], al
ficom word [ebx + 0x47]
add byte [edx], al
add byte [edx], al
invalid
inc edi
add byte [edx], al
add byte [edx], al
add byte [ecx], al
add byte [0x2e002d], al
add dword [eax], eax
add eax, 0x2e002d
add byte cs:[0x6d657449], al
add eax, 0x6d657449
jae 0x47537d
add al, byte [eax]
test byte [edx + 0x42], dh
add byte [edx + esi*2 + 0x60100042], al
jb 0x4753c1
add byte [eax], dl
pushal
dec ecx
add byte [eax], ah
pushal
dec ecx
add byte [ecx], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax + 0x4308ffff], al
add byte [eax], al
add byte [eax - 0x80000000], al
invalid
inc ebx
popal
jo 0x4753fc
popal
arpl word [ecx + 0x74], bp
jns 0x475324
jb 0x4753e4
add byte [eax], cl
add byte [eax], al
inc dword [eax + 0x49]
add byte [ecx], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax + 0x4305ffff], al
outsd dx, dword [esi]
jne 0x47542c
je 0x4753fc
inc eax
inc edi
add al, dh
pop edi
dec ecx
add byte [eax], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax + 0x4c04ffff], al
imul esi, dword [ebx + 0x74], 0x4741e4
or al, 0x60
dec ecx
add byte [eax], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax + 0x5005ffff], al
dec esp
imul esi, dword [ebx + 0x74], 0x4740a8
sbb al, 0
jae 0x475472
test al, 0x40
inc edi
add byte [eax + eax], bl
add bh, bh
add byte [eax], al
add byte [eax], al
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax - 0x80000000], al
invalid
add byte [ecx], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax + 0x4f08ffff], al
outsb dx, byte [esi]
dec esi
outsd dx, dword [esi]
je 0x4754ab
jns 0x4753c8
cmp eax, 0x516e0c
add byte [ebp + 0x29], dh
mov dl, 1
mov eax, dword [0x473ab4]
call 0x47547c
mov edx, eax
xor eax, eax
lock cmpxchg dword [0x516e0c], edx
test eax, eax
jne 0x47546f
xor eax, eax
mov edx, eax
jmp 0x475476
mov eax, edx
call fcn.0042e2f8
or byte [esi + 0xca1fffb], 0x6e
push ecx
add bl, al
push ebp
mov ebp, esp
add esp, 0xffffffdc
push ebx
push esi
test dl, dl
je 0x475490
mov eax, dword [0x516e0c]
ret
add esp, 0xfffffff0
call fcn.0042e8ec
mov ebx, edx
mov esi, eax
mov dl, 1
mov eax, dword [0x46f518]
call fcn.00493388
mov dword [esi + 4], eax
mov dl, 1
mov eax, dword [0x4744b8]
call fcn.00496158
mov dword [esi + 8], eax
mov dl, 1
mov eax, dword [0x4744b8]
call fcn.00496158
mov dword [esi + 0xc], eax
test eax, 0x8900020c
inc esi
or byte [edx + 0x44b8a101], dh
inc edi
add al, ch
lcall 0xc46, 0x8900020c
lea eax, [ebp - 0x24]
push eax
call sub.KERNEL32.DLL_GetSystemInfo
mov eax, dword [ebp - 0x20]
mov dword [esi + 0x10], eax
mov eax, esi
test bl, bl
je 0x4754e5
call fcn.0042e944
pop dword fs:[0]
add esp, 0xc
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret