Function at 0x50e48f
Capabilities:
Execute anti-debugging instructions

Disassembly:
mov bp, word [esp + 9]
mov byte [esp + 3], dh
xchg dx, di
mov word [esp], bx
xchg word [esp + 1], cx
or dl, 0xfc
jmp 0x50cff9
xchg dword [esp], esi
mov cx, 0x7e7a
push dword [esp + 6]
mov ebx, dword [esp + 4]
bsf esi, esi
lea eax, [edx*4]
jmp 0x50d00f
mov dword [esp], esp
mov bx, 0x7dd8
not ecx
dec ecx
cmc
adc esi, 0x9baa4279
jmp 0x50d065
mov word [esp], ax
mov ah, 0x92
mov dword [esp], eax
push dword [esp + 4]
lea edx, reloc.USER32.dll_CreateWindowExW
pop eax
jmp 0x50d0a7
lea ecx, reloc.USER32.dll_CreateWindowExW
setg bh
inc ax
pop dword [esp]
bts ecx, edx
cpuid
jmp 0x50d1d2
pop dword [esp + 1]
mov word [esp + 0x1a], bx
pushal
lea esp, [esp + 0x56]
push edi
push word [esp + 3]
jmp 0x50ddba
pushal
lea esp, [esp + 0xf]
pop word [esp + 9]
lea esp, [esp]
pushal
pop word [esp + 0x30]
jmp 0x50dd7b
mov word [esp], dx
lea esp, [esp + 2]
call 0x50ddc8
pop es
pushal
mov dword [esp + 6], edx
call fcn.0050ddfb
inc edi
je 0x50de29
je 0x50de4a
imul ebp, dword [esi + 0x67], reloc.USER32.dll_CreateWindowExW
push edi
add byte [esi - 0x3f1447], ch
jmp 0x50dda5
invalid
je 0x50de0c
jmp 0x50dda5
adc byte [esi - 0x77], ah
push esp
and al, 1
lea esp, [esp + 0x2d]
push ebx
jmp 0x50df51
outsb dx, byte [esi]
insb byte es:[di], dx
dec edi
bound ebp, qword [edx + 0x65]
arpl word [eax + eax - 0xa], si
fcmovbe st(0), st(2)
invalid
neg dl
rol dh, cl
dec dl
mov cx, dx
xchg cx, ax
dec ecx
jmp 0x50d90c
je 0x50de4f
push es
jmp 0x50de43
pushal
pop word [esp + 0x19]
push dword [esp + 0x2b]
lea esp, [esp + 0x41]
je 0x50de70
sub ecx, dword [ebp - reloc.USER32.dll_CreateWindowExW]
add byte ds:[eax], al
add dl, dl
pop esi
int3
and al, 0x41
call fcn.0050de94
rcr byte [esi - 0x34], cl
stosd dword es:[edi], eax
lea bp, [edi]
call fcn.0050de3e
mov byte [esp + 5], ch
lea esp, [esp + 3]
lea esp, [esp + 0x18]
jmp 0x50def9
add byte [eax], al
add byte [esi], dh
and dword [eax - 0x5d], esp
fimul dword [ecx - reloc.USER32.dll_CreateWindowExW]
je 0x50dea3
push ds
lea esp, [esp + 0x13]
pushfd
push word [esp + 6]
jmp 0x50de62
je 0x50deea
js 0x50df10
je 0x50deec
outsd dx, dword [esi]
push eax
jb 0x50df1e
arpl word [ebp + 0x73], sp
jae 0x50deb4
mov esi, 0x245c8966
adc byte [ecx - 0xf8db94], cl
je 0x50dee5
mov word [esp + 0x10], bx
mov dword [esp + 7], ebp
push dword [esp + 0x19]
push dword [esp]
sbb edi, edi
xor al, 0x24
pop dword [esp + 7]
mov word [esp + 3], bx
call fcn.0050de9f
push word [esp + 0x22]
pop dword [esp + 0x16]
mov byte [esp + 0xd], ch
pop word [esp]
mov dword [esp + 0x15], edi
call 0x50df22
inc ebx
jb 0x50df55
jl 0x50df0b
adc eax, 0x35e8
add byte [eax], al
add byte [ebx + 0x72], al
popal
popal
je 0x50df58
inc esi
imul ebp, dword [ebp + 0x57], 0x60006a00
push 0
pushal
mov byte [esp + 0x1c], dh
push word [esp + 0x1e]
mov word [esp + 0x10], dx
jmp 0x50deb5
test eax, 0x2474ff66
push word [esp + 0x10]
mov byte [esp + 0x24], ch
pop word [esp + 0x1c]
adc byte [eax + 0x6624246c], cl
pop dword [esp + 0x1c]
jmp 0x50df25
dec ebx
loop 0x50df3e
insb byte es:[edi], dx
pushfd
jmp 0x50df0c
pop dword [esp + 0x21]
push word [esp + 0xf]
mov dword [esp], edx
mov byte [esp + 0x18], dh
mov byte [esp + 0x1c], ch
lea esp, [esp + 0x2b]
call 0x50e16e
sub al, 2
add byte [eax], al
push edi
jb 0x50dfae
je 0x50dfac
inc ebx
outsd dx, dword [esi]
outsb dx, byte [esi]
jae 0x50dfbb
insb byte es:[edi], dx
push edi
add byte [edi + 0x66], bh
pop dword [esp + 4]
pop word [esp + 4]
add al, 0x88
jl 0x50df7d
mov byte [esp + 4], bh
and al, 4
add al, 0x9c
pushfd
push dword [esp + 0xa]
mov dword [esp + 1], ebp
call 0x50de5d
mov dword [esp], edx
lea esp, [esp + 2]
push word [esp]
mov dword [esp], eax
jmp 0x50df84
add eax, 0x1246c88
jmp 0x50df68
mov dword [esp], edx
call 0x50dfc3
pushal
lea esp, [esp + 0x16]
lea esp, [esp + 0x10]
mov word [esp + 3], si
push dword [esp + 5]
jmp 0x50dffe
add ah, byte [esi - 1]
je 0x50dfd5
push dword [esp + 7]
pop es
lea esp, [esp + 0xb]
push word [esp]
lea esp, [esp + 1]
and al, 1
call 0x50df7e
mov byte [esp + 2], cl
push word [esp + 0xa]
push di
mov dword [esp], edx
pop word [esp + 2]
jmp 0x50df8c
add ch, bl
mov ah, 0x53
je 0x50e021
outsb dx, byte [esi]
dec edi
inc si
imul ebp, dword [ebp], reloc.USER32.dll_CreateWindowExW
push dword [esp + 0xb]
lea esp, [esp + 0xc]
push esi
push word [esp + 3]
jmp 0x50e093
mov word [esp + 2], bx
mov word [esp + 6], di
call 0x50dfe8
inc esi
imul ebp, dword [esi + 0x64], 0x736f6c43
add dl, dh
call 0x50dfe6
push ebx
jns 0x50e093
je 0x50e087
insd dword es:[edi], dx
insd dword es:[edi], dx
push eax
popal
jb 0x50e088
insd dword es:[edi], dx
je 0x50e090
jb 0x50e0a0
dec ecx
outsb dx, byte [esi]
outsw dx, word [esi]
push edi
add al, ch
dec edx
stc
invalid
call 0x4fd982
jmp 0x50e601
outsd dx, dword [esi]
jb 0x50e103
push edi
add bh, al
push ebp
lds ebp, [edi + ebx*2 - 0x7699bb06]
je 0x50e0bb
pop edi
cli
inc esp
mov word [esp + 3], si
lea esp, [esp + 4]
mov dword [esp], eax
add ecx, dword [ebp - reloc.USER32.dll_CreateWindowExW]
add al, 0x24
lea esp, [esp + 3]
and al, 3
lea esp, [esp + 4]
jmp 0x50e033
neg esi
sub dword [eax + 0x46], ecx
jb 0x50e127
inc ebp
outsb dx, byte [esi]
jbe 0x50e130
jb 0x50e138
outsb dx, byte [esi]
insd dword es:[edi], dx
outsb dx, byte gs:[esi]
je 0x50e122
je 0x50e143
imul ebp, dword [esi + 0x67], reloc.USER32.dll_CreateWindowExW
add bh, byte [ebp + 0x45746547]
outsb dx, byte [esi]
jbe 0x50e14a
jb 0x50e152
outsb dx, byte [esi]
insd dword es:[edi], dx
outsb dx, byte gs:[esi]
je 0x50e13c
je 0x50e15d
imul ebp, dword [esi + 0x67], reloc.USER32.dll_CreateWindowExW
jne 0x50e160
je 0x50e15f
inc edx
jns 0x50e16d
push esp
outsd dx, dword [esi]
push edi
imul esp, dword [ebp + 0x43], 0x726168
jb 0x50e105
mov word [edi], ds
push ebx
je 0x50e150
outsb dx, byte [esi]
jbe 0x50e177
jb 0x50e17f
outsb dx, byte [esi]
insd dword es:[edi], dx
outsb dx, byte gs:[esi]
je 0x50e16c
popal
jb 0x50e182
popal
bound ebp, qword [ebp + 0x57]
add byte [edi + 0x69], dl
inc ebx
inc ebx
push 0x6f547261
push esp
outsd dx, dword [esi]
dec ebp
jne 0x50e198
je 0x50e197
inc edx
jns 0x50e1a5
je 0x50e197
add byte gs:[edi + 0x65], al
add byte [edi + 0x65], al
je 0x50e17c
outsb dx, byte [esi]
jbe 0x50e1a3
jb 0x50e1ab
outsb dx, byte [esi]
insd dword es:[edi], dx
outsb dx, byte gs:[esi]
je 0x50e198
popal
jb 0x50e1ae
popal
bound ebp, qword [ebp + 0x57]
add byte [ebp + 0x78], al
jo 0x50e1b0
outsb dx, byte [esi]
inc ebp
outsb dx, byte [esi]
jbe 0x50e1be
jb 0x50e1c6
outsb dx, byte [esi]
insd dword es:[edi], dx
outsb dx, byte gs:[esi]
je 0x50e1b0
je 0x50e1d1
imul ebp, dword [esi + 0x67], reloc.USER32.dll_CreateWindowExW
in al, 0x7a
sbb eax, 0x10911dec
outsb dx, byte [esi]
jae 0x50e1bb
add byte [ebp - 0x1c], dh
jp 0x50e186
in al, dx
sbb eax, 0xe8931091
movsd dword es:[edi], dword [esi]
invalid
adc byte [ebx - 0x15a18], dl
call dword [ebp + 0x72]
insd dword es:[edi], dx
xchg ebx, eax
call 0x50e018
push esp
jb 0x50e1e4
imul ebp, dword [esi + 0x61], reloc.USER32.dll_CreateWindowExW
outsd dx, dword [esi]
push eax
jb 0x50e1ee
arpl word [ebp + 0x73], sp
jae 0x50e184
or ah, byte [ebp + 0x53ee47d4]
aam 0x47
out dx, al
push ebx
je 0x50e1e2
outsb dx, byte [esi]
push 0x6c646e61
inc ebp
js 0x50e1fb
arpl word [ebp + 0x70], sp
je 0x50e205
jo 0x50e20f
imul ebp, dword [edi + 0x6e], reloc.USER32.dll_CreateWindowExW
jb 0x50e1a5
outsd dx, dword [esi]
outsb dx, byte [esi]
inc esi
imul ebp, dword [esp + esi*2 + 0x65], 0xd8f90072
push ebp
outsb dx, byte [esi]
jb 0x50e1a5
stc
fcom dword [ebp + 0x6e]
push 0x6c646e61
outsb dx, byte [esi]
insb byte es:[edi], dx
inc ebp
inc ebp
js 0x50e216
jo 0x50e22a
imul ebp, dword [edi + 0x6e], reloc.USER32.dll_CreateWindowExW
jb 0x50e1c0
insb byte es:[edi], dx
je 0x50e223
jb 0x50e1c0
inc edi
je 0x50e207
jne 0x50e238
jb 0x50e22d
outsb dx, byte [esi]
je 0x50e21b
jb 0x50e23c
arpl word [ebp + 0x73], sp
jae 0x50e21b
dec ecx
add byte fs:[ebx], bh
adc cl, byte [ebp + 0x72657551]
jns 0x50e22d
jb 0x50e246
outsd dx, dword [esi]
jb 0x50e250
insd dword es:[edi], dx
popal
outsb dx, byte [esi]
arpl word [ebp + 0x43], sp
outsd dx, dword [esi]
jne 0x50e259
je 0x50e252
jb 0x50e1ef
add byte [ecx + 0x6e], cl
dec ecx
outsb dx, byte [esi]
imul esi, dword [ecx + ebp*2 + 0x61], reloc.USER32.dll_CreateWindowExW
push ebx
dec esp
imul esi, dword [ebx + 0x74], reloc.USER32.dll_CreateWindowExW
add byte [edi + ebp*2], bl
inc edi
je 0x50e24c
je 0x50e24c
jne 0x50e27d
jb 0x50e272
outsb dx, byte [esi]
je 0x50e264
push esp
push 0x64616572
dec ecx
add byte fs:[ebp + 0x63], al
outsd dx, dword [esi]
push eax
outsd dx, dword [esi]
imul ebp, dword [esi + 0x74], 0x76007265
popal
jb 0x50e226
jbe 0x50e289
mov al, byte [0x72507349]
jae 0x50e27c
jb 0x50e29d
outsd dx, dword [esi]
arpl word [ebp + 0x73], sp
jae 0x50e2a2
jb 0x50e27b
popal
je 0x50e2ae
jne 0x50e2ac
jb 0x50e2a0
push eax
push eax
jb 0x50e2a3
jae 0x50e2a5
outsb dx, byte [esi]
je 0x50e243
push ebx
je 0x50e293
dec esp
popal
jae 0x50e2be
inc ebp
jb 0x50e2bf
jb 0x50e2bd
outsd dx, dword [esi]
jb 0x50e250
mul dword [edi - 9]
xchg edx, eax
popal
ficomp dword [edx]
jne 0x50e2bd
not dword [edx + reloc.USER32.dll_CreateWindowExW]
dec ecx
dec ecx
jae 0x50e2a0
bound esi, qword gs:[ebp + 0x67]
jb 0x50e2b4
jb 0x50e2cb
jae 0x50e2cd
outsb dx, byte [esi]
je 0x50e26b
sbb byte [ebx], 0x8b
out dx, al
sbb eax, 0x47c9feb2
leave
inc edi
je 0x50e2ca
jns 0x50e2ec
je 0x50e2e0
insd dword es:[edi], dx
push esp
imul ebp, dword [ebp + 0x65], reloc.USER32.dll_CreateWindowExW
insb byte es:[edi], dx
push esp
imul ebp, dword [ebp + 0x65], 0x61654c00
add byte gs:[ebp + 0x61], cl
jbe 0x50e2f5
inc ebx
jb 0x50e2fc
je 0x50e2fe
arpl word [ecx + 0x6c], sp
push ebx
arpl word gs:[ecx + ebp*2 + 0x6f], si
outsd dx, dword [esi]
outsb dx, byte [esi]
add byte [eax + 0x45], ch
push 0x65746e45
outsb dx, byte [esi]
je 0x50e30a
jb 0x50e2ea
jb 0x50e312
je 0x50e314
arpl word [ecx + 0x6c], sp
popal
insb byte es:[edi], dx
push ebx
arpl word gs:[ecx + ebp*2 + 0x6f], si
outsb dx, byte [esi]
add byte [ebp + 0x9fa9f0f], bl
movsb byte es:[edi], byte [esi]
and bl, byte [ebp - 0x54]
pop ebp
lodsb al, byte [esi]
inc edi
je 0x50e306
outsd dx, dword [esi]
insd dword es:[edi], dx
insd dword es:[edi], dx
popal
outsb dx, byte [esi]
dec esp
imul ebp, dword [esi + 0x65], reloc.USER32.dll_CreateWindowExW
outsb dx, byte [esi]
push edi
push edi
add byte [ebp + 0x6e], al
arpl word [edi + 0x64], bp
push eax
outsd dx, dword [esi]
imul ebp, dword [esi + 0x74], 0xa8007265
inc ebx
sal dword [esi + reloc.USER32.dll_CreateWindowExW], cl
inc esp
insb byte es:[edi], dx
je 0x50e350
mov dh, 0x45
ljmp 0x656c
inc ebx
inc ebx
jb 0x50e357
je 0x50e359
arpl word [ecx + 0x6c], sp
push ebx
arpl word gs:[ecx + ebp*2 + 0x6f], si
arpl word [ecx + ebp*2 + 0x6f], si
outsb dx, byte [esi]
add byte [edi + 0x65], al
je 0x50e342
je 0x50e342
inc ebx
outsd dx, dword [esi]
insd dword es:[edi], dx
insd dword es:[edi], dx
popal
outsb dx, byte [esi]
dec esp
imul ebp, dword [esi + 0x65], reloc.USER32.dll_CreateWindowExW
sub al, byte [ebp - 0xc]
out 0x52, eax
add byte [eax], dh
xor ebp, dword [edx]
inc ebp
hlt
popal
imul esi, dword [ebx + 0x65], 0x65637845
jo 0x50e390
jae 0x50e37b
inc ebp
js 0x50e37c
jo 0x50e390
imul ebp, dword [edi + 0x6e], reloc.USER32.dll_CreateWindowExW
inc esp
jb 0x50e38f
jbe 0x50e38d
push esp
jns 0x50e39b
push edi
add byte [esi], cl
cdq
clc
invalid
arpl word [ecx + 0x6c], sp
push ebx
arpl word gs:[ecx + ebp*2 + 0x6f], si
outsb dx, byte [esi]
inc ecx
outsb dx, byte [esi]
push ebx
jo 0x50e3bb
outsb dx, byte [esi]
inc ebx
outsd dx, dword [esi]
jne 0x50e3c5
je 0x50e359
inc edi
je 0x50e3a3
imul ebp, dword [ebp + 0x54], reloc.USER32.dll_CreateWindowExW
push edi
jb 0x50e3d1
je 0x50e3cf
inc esi
imul ebp, dword [ebp], reloc.USER32.dll_CreateWindowExW
imul ebp, dword [ebp + 0x49], 0x726f666e
insd dword es:[edi], dx
popal
je 0x50e3e8
outsd dx, dword [esi]
outsb dx, byte [esi]
inc edx
jns 0x50e3cc
popal
outsb dx, byte [esi]
insb byte es:[edi], dx
add byte gs:[esi + 0x69], al
insb byte es:[edi], dx
push esp
imul ebp, dword [ebp + 0x65], reloc.USER32.dll_CreateWindowExW
jae 0x50e40c
insd dword es:[edi], dx
push esp
outsd dx, dword [esi]
push ebx
jns 0x50e40a
je 0x50e3fe
insd dword es:[edi], dx
insd dword es:[edi], dx
push esp
imul ebp, dword [ebp + 0x65], reloc.USER32.dll_CreateWindowExW
imul ecx, dword gs:[esi + 0x61], 0x6d
imul ecx, dword [esi + 0x61], 0x6d
push eax
imul esi, dword [eax + 0x65], 0x74654700
inc esi
jne 0x50e420
insb byte es:[edi], dx
push eax
popal
je 0x50e421
dec esi
popal
insd dword es:[edi], dx
push edi
add byte [ebp + 0x6c], al
je 0x50e42a
inc esi
imul ebp, dword [ebp + 0x57], 0x74654700
push esp
je 0x50e423
imul ebp, dword [ebp + 0x65], reloc.USER32.dll_CreateWindowExW
dec ecx
pop edx
outsd dx, dword [esi]
outsb dx, byte [esi]
dec ecx
outsb dx, byte [esi]
outsw dx, word [esi]
jb 0x50e449
popal
je 0x50e448
outsd dx, dword [esi]
outsb dx, byte [esi]
add byte [esi + 0x69], al
outsb dx, byte [esi]
inc esi
imul esi, dword [edx + 0x73], 0x6c694674
inc ebp
js 0x50e449
jb 0x50e45d
je 0x50e432
imul ebp, dword [ebp + 0x45], reloc.USER32.dll_CreateWindowExW
setbe byte [ecx]
rcl byte [edx + 0x65], 0x6d
add byte [edi + ecx], bh
xchg esi, eax
add eax, eax
push edx
insd dword es:[edi], dx
outsd dx, dword [esi]
jbe 0x50e463
inc esp
imul esi, dword [edx + 0x65], 0x726f7463
jns 0x50e45f
add byte [esi + 0x69], al
outsb dx, byte [esi]
imul ebp, dword [esi + 0x64], reloc.USER32.dll_CreateWindowExW
dec esi
js 0x50e485
inc esi
imul ebp, dword [ebp + 0x57], 0x69784500
je 0x50e46c
jb 0x50e48d
arpl word [ebp + 0x73], sp
jae 0x50e495
jae 0x50e423
add byte [ebx + 0x79], dl
jae 0x50e49b
push ebx
jns 0x50e499
je 0x50e48d
insd dword es:[edi], dx
insd dword es:[edi], dx
push esp
imul ebp, dword [ebp + 0x65], reloc.USER32.dll_CreateWindowExW
push ebx
jo 0x50e499
arpl word [ecx + 0x66], bp
imul esp, dword [ebx + 0x4c], 0x6c61636f
push esp
imul ebp, dword [ebp + 0x65], 0x74655300
inc ebx
outsd dx, dword [esi]
outsb dx, byte [esi]
jae 0x50e4ba
insb byte es:[edi], dx
inc ebx
je 0x50e4c2
insb byte es:[edi], dx
dec eax
popal
outsb dx, byte [esi]
insb byte es:[edi], dx
jb 0x50e459
dec eax
popal
jo 0x50e49f
inc ecx
insb byte es:[edi], dx
insb byte es:[edi], dx
outsd dx, dword [esi]
arpl word [eax], ax
cmp dword [edx], 0x53
je 0x50e4bc
je 0x50e4cf
dec eax
popal
outsb dx, byte [esi]
insb byte es:[edi], dx
add byte gs:[edi + 0x65], al
je 0x50e4c9
je 0x50e4dc
dec eax
popal
outsb dx, byte [esi]
insb byte es:[edi], dx
add byte gs:[edi + 0x65], al
je 0x50e4c6
outsd dx, dword [esi]
outsb dx, byte [esi]
jae 0x50e4f6
insb byte es:[edi], dx
dec ebp
outsd dx, dword [esi]
add byte gs:[0x2474ff66], dl
invalid
invalid
je 0x50e4b7
add byte [0x2474ff66], dl
add esp, dword [esi - 0x79]
int 0x66
xchg dword [esp + 6], ebx
xchg ebp, ecx
xchg word [esp + 6], bx
pop esp
and al, 6
push es
dec dx
jmp 0x50de17
je 0x50e49a
invalid
outsd dx, dword [esi]
insd dword es:[edi], dx
jo 0x50e51f
jb 0x50e525
push ebx
je 0x50e535
jb 0x50e52d
imul ebp, dword [esi + 0x67], reloc.USER32.dll_CreateWindowExW
outsb dx, byte [esi]
push edi
push edi
add byte [edi + 0x70], cl
jo 0x50e530
outsb dx, byte gs:[esi]
outsb dx, byte [esi]
push eax
jb 0x50e53e
arpl word [ebp + 0x73], sp
jae 0x50e528
outsd dx, dword [esi]
imul esp, dword [ebp + 0x6e], 0
mov byte [ebx], ch
inc edx
std
int3
outsd dx, dword [esi]
jb 0x50e566
popal
je 0x50e565
outsd dx, dword [esi]
outsb dx, byte [esi]
add byte [edi - 0x5a], bl
rcl dword [eax + 0x47]
je 0x50e54d
imul ebp, dword [ebp + 0x53], reloc.USER32.dll_CreateWindowExW
js 0x50e511
inc edi
inc esp
dec ecx
xor esi, dword [edx]
insb byte es:[edi], dx
insb byte es:[edi], dx
add byte [ebp + 0x53], cl
push esi
inc ebx
push edx
push esp
insb byte es:[edi], dx
insb byte es:[edi], dx
add bl, dl
inc ebx
outsd dx, dword [esi]
outsb dx, byte [esi]
jbe 0x50e591
jb 0x50e5a2
je 0x50e582
push ebx
imul esp, dword [esp + edx*2 + 0x6f], reloc.USER32.dll_CreateWindowExW
push esp
outsd dx, dword [esi]
push ebx
je 0x50e5a8
jb 0x50e5a0
imul ebp, dword [esi + 0x67], reloc.USER32.dll_CreateWindowExW
add byte [eax + 0x53], dl
outsb dx, byte [esi]
push ebx
imul esp, dword [edi + edx*2], reloc.USER32.dll_CreateWindowExW
push eax
push ebx
inc ecx
push eax
dec ecx
inc esp
dec esp
dec esp
add byte [edx - 0x1b], cl
inc ebx
outsd dx, dword [esi]
outsb dx, byte [esi]
jbe 0x50e5b4
jb 0x50e5c5
push ebx
je 0x50e5c6
imul ebp, dword [esi + 0x67], reloc.USER32.dll_CreateWindowExW
jb 0x50e5c6
je 0x50e5d8
inc esp
jae 0x50e5c6
jb 0x50e5ce
jo 0x50e5db
je 0x50e5d7
outsd dx, dword [esi]
jb 0x50e5be
outsd dx, dword [esi]
push ebx
arpl word gs:[ebp + 0x72], si
imul esi, dword [ecx + edi*2 + 0x44], 0x72637365
imul esi, dword [eax + 0x74], 0x57726f
push ebx
insb byte es:[edi], dx
arpl word gs:[edi + ecx*2 + 0x62], si
push 0x65
arpl word [eax + eax + 0x44], si
insb byte es:[edi], dx
je 0x50e5f7
dec edi
dec edi
bound ebp, qword [edx + 0x65]
arpl word [eax + eax + 0xd], si
xchg esi, eax
add al, 0x63
sahf
aaa
xchg dword [edi + 0x65], eax
inc edi
je 0x50e5e7
je 0x50e5e7
outsd dx, dword [esi]
outsb dx, byte [esi]
jae 0x50e617
insb byte es:[edi], dx
dec edi
jne 0x50e621
jo 0x50e624
je 0x50e5f4
push eax
add byte [ebx + 0x72], al
popal
jb 0x50e61b
popal
je 0x50e61e
inc esi
outsd dx, dword [esi]
outsb dx, byte [esi]
je 0x50e607
outsb dx, byte [esi]
imul esi, dword fs:[edx + 0x65], 0x577463
cmp dword cs:[eax], ebx
push edi
add byte [esi], ch
cmp dword [eax], ebx
jnp 0x50e61e
int 0x53
je 0x50e617
imul ebp, dword [ebp + 0x50], reloc.USER32.dll_CreateWindowExW
jb 0x50e621
outsb dx, byte [esi]
je 0x50e63f
jb 0x50e621
inc ebp
js 0x50e5de
push ebx
dec eax
inc ebp
dec esp
dec esp
xor esi, dword [edx]
insb byte es:[edi], dx
insb byte es:[edi], dx
insb byte es:[edi], dx
add byte [esi - 0x22], al
dec esp
sub esp, esi
push ecx
scasd eax, dword es:[edi]
mov dh, 0xa1
loopne 0x50e63e
dec ecx
push eax
dec eax
dec esp
push eax
inc ecx
push eax
dec ecx
inc esp
dec esp
dec esp
add al, ch
add byte [eax], al
add byte [eax], al
call 0x50e606
add dword [esp], reloc.USER32.dll_CreateWindowExW
jmp 0x50e71b
add al, 0x24
mov dword [ebx], reloc.USER32.dll_CreateWindowExW
add dword [eax], eax
add byte [eax], bh
cmpsd dword [esi], dword es:[edi]
aaa
push edx
mov eax, dword [reloc.USER32.dll_CreateWindowExW]
sub byte [esi - 0x28], al
dec esi
sub eax, ebx
pop edi
mov ch, 0xa4
xlatb
push edx
popal
popal
inc ebx
outsd dx, dword [esi]
outsb dx, byte [esi]
jae 0x50e69a
insb byte es:[edi], dx
push edi
add byte [ebx + 0x74ff13ec], al
and al, 0xe
xor eax, 0xa655eb81
pushal
adc bx, dx
call fcn.0050e678
mov edx, 0x54ba4f28
sbb al, 0x9f
punpckhdq mm3, qword [ecx + 0x7c6d724e]
dec edi
salc
inc ecx
call 0x45335a
popal
jmp 0x50a017