Function at 0x418690
Capabilities:
Encode data using xor

Disassembly:
sub esp, 0x20
mov eax, dword [0x41b004]
add eax, 1
push ebx
mov ecx, eax
and ecx, 0xff
push ebp
push esi
lea edx, [ecx*4 + 0x41b610]
mov ecx, dword [0x41b014]
mov esi, ecx
and esi, 0xff
mov esi, dword [esi*4 + 0x41b610]
add dword [edx], esi
push edi
mov dword [esp + 0x10], 0
add byte [eax], al
jne 0x4186d2
je 0x4186d4
push dword [ebx + eax - 0x75]
cmp eax, 0x41b024
je 0x4186d7
mov edi, dword [0x41b024]
mov al, 0x41
add byte [ebx - 0x367afe40], al
add eax, 1
test ecx, ecx
je 0x4186eb
jmp 0x4186e6
sub eax, 1
jmp 0x4186f4
add ebx, ebp
or dword [ebx + 0x750374cf], ecx
add esp, dword [edx + 0x358bf475]
mov ecx, edi
je 0x4186f2
jne 0x4186f4
mov byte [0x358bf475], al
jne 0x4186e8
mov esi, dword [0x41b034]
imul edi, eax
xor al, 0xb0
inc ecx
add byte [edi], cl
scasd eax, dword es:[edi]
clc
sub esi, dword [0x41b038]
mov ebp, dword [0x41b044]
add eax, 1
cmp ebp, esi
mov al, 0x41
add byte [ebx + 0x41b0442d], cl
add byte [ebx - 0x11c4fe40], al
jle 0x41871e
jne 0x418715
je 0x418717
inc eax
je 0x4186cb
mov edx, ebp
xor edx, edi
imul eax, edx
add eax, 1
add ecx, 1
je 0x418730
mov edi, edi
sub eax, 1
jmp 0x418739
mov ecx, edi
je 0x418737
jne 0x418739
xchg dword [ebp - 0x39], esi
jne 0x418700
add eax, 1
mov edx, eax
mov ebx, ecx
and edx, 0xff
and ebx, 0xff
mov ebx, dword [ebx*4 + 0x41b610]
add dword [edx*4 + 0x41b610], ebx
lea edx, [edx*4 + 0x41b610]
je 0x418766
jne 0x418768
in al, dx
jne 0x4187d5
add eax, 1
test ecx, ecx
je 0x418779
jmp 0x418774
sub eax, 1
jmp 0x418782
mov ecx, edi
je 0x418780
jne 0x418782
lodsd eax, dword [esi]
jne 0x418786
xor ebx, ebx
sub esi, dword [0x41b038]
imul edi, eax
cmp byte [eax - 0x50f0ffbf], dh
clc
add eax, 1
cmp ebp, esi
jle 0x4187a2
jne 0x418799
je 0x41879b
dec edi
je 0x4187c7
mov edx, ebp
xor edx, edi
imul eax, edx
mov dx, word [ebx + 0x41b070]
xor dx, 0xfadb
mov word [ebx + 0x41b108], dx
add ebx, 2
add eax, 1
test dx, dx
je 0x4187da
xor edx, 0x8966fadb
xchg ebx, eax
or byte [ecx - 0x3c7cffbf], dh
add al, byte [ebx - 0x7a99fe40]
sal byte [edx + ebx - 0x7d], cl
rol dword [ecx], 0x74
or dh, byte [esi]
xchg ebp, ebp
add ecx, 1
je 0x4187cf
xchg ebp, ebp
xchg ebp, ebp
sub eax, 1
jmp 0x418784
mov ecx, edi
je 0x4187d6
jne 0x4187d8
in eax, 0x75
sbb al, 0xeb
stosb byte es:[edi], al
jne 0x4187f4
jmp 0x418784
add ecx, 1
je 0x4187e9
mov ebp, ebp
sub eax, 1
jmp 0x4187f2
mov ecx, edi
je 0x4187f0
jne 0x4187f2
jne 0x418855
jne 0x418855
add eax, 1
add ecx, 1
je 0x418804
add dword [ebx + 0xa7401c1], eax
xchg ebx, ebx
sub eax, 1
jmp 0x41880d
mov ecx, edi
jne 0x41880b
je 0x41880d
dec esi
je 0x4187aa
add eax, 1
mov edx, eax
mov ebx, ecx
and edx, 0xff
and ebx, 0xff
mov ebx, dword [ebx*4 + 0x41b610]
add dword [edx*4 + 0x41b610], ebx
lea edx, [edx*4 + 0x41b610]
je 0x41883a
inc ecx
add byte [ebx + eax + 0x75], dh
jne 0x41883c
add ecx, dword [esi - 0x3f7c038b]
add dword [ebp - 0x14f58b37], eax
add edi, edi
and eax, 0x1e88327
invalid
jne 0x418838
add eax, 1
test ecx, ecx
je 0x41884d
jmp 0x418848
sub eax, 1
jmp 0x418856
mov ecx, edi
jne 0x418854
je 0x418856
and dh, byte [edi + esi + 0x33]
fucomi st(3)
push es
lea ebx, [ebx]
je 0x41888d
aaa
xor ebx, ebx
jmp 0x418860
mov dl, byte [ebx + 0x41b098]
xor dl, 0xaf
mov byte [ebx + 0x41b208], dl
add ebx, 1
test dl, dl
jne 0x418860
sub esi, dword [0x41b038]
imul edi, eax
add eax, 1
cmp ebp, esi
jle 0x418894
jne 0x41888b
je 0x41888d
xchg ecx, eax
je 0x418900
mov edx, ebp
xor edx, edi
imul eax, edx
scasd eax, dword es:[edi]
ret 0xc083
add eax, 1
add ecx, 1
je 0x4188a6
jmp 0x4188a1
sub eax, 1
jmp 0x4188af
mov ecx, edi
je 0x4188ad
jne 0x4188af
test al, 0x75
jecxz 0x418833
jne 0x418892
add eax, 1
add ecx, 1
je 0x4188c1
rol byte [ecx], 0x83
rol dword [ecx], 0x74
or ch, bl
jmp 0x4188bc
add edi, edi
adc eax, 0x1e883d9
sub eax, 1
jmp 0x4188ca
mov ecx, edi
jne 0x4188c8
je 0x4188ca
mov eax, 0xc083ee74
add dword [ebx - 0x7e2f7427], ecx
loop 0x4188d3
je 0x4188b8
add eax, 1
mov ebx, ecx
mov edx, eax
and edx, 0xff
inc dword [eax]
add byte [eax], al
add byte [eax], al
add byte [ecx + 0xffe3], al
add byte [ebx - 0x49ef62e4], cl
inc ecx
add byte [ecx], al
sbb al, 0x95
adc byte [esi + 0x148d0041], dh
xchg ebp, eax
adc byte [esi - 0x167cffbf], dh
add dword [ebx + eax + 0x75], esi
add ebp, edi
and ebx, 0xff
mov ebx, dword [ebx*4 + 0x41b610]
add dword [edx*4 + 0x41b610], ebx
lea edx, [edx*4 + 0x41b610]
sub ecx, 1
je 0x4188fa
jne 0x4188fc
out dx, eax
jne 0x418943
xor ebx, ebx
mov edi, edi
mov dl, byte [ebx + 0x41b0ac]
xor dl, 0xaf
mov byte [ebx + 0x41b288], dl
add ebx, 1
test dl, dl
jne 0x418900
add eax, 1
add ecx, 1
je 0x418928
mov ebx, ebx
sub eax, 1
jmp 0x418931
mov ecx, edi
je 0x41892f
jne 0x418931
add al, 0x75
cmp al, byte [ebx - 0x3e7cfe40]
add dword [edx + ecx + 0x64], esi
xchg ebp, ebp
jne 0x41896b
add eax, 1
add ecx, 1
je 0x418943
xchg ebp, ebp
sub eax, 1
jmp 0x41894c
mov ecx, edi
jne 0x41894a
je 0x41894c
ljmp 0x8b01:0xc0834a74
je 0x418996
add eax, 1
mov edx, eax
mov ebx, ecx
and edx, 0xff
and ebx, 0xff
mov ebx, dword [ebx*4 + 0x41b610]
add dword [edx*4 + 0x41b610], ebx
lea edx, [edx*4 + 0x41b610]
jne 0x418979
mov dh, 0x41
add byte [ecx], al
sbb al, 0x95
adc byte [esi + 0x148d0041], dh
xchg ebp, eax
adc byte [esi + 0x3750041], dh
inc ecx
add byte [ebp - 0x49ef6aec], cl
inc ecx
add byte [ebp + 3], dh
je 0x41897b
ja 0x4189ee
je 0x4189c0
inc ebp
add eax, 1
test ecx, ecx
je 0x41898c
jmp 0x418987
sub eax, 1
jmp 0x418995
mov ecx, edi
jne 0x418993
je 0x418995
add eax, 0xdb33ce74
je 0x418963
xor ebx, ebx
fucomi st(3)
pop es
lea esp, [esp]
jmp 0x4189a0
mov dl, byte [ebx + 0x41b04c]
xor dl, 0xaf
mov byte [ebx + 0x41b308], dl
add ebx, 1
test dl, dl
jne 0x4189a0
add eax, 1
mov ebx, ecx
mov edx, eax
and edx, 0xff
and ebx, 0xff
add byte [eax], al
add byte [ecx + 0xffe3], al
add byte [eax], al
add byte [ebx - 0x49ef62e4], cl
inc ecx
mov ebx, dword [ebx*4 + 0x41b610]
add dword [edx*4 + 0x41b610], ebx
lea edx, [edx*4 + 0x41b610]
sub ecx, 1
je 0x4189e6
mov dh, 0x41
add byte [ecx], al
sbb al, 0x95
adc byte [esi + 0x148d0041], dh
xchg ebp, eax
adc byte [esi - 0x167cffbf], dh
add dword [ebx + eax + 0x75], esi
add esi, eax
jne 0x4189e8
invalid
jne 0x4189c8
imul edi, eax
mov ebx, dword [0x41b038]
sub esi, ebx
add eax, 1
mov al, 0x41
add byte [ebx], ch
add eax, 1
cmp ebp, esi
mov edx, edi
jle 0x418a0a
jne 0x418a01
je 0x418a03
int 0x74
les ecx, [ebx + 0xffa33fd]
scasd eax, dword es:[edi]
invalid
je 0x4189c7
mov edi, ebp
xor edi, edx
imul eax, edi
imul edx, eax
sub esi, ebx
add eax, 1
cmp ebp, esi
jle 0x418a24
jne 0x418a1b
je 0x418a1d
sal byte [esi + eax*2 - 0x75], 0xfd
je 0x418a63
mov edi, ebp
xor edi, edx
imul eax, edi
imul edx, eax
sub esi, ebx
add eax, 1
cmp ebp, esi
mov edi, edx
jle 0x418a40
je 0x418a37
jne 0x418a39
lea esi, [ebp - 0x6c]
jne 0x4189cd
mov edx, ebp
xor edx, edi
imul eax, edx
xor ebx, ebx
jmp 0x418a50
mov dl, byte [ebx + 0x41b060]
xor dl, 0xaf
mov byte [ebx + 0x41b388], dl
add ebx, 1
test dl, dl
jne 0x418a50
sal byte [ebp - 0x16], cl
add eax, 1
add ecx, 1
je 0x418a78
xchg edx, edx
sub eax, 1
jmp 0x418a81
mov ecx, edi
jne 0x418a7f
je 0x418a81
dec esp
je 0x418aca
add eax, 1
mov ebx, ecx
mov edx, eax
and edx, 0xff
and ebx, 0xff
mov ebx, dword [ebx*4 + 0x41b610]
add dword [edx*4 + 0x41b610], ebx
lea edx, [edx*4 + 0x41b610]
sub ecx, 1
mov dword [0x41ba2c], 0
mov dword [0x41b014], ecx
je 0x418ac1
jne 0x418ac3
invalid
jne 0x418b18
imul edi, eax
sub esi, dword [0x41b038]
mov edx, dword [esp + 0x34]
add eax, 1
cmp ebp, esi
inc ecx
add byte [ebx - 0x7ccbdbac], cl
rol byte [ecx], 0x3b
out dx, al
mov dword [0x41b0fc], edx
jle 0x418ae9
je 0x418ae2
jne 0x418ae4
mov ecx, 0xef333c75
jne 0x418b20
xor ebp, edi
imul eax, ebp
mov ecx, fcn.00402db0
imul edi, eax
lea ebx, [edx + 0x38]
mov ebp, ebx
mov dword [ebp], ecx
mov dword [ebp + 4], ecx
mov dword [ebp + 8], ecx
mov dword [ebp + 0xc], ecx
mov dword [ebp + 0x10], ecx
mov dword [ebp + 0x14], ecx
mov dword [ebp + 0x18], ecx
mov dword [ebp + 0x1c], ecx
mov dword [ebp + 0x20], ecx
mov dword [ebp + 0x24], ecx
mov dword [ebp + 0x28], ecx
mov dword [ebp + 0x2c], ecx
mov dword [ebp + 0x30], ecx
mov dword [ebp + 0x34], ecx
dec ebp
sub al, 0x89
dec ebp
xor byte [ecx + 0x4d89344d], cl
cmp byte [ecx + 0x4d893c4d], cl
inc eax
mov dword [ebp + 0x38], ecx
mov dword [ebp + 0x3c], ecx
mov dword [ebp + 0x40], ecx
mov dword [ebp + 0x44], ecx
mov dword [ebp + 0x48], ecx
mov dword [ebp + 0x4c], ecx
sub esi, dword [0x41b038]
mov dword [ebp + 0x50], ecx
mov dword [ebp + 0x54], ecx
mov dword [ebp + 0x58], ecx
mov dword [ebp + 0x5c], ecx
mov dword [ebp + 0x60], ecx
mov dword [ebp + 0x64], ecx
mov dword [ebp + 0x68], ecx
mov dword [ebp + 0x6c], ecx
mov ecx, 0x402f70
mov dword [ebx], ecx
mov dword [edx + 0x40], ecx
mov dword [edx + 0x80], ecx
mov ecx, dword [0x41b044]
add eax, 1
cmp ecx, esi
mov dword [edx + 0x34], 0x4114a0
mov dword [edx + 0x70], 0x413050
mov dword [edx + 0x44], 0x4030a0
mov dword [0x41b024], edi
mov dword [0x41b004], eax
mov dword [0x41b034], esi
jle 0x418ba5
je 0x418b98
jne 0x418b9a
jno 0x418c0e
jne 0x418b9d
add esi, dword [ebx]
iretd
xor ecx, edi
imul ecx, eax
mov dword [0x41b004], ecx
scasd eax, dword es:[edi]
enter 0xd89, 4
mov al, 0x41
add byte [edx + 0x70], ch
push 0x70
push 0
push 0x86758f
call int.004050d0
mov edx, dword [0x41b004]
mov ebp, dword [0x41b014]
mov esi, eax
add edx, 1
mov eax, edx
mov ecx, ebp
and eax, 0xff
and ecx, 0xff
mov ecx, dword [ecx*4 + 0x41b610]
add dword [eax*4 + 0x41b610], ecx
lea eax, [eax*4 + 0x41b610]
add esp, 0xc
jne 0x418bf0
invalid
add byte [ebx + 0x3750cc4], al
je 0x418bf2
push ebx
je 0x418bb1
mov ebx, dword [0x41b024]
add edx, 1
test ebp, ebp
mov dword [0x41b004], edx
je 0x418c15
jmp 0x418c0a
sub edx, 1
mov dword [0x41b004], edx
adc eax, 0x41b004
jmp 0x418c24
mov ebp, ebx
mov dword [0x41b014], ebp
je 0x418c22
jne 0x418c24
pop esp
jne 0x418be7
test esi, esi
jne 0x418c37
pop edi
pop esi
pop ebp
mov eax, 0xc000009a
pop ebx
add esp, 0x20
ret 8
xor eax, eax
mov ecx, 0x1c
mov edi, esi
rep stosd dword es:[edi], eax
add edx, 1
mov ecx, ebp
mov eax, edx
mov dword [esi], 0x70
mov dword [esi + 4], 0x404410
and eax, 0xff
and ecx, 0xff
mov ecx, dword [ecx*4 + 0x41b610]
add dword [eax*4 + 0x41b610], ecx
lea eax, [eax*4 + 0x41b610]
sub ebp, 1
je 0x418c7e
jne 0x418c80
inc edx
jne 0x418c95
add edx, 1
mov ecx, ebp
mov eax, edx
mov dword [esi + 8], 0x404530
and eax, 0xff
and ecx, 0xff
inc dword [eax]
add byte [eax], al
mov ecx, dword [ecx*4 + 0x41b610]
add dword [eax*4 + 0x41b610], ecx
lea eax, [eax*4 + 0x41b610]
sub ebp, 1
jne 0x418cb6
je 0x418cb8
mov al, byte [0xaf0ff674]
fisub dword [ecx + 0x41b034]
je 0x418cae
imul ebx, edx
mov eax, dword [0x41b034]
sub eax, dword [0x41b038]
mov ecx, dword [0x41b044]
add edx, 1
cmp ecx, eax
mov dword [esi + 0xc], 0x404670
mov edi, ebx
jle 0x418cea
jne 0x418ce1
je 0x418ce3
and byte [edx + ebp - 0x75], dh
fnstenv [ebx]
fisttp word [edi]
scasd eax, dword es:[edi]
shr dword [ebx], cl
add eax, 0x41b038
je 0x418d0d
mov ebx, ecx
xor ebx, edi
imul edx, ebx
sub eax, dword [0x41b038]
imul edi, edx
add edx, 1
cmp ecx, eax
mov dword [esi + 0x10], 0x4047b0
jle 0x418d0f
je 0x418d06
jne 0x418d08
cmp al, 0x75
fisttp word [ebx + 0xfdf33d9]
jne 0x418ce7
mov ebx, ecx
xor ebx, edi
imul edx, ebx
scasd eax, dword es:[edi]
shr dword [ebx], cl
add eax, 0x41b038
sub eax, dword [0x41b038]
imul edi, edx
add edx, 1
cmp ecx, eax
mov dword [esi + 0x14], 0x4048e0
jle 0x418d34
je 0x418d2b
jne 0x418d2d
mov eax, 0xd98b1b75
jne 0x418d48
mov ebx, ecx
xor ebx, edi
imul edx, ebx
sub eax, dword [0x41b038]
imul edi, edx
add edx, 1
cmp ecx, eax
mov dword [esi + 0x18], 0x4049f0
jle 0x418d59
add byte [esi + 0xe], bh
jne 0x418d50
je 0x418d52
push esi
je 0x418d8c
mov ebx, ecx
xor ebx, edi
imul edx, ebx
add edx, 1
add ebp, 1
mov dword [esi + 0x1c], 0x404af0
je 0x418d72
mov edi, edi
sub edx, 1
jmp 0x418d7b
mov ebp, edi
jne 0x418d79
add esi, dword [ebx + eax - 0x40]
je 0x418d7b
sal byte [ecx + edi + 0x2b], 5
cmp byte [eax - 0x50f0ffbf], dh
cli
je 0x418db4
sub eax, dword [0x41b038]
imul edi, edx
add edx, 1
cmp ecx, eax
mov dword [esi + 0x20], 0x404c10
adc byte [eax + eax*2], cl
mov dword [0x41b024], edi
jle 0x418da6
jne 0x418d9d
je 0x418d9f
xchg ebp, eax
je 0x418d75
mov ebx, ecx
xor ebx, edi
imul edx, ebx
add edx, 1
add ebp, 1
mov dword [esi + 0x24], 0x404d00
je 0x418dbf
or ch, bl
add edi, edi
adc eax, 0x1ea8353
jmp 0x418dba
sub edx, 1
jmp 0x418dc8
mov ebp, edi
jne 0x418dc6
je 0x418dc8
les esi, [esi - 0x7d]
ret 0x8b01
je 0x418e2e
add edx, 1
mov ebx, ebp
mov edi, edx
mov dword [esi + 0x28], 0x404e10
and edi, 0xff
and ebx, 0xff
mov ebx, dword [ebx*4 + 0x41b610]
add dword [edi*4 + 0x41b610], ebx
lea edi, [edi*4 + 0x41b610]
add byte [ecx], al
sbb al, 0xbd
adc byte [esi + 0x3c8d0041], dh
mov ebp, 0x41b610
sub ebp, 1
jne 0x418dff
je 0x418e01
das
je 0x418de8
add edx, 1
mov ebx, ebp
mov edi, edx
mov dword [esi + 0x34], 0x404f40
and edi, 0xff
and ebx, 0xff
mov ebx, dword [ebx*4 + 0x41b610]
add dword [edi*4 + 0x41b610], ebx
lea edi, [edi*4 + 0x41b610]
sub ebp, 1
je 0x418e38
inc ecx
add byte [ebx + 0x37401ed], al
jne 0x418e3a
outsb dx, byte [esi]
jne 0x418e84
add edx, 1
mov ebx, ebp
mov edi, edx
mov dword [esi + 0x38], 0x403260
and edi, 0xff
and ebx, 0xff
mov ebx, dword [ebx*4 + 0x41b610]
add dword [edi*4 + 0x41b610], ebx
lea edi, [edi*4 + 0x41b610]
sub ebp, 1
je 0x418e71
add esi, dword [ebp + 3]
jne 0x418e73
and byte [ebp - 6], dh
jne 0x418e6d
cli
mov edi, dword [0x41b024]
sub eax, dword [0x41b038]
imul edi, edx
add edx, 1
cmp ecx, eax
mov dword [esi + 0x3c], 0x4033a0
jle 0x418e9e
add dword [ebx], edi
enter 0x46c7, 0x3c
mov al, byte [0x7e004033]
push cs
je 0x418e95
jne 0x418e97
out 0x75, al
les ecx, [ebx + 0xfdf33d9]
scasd eax, dword es:[edi]
rol dword [ebx - 0x3a7cfe3e], cl
add edi, eax
inc esi
inc eax
mov al, 0x34
inc eax
add byte [edx + ecx + 0x3e], dh
xchg ebp, ebp
jne 0x418e5b
mov ebx, ecx
xor ebx, edi
imul edx, ebx
add edx, 1
add ebp, 1
mov dword [esi + 0x40], 0x4034b0
je 0x418eb7
xchg ebp, ebp
sub edx, 1
jmp 0x418ec0
mov ebp, edi
je 0x418ebe
add esi, dword [ebp + 3]
jne 0x418ec0
fnsave dword [ebp + 0x2d]
jne 0x418eed
sub eax, dword [0x41b038]
imul edi, edx
add edx, 1
cmp ecx, eax
mov dword [esi + 0x44], 0x4035e0
jle 0x418ee5
je 0x418edc
jne 0x418ede
xchg ecx, eax
jne 0x418e72
mov ebx, ecx
xor ebx, edi
imul edx, ebx
add edx, 1
add ebp, 1
mov dword [esi + 0x48], 0x4036b0
je 0x418efe
dec eax
mov al, 0x36
inc eax
add byte [edx + ecx + 0x64], dh
mov cl, cl
mov cl, cl
sub edx, 1
jmp 0x418f07
mov ebp, edi
jne 0x418f05
je 0x418f07
push edx
je 0x418eba
add edx, 1
add ebp, 1
mov dword [esi + 0x4c], 0x4037c0
je 0x418f20
jmp 0x418f1b
sub edx, 1
jmp 0x418f29
mov ebp, edi
je 0x418f27
jne 0x418f29
test al, 0x75
dec esp
jne 0x418f75
add edx, 1
add ebp, 1
mov dword [esi + 0x50], 0x403920
je 0x418f42
add byte [edx + ecx - 0x15], dh
add edi, edi
and eax, 0x1ea8304
jmp 0x418f3d
sub edx, 1
jmp 0x418f4b
mov ebp, edi
je 0x418f49
jne 0x418f4b
test dword [ebp - 0x16], esi
jne 0x418f35
add edx, 1
add ebp, 1
mov dword [esi + 0x54], 0x403a50
je 0x418f64
jmp 0x418f5f
sub edx, 1
jmp 0x418f6d
mov ebp, edi
je 0x418f6b
jne 0x418f6d
mov ch, 0x75
add dword [ebx - 0x3a7cfe3e], 0x5846c701
jne 0x418eee
add edx, 1
add ebp, 1
mov dword [esi + 0x58], 0x403bb0
je 0x418f86
pop eax
mov al, 0x3b
inc eax
add byte [edx + ecx - 0x15], dh
add edi, edi
adc eax, 0x1ea8386
jmp 0x418f81
sub edx, 1
jmp 0x418f8f
mov ebp, edi
je 0x418f8d
jne 0x418f8f
jne 0x418ffd
jne 0x418ffd
add edx, 1
add ebp, 1
mov dword [esi + 0x5c], 0x403cd0
je 0x418fa8
xchg ebp, ebp
sub edx, 1
jmp 0x418fb1
mov ebp, edi
je 0x418faf
jne 0x418fb1
dec edx
jne 0x41901a
add edx, 1
add ebp, 1
mov dword [esi + 0x60], 0x403e20
je 0x418fca
xchg ebx, ebx
sub edx, 1
jmp 0x418fd3
mov ebp, edi
je 0x418fd1
jne 0x418fd3
xor dh, byte [ebp + 7]
jne 0x418fda
sub eax, dword [0x41b038]
imul edi, edx
scasd eax, dword es:[edi]
cli
add edx, 1
cmp ecx, eax
mov dword [esi + 0x64], 0x4040e0
jle 0x418ff8
je 0x418fef
jne 0x418ff1
or eax, 0xd98b6d75
jne 0x41905e
mov ebx, ecx
xor ebx, edi
imul edx, ebx
add edx, 1
add ebp, 1
mov dword [esi + 0x68], 0x4041f0
add edi, eax
inc esi
push 0x4041f0
mov dword [0x41b014], ebp
je 0x419017
jmp 0x419012
sub edx, 1
jmp 0x419026
mov ebp, edi
mov dword [0x41b014], ebp
sub eax, 0x41b014
jne 0x419024
je 0x419026
mov byte [0x52bc474], al
cmp byte [eax - 0x50f0ffbf], dh
cli
je 0x418fea
sub eax, dword [0x41b038]
imul edi, edx
add edx, 1
cmp ecx, eax
mov dword [esi + 0x6c], 0x404300
jle 0x41904b
jne 0x419042
je 0x419044
wait
je 0x419090
mov ebx, ecx
xor ebx, edi
imul edx, ebx
mov ebx, dword [esp + 0x34]
mov dword [ebx + 0x28], esi
add edx, 1
mov esi, edx
mov ebx, ebp
and esi, 0xff
and ebx, 0xff
mov ebx, dword [ebx*4 + 0x41b610]
add dword [esi*4 + 0x41b610], ebx
lea esi, [esi*4 + 0x41b610]
jne 0x41907f
add byte [ecx + 0xffe3], al
add byte [ebx - 0x49ef62e4], cl
inc ecx
add byte [ecx], al
sbb al, 0xb5
adc byte [esi + 0x348d0041], dh
mov ch, 0x10
mov dh, 0x41
add byte [ebp + 3], dh
xor al, 0xb5
adc byte [esi + 0x3750041], dh
je 0x419081
mov ecx, 0xc2832c74
add dword [ebp - 0x14f58b13], eax
add edi, edi
adc eax, 0x1ea83ed
je 0x4190ad
add edx, 1
test ebp, ebp
je 0x419092
jmp 0x41908d
sub edx, 1
jmp 0x41909f
mov dword [0x41b014], edi
je 0x41909d
jne 0x41909f
xlatb
jne 0x4190d1
sub eax, dword [0x41b038]
imul edi, edx
add edx, 1
cmp ecx, eax
mov dword [0x41b024], edi
mov dword [0x41b004], edx
mov dword [0x41b034], eax
jle 0x4190d2
je 0x4190c5
jne 0x4190c7
mov ebx, 0xcf33ad75
jne 0x419074
xor ecx, edi
imul ecx, edx
mov dword [0x41b004], ecx
add byte [eax - 0x78], ch
mov dl, 0x41
add byte [ebp + 0x521c2454], cl
push 0x41b288
lea edx, [esp + 0x1c]
push edx
push 0x9780d7
call int.004050d0
mov ecx, dword [0x41b024]
mov eax, dword [0x41b004]
mov esi, dword [0x41b034]
imul ecx, eax
sub esi, dword [0x41b038]
mov edx, dword [0x41b044]
add esp, 0xc
add eax, 1
cmp edx, esi
mov dword [0x41b024], ecx
mov dword [0x41b034], esi
jle 0x41912a
jne 0x419121
je 0x419123
div byte [esp + ebx*2 + 0x33]
ror dword [edi], 1
scasd eax, dword es:[edi]
ror byte [ebx + 0x140d8bc2], 1
mov al, 0x41
add byte [ebx - 0x2e74fe40], al
je 0x41917f
xor edx, ecx
imul edx, eax
mov eax, edx
mov ecx, dword [0x41b014]
add eax, 1
mov edx, ecx
mov dword [0x41b004], eax
and eax, 0xff
and edx, 0xff
mov edx, dword [edx*4 + 0x41b610]
add dword [eax*4 + 0x41b610], edx
lea eax, [eax*4 + 0x41b610]
sub ecx, 1
mov dword [0x41b014], ecx
je 0x419168
jne 0x41916a
lodsb al, byte [esi]
jne 0x4191df
push 1
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x28]
push ecx
push 0x85ff9f
call int.004050d0
mov ecx, dword [0x41b014]
mov dword [esp + 0x24], eax
mov eax, dword [0x41b004]
add eax, 1
mov esi, ecx
dec dword [ebx + 0x41b0140d]
add byte [ecx - 0x5edbdbbc], cl
add al, 0xb0
inc ecx
add byte [ebx - 0xe74fe40], al
mov edx, eax
and edx, 0xff
and esi, 0xff
mov esi, dword [esi*4 + 0x41b610]
add dword [edx*4 + 0x41b610], esi
lea edx, [edx*4 + 0x41b610]
add esp, 0x10
sub ecx, 1
je 0x4191c2
add byte [eax], al
add byte [ebx - 0x49ef4acc], cl
inc ecx
add byte [ecx], al
xor al, 0x95
adc byte [esi + 0x148d0041], dh
xchg ebp, eax
adc byte [esi - 0x3b7cffbf], dh
adc byte [ebx + 0x37401e9], al
jne 0x4191c4
insd dword es:[edi], dx
jne 0x41919f
add eax, 1
mov esi, ecx
mov edx, eax
and edx, 0xff
and esi, 0xff
mov esi, dword [esi*4 + 0x41b610]
add dword [edx*4 + 0x41b610], esi
lea edx, [edx*4 + 0x41b610]
sub ecx, 1
jne 0x4191f4
xor al, 0x95
adc byte [esi + 0x148d0041], dh
xchg ebp, eax
adc byte [esi - 0x167cffbf], dh
add dword [ebp + 3], esi
je 0x4191f6
ja 0x419269
je 0x419261
imul ecx, dword [ebx + 0x41b02415], 0
mov edx, dword [0x41b024]
mov esi, dword [0x41b034]
imul edx, eax
mov ebx, dword [0x41b038]
mov edi, dword [0x41b044]
sub esi, ebx
add eax, 1
cmp edi, esi
mov dword [0x41b024], edx
mov dword [0x41b034], esi
jle 0x419234
jne 0x41922b
je 0x41922d
out 0x74, eax
inc ebx
je 0x419270
mov ebp, edi
xor ebp, edx
imul eax, ebp
cmp dword [esp + 0x14], 0
jge 0x419276
add eax, 1
mov ebp, ecx
mov ebx, eax
and ebx, 0xff
and ebp, 0xff
mov ebp, dword [ebp*4 + 0x41b610]
add dword [ebx*4 + 0x41b610], ebp
lea ebx, [ebx*4 + 0x41b610]
sub ecx, 1
je 0x41926b
inc ecx
add byte [ebx + 0x37401e9], al
jne 0x41926d
add edi, dword [esi*2 + 0x245c8b39]
cmp al, 0x75
cmp dword [ebx - 0x16ebdba4], ecx
jne 0x4192a6
mov ebx, dword [esp + 0x14]
adc al, 0xe9
jmp 0x41978f
sbb dword [0xaf0f0000], eax
shr byte [ebx], 1
add eax, 1
imul edx, eax
sub esi, ebx
add eax, 1
cmp edi, esi
mov dword [0x41b024], edx
mov dword [0x41b034], esi
jle 0x41929c
jne 0x419293
je 0x419295
sal byte [esp + ebx*8 + 0x33], 0xfa
je 0x419271
xor edi, edx
imul edi, eax
mov eax, edi
add eax, 1
mov edx, ecx
mov dword [0x41b004], eax
and eax, 0xff
and edx, 0xff
mov edx, dword [edx*4 + 0x41b610]
add dword [eax*4 + 0x41b610], edx
lea eax, [eax*4 + 0x41b610]
sub ecx, 1
mov dword [0x41b014], ecx
je 0x4192d4
jne 0x4192d6
xor dword [ebp + 0x52], esi
jne 0x419328
mov edx, dword [esp + 0x34]
lea eax, [esp + 0x10]
push eax
push 0
push 0
push 0x22
lea ecx, [esp + 0x30]
push ecx
push 0xc
push edx
push 0x1e6175
call int.004050d0
mov ebx, eax
mov eax, dword [0x41b004]
add eax, 1
mov ecx, eax
and ecx, 0xff
lea edx, [ecx*4 + 0x41b610]
mov ecx, dword [0x41b014]
mov esi, ecx
and esi, 0xff
mov esi, dword [esi*4 + 0x41b610]
add dword [edx], esi
add esp, 0x20
les esp, [eax]
mov dword [esp + 0x14], ebx
sub ecx, 1
jne 0x419336
je 0x419338
xchg ebp, eax
je 0x4193b1
add eax, 1
mov esi, ecx
mov edx, eax
and edx, 0xff
and esi, 0xff
mov esi, dword [esi*4 + 0x41b610]
add dword [edx*4 + 0x41b610], esi
lea edx, [edx*4 + 0x41b610]
sub ecx, 1
je 0x419368
jne 0x41936a
cmc
jne 0x4193e4
test ebx, ebx
jge 0x4193ab
add eax, 1
mov esi, ecx
mov edx, eax
and edx, 0xff
inc dword [eax]
add byte [eax], al
and esi, 0xff
mov esi, dword [esi*4 + 0x41b610]
add dword [edx*4 + 0x41b610], esi
lea edx, [edx*4 + 0x41b610]
sub ecx, 1
je 0x41939e
jne 0x4193a0
invalid
jne 0x419377
mov edx, dword [0x41b024]
jmp 0x419783
mov edx, dword [0x41b024]
mov edi, dword [0x41b034]
imul edx, eax
mov ebp, dword [0x41b038]
mov esi, dword [0x41b044]
sub edi, ebp
xor al, 0xb0
inc ecx
add byte [edi], cl
scasd eax, dword es:[edi]
ror byte [ebx + 0x41b0382d], 1
add byte [ebx + 0x41b04435], cl
add byte [ebx], ch
std
add eax, 1
cmp esi, edi
jle 0x4193dd
jne 0x4193d4
je 0x4193d6
add dword [ebx + eax - 0x75], esi
fidiv word [ebx]
je 0x4193d9
mov ebx, esi
xor ebx, edx
imul eax, ebx
fimul dword [edi]
scasd eax, dword es:[edi]
ret
mov ebx, dword [esp + 0x10]
mov ebx, dword [ebx + 0x28]
add eax, 1
add ecx, 1
mov dword [0x41b014], ecx
je 0x4193fc
jmp 0x4193f7
sub eax, 1
jmp 0x419409
mov dword [0x41b014], edx
jne 0x419407
je 0x419409
inc eax
je 0x419479
mov ecx, dword [esp + 0x10]
imul edx, eax
sub edi, ebp
add eax, 1
cmp esi, edi
mov dword [ebx], ecx
jle 0x419429
je 0x419420
jne 0x419422
div byte [ebp - 0x6f]
jne 0x4193b3
mov ecx, esi
xor ecx, edx
imul eax, ecx
imul edx, eax
sub edi, ebp
add eax, 1
cmp esi, edi
mov dword [ebx + 4], 0
mov dword [0x41b024], edx
mov dword [0x41b004], eax
mov dword [0x41b034], edi
jle 0x41945f
jne 0x419452
je 0x419454
cmp byte [ebp + eax*4 + 0x33], dh
imul esi, eax
je 0x4193d9
xor esi, edx
imul esi, eax
mov dword [0x41b004], esi
push 0x41b0c0
call dword [sym.imp.ntoskrnl.exe_ExInitializeResourceLite]
mov ecx, dword [0x41b004]
mov eax, dword [0x41b024]
mov esi, dword [0x41b034]
imul eax, ecx
mov edi, dword [0x41b038]
inc ecx
add byte [edi], cl
scasd eax, dword es:[edi]
ror dword [ebx + 0x41b0383d], 0
mov edx, dword [0x41b044]
sub esi, edi
add ecx, 1
cmp edx, esi
jle 0x4194a1
test dword [ebx - 0x29c4fe3f], 0x3740e7e
je 0x419498
jne 0x41949a
or byte [ebp - 0xf], dh
jne 0x41948b
mov ebx, edx
xor ebx, eax
imul ecx, ebx
imul eax, ecx
sub esi, edi
add ecx, 1
cmp edx, esi
mov dword [0x41b024], eax
mov dword [0x41b004], ecx
mov dword [0x41b034], esi
xor eax, 0x41b034
jle 0x4194d0
je 0x4194c3
jne 0x4194c5
dec edi
jne 0x4194b7
xor edx, eax
imul edx, ecx
mov dword [0x41b004], edx
push 0x41b208
lea edx, [esp + 0x1c]
push edx
push 0x9780d7
call int.004050d0
mov eax, dword [0x41b004]
mov edx, dword [0x41b014]
mov ecx, dword [0x41b024]
add esp, 0xc
add eax, 1
add edx, 1
je 0x41950a
xchg ebx, ebx
sub eax, 1
jmp 0x419513
mov edx, ecx
je 0x419511
jne 0x419513
mov dword [0xc0830f75], eax
add dword [ebx + 0x158901c2], eax
adc al, 0xb0
inc ecx
add byte [edx + ecx + 0x64], dh
jne 0x419522
add eax, 1
add edx, 1
mov dword [0x41b014], edx
je 0x41952b
mov dl, dl
mov dl, dl
sub eax, 1
jmp 0x419538
mov dword [0x41b014], ecx
jne 0x419536
je 0x419538
mov ecx, 0x158b0e74
xor al, 0xb0
inc ecx
add byte [edi], cl
scasd eax, dword es:[edi]
enter 0x152b, 0x38
mov al, 0x41
je 0x419546
mov edx, dword [0x41b034]
imul ecx, eax
sub edx, dword [0x41b038]
mov esi, ecx
mov ecx, dword [0x41b044]
add eax, 1
cmp ecx, edx
add byte [ebx + 0x440d8bf1], cl
mov al, 0x41
add byte [ebx - 0x35c4fe40], al
mov dword [0x41b024], esi
mov dword [0x41b004], eax
mov dword [0x41b034], edx
jle 0x419579
jne 0x41956c
je 0x41956e
aas
je 0x4195df
xor ecx, esi
imul ecx, eax
mov dword [0x41b004], ecx
push 1
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x30]
push ecx
push 0x85ff9f
call int.004050d0
mov ecx, dword [0x41b014]
mov edx, dword [0x41b024]
mov ebx, eax
mov eax, dword [0x41b004]
add esp, 0x10
add eax, 1
add ecx, 1
mov dword [esp + 0x14], ebx
je 0x4195bb
xor byte [ecx + 0x68], dl
lahf
inc dword [ebp - 0x44be1800]
invalid
adc byte [ebx - 0x3e7cfe40], al
add dword [ecx + 0x7414245c], ecx
or ch, bl
add edi, edi
adc eax, 0x1e883ec
jmp 0x4195b6
sub eax, 1
jmp 0x4195c4
mov ecx, edx
je 0x4195c2
jne 0x4195c4
pop eax
jne 0x419583
add eax, 1
add ecx, 1
je 0x4195d6
xchg edx, edx
sub eax, 1
jmp 0x4195df
mov ecx, edx
je 0x4195dd
jne 0x4195df
xor eax, 0xc083c575
add dword [ebp - 0x74cb8225], eax
stc
jne 0x4195a4
add eax, 1
test ebx, ebx
jge 0x41961a
mov edi, ecx
mov esi, eax
and esi, 0xff
and edi, 0xff
mov edi, dword [edi*4 + 0x41b610]
add dword [esi*4 + 0x41b610], edi
lea esi, [esi*4 + 0x41b610]
sub ecx, 1
je 0x419613
add byte [eax], al
add byte [ebx - 0x49ef42c4], cl
inc ecx
add byte [ecx], al
cmp al, 0xb5
adc byte [esi + 0x348d0041], dh
mov ch, 0x10
mov dh, 0x41
add byte [ebx + 0x37401e9], al
jne 0x419615
wait
jne 0x419640
jmp 0x419783
add ecx, 1
mov dword [0x41b004], eax
mov dword [0x41b014], ecx
je 0x419639
jmp 0x41962f
sub eax, 1
mov dword [0x41b004], eax
jmp 0x419646
mov dword [0x41b014], edx
je 0x419644
jne 0x419646
jle 0x4196ba
jne 0x4195f3
lodsd eax, dword [esi]
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x2c]
push eax
push 0x12a720
call int.004050d0
mov ebx, eax
mov eax, dword [0x41b004]
add eax, 1
mov ecx, eax
and ecx, 0xff
lea edx, [ecx*4 + 0x41b610]
mov ecx, dword [0x41b014]
mov esi, ecx
and esi, 0xff
mov esi, dword [esi*4 + 0x41b610]
add dword [edx], esi
add esp, 0xc
mov dword [esp + 0x14], ebx
je 0x419696
jne 0x419698
jne 0x4196a1
add dword [ebx - 0x7e0f7407], ecx
out 0xff, al
add byte [eax], al
add byte [ecx + 0xffe7], al
add byte [ebx - 0x49ef42c4], cl
inc ecx
add byte [ecx], al
cmp al, 0xb5
adc byte [esi + 0x348d0041], dh
mov ch, 0x10
mov dh, 0x41
add byte [ebx + 0x37401e9], al
jne 0x4196ea
mov esi, dword [0x41b034]
mov edi, dword [0x41b044]
add eax, 1
add ecx, 1
je 0x4197a1
jmp 0x41979c
sub eax, 1
jmp 0x4197aa
mov ecx, edx
jne 0x4197a8
je 0x4197aa
outsb dx, byte [esi]
je 0x4197aa
test ebx, ebx
jge 0x4198c3
add eax, 1
mov ebp, ecx
mov ebx, eax
and ebx, 0xff
and ebp, 0xff
mov ebp, dword [ebp*4 + 0x41b610]
add dword [ebx*4 + 0x41b610], ebp
lea ebx, [ebx*4 + 0x41b610]
sub ecx, 1
je 0x4197e2
popfd
adc byte [esi + 0x1c8d0041], dh
popfd
adc byte [esi - 0x167cffbf], dh
add dword [ebx + eax + 0x75], esi
add ecx, dword [ebp + esi*2 + 0x247c83ea]
adc byte [eax], al
jne 0x4197e4
invalid
jne 0x4197ce
cmp dword [esp + 0x10], 0
je 0x419891
add eax, 1
mov edx, ecx
mov dword [0x41b004], eax
and eax, 0xff
and edx, 0xff
mov edx, dword [edx*4 + 0x41b610]
add dword [eax*4 + 0x41b610], edx
lea eax, [eax*4 + 0x41b610]
sub ecx, 1
mov dword [0x41b014], ecx
jne 0x419827
add byte [ecx], al
adc al, 0x85
adc byte [esi + 0x48d0041], dh
test dword [eax], edx
mov dh, 0x41
add byte [ebx + 0xd8901e9], al
adc al, 0xb0
inc ecx
add byte [ebp + 3], dh
je 0x419829
add dh, byte [esp + eax - 0x75]
inc esp
and al, 0x10
je 0x41982d
mov eax, dword [esp + 0x10]
push eax
push 0x12d0ed
call int.004050d0
mov eax, dword [0x41b004]
mov esi, dword [0x41b034]
mov edx, dword [0x41b024]
sub esi, dword [0x41b038]
imul edx, eax
mov edi, dword [0x41b044]
add esp, 8
add eax, 1
cmp edi, esi
jle 0x419870
je 0x419867
jne 0x419869
in eax, 0x75
mov eax, dword [0xca33cf8b]
jne 0x41980a
mov ecx, edi
xor ecx, edx
imul eax, ecx
mov ecx, dword [0x41b014]
add eax, 1
add ecx, 1
je 0x419888
add dword [ebx + 0xa7401c1], eax
xchg ebx, ebx
sub eax, 1
jmp 0x419891
mov ecx, edx
jne 0x41988f
je 0x419891
mov al, 0x74
out 0x83, eax
rol byte [ecx], 0x8b
jmp 0xe3c37125
je 0x419878
add eax, 1
mov ebp, ecx
mov ebx, eax
and ebx, 0xff
and ebp, 0xff
mov ebp, dword [ebp*4 + 0x41b610]
add dword [ebx*4 + 0x41b610], ebp
lea ebx, [ebx*4 + 0x41b610]
sub ecx, 1
je 0x4198c1
jne 0x4198c3
retf 0x3675
jne 0x4198f9
add eax, 1
add ecx, 1
je 0x4198d5
jmp 0x4198d0
sub eax, 1
jmp 0x4198de
mov ecx, edx
jne 0x4198dc
je 0x4198de
invalid
je 0x4198ef
sub esi, dword [0x41b038]
imul edx, eax
add eax, 1
cmp edi, esi
jle 0x4198fc
jne 0x4198f3
add esi, dword [ebx + eax + 0x5c]
je 0x419935
mov ebx, edi
xor ebx, edx
imul eax, ebx
add eax, 1
mov ebp, ecx
mov ebx, eax
and ebx, 0xff
and ebp, 0xff
mov ebp, dword [ebp*4 + 0x41b610]
add dword [ebx*4 + 0x41b610], ebp
lea ebx, [ebx*4 + 0x41b610]
sub ecx, 1
mov dword [0x41b014], ecx
jne 0x419932
add esi, dword [ebx + eax - 0x3c]
je 0x419934
les esi, [edi + ebx*4 + 0xf]
je 0x4198d3
imul edx, eax
sub esi, dword [0x41b038]
scasd eax, dword es:[edi]
shr byte [ebx], 1
xor eax, 0x41b038
add eax, 1
cmp edi, esi
mov dword [0x41b024], edx
mov dword [0x41b004], eax
mov dword [0x41b034], esi
jle 0x419967
je 0x41995a
jne 0x41995c
test dword [ebp - 0x2e], esi
jne 0x41992e
xor edi, edx
imul edi, eax
mov dword [0x41b004], edi
mov eax, dword [esp + 0x14]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret 8