Function at 0x40c1f0
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov eax, dword [0x474608]
test eax, eax
jne 0x40d8ff
mov eax, 0x168450a1
xor eax, dword [0x4703b0]
mov dword [0x4707b0], eax
mov eax, dword [str.frexp]
lea esi, [eax + eax]
and esi, 0x321b1f7c
neg esi
add eax, esi
add eax, 0x190d8fbe
mov esi, 0x9977d5b1
xor esi, dword [0x4703b8]
mov dword [0x4707b4], eax
mov eax, 0xe80ce19a
xor eax, dword [0x4703bc]
mov dword [0x4707b8], esi
mov esi, 0x55679319
xor esi, dword [0x4703c0]
mov dword [0x4707bc], eax
mov dword [0x4707c0], esi
mov eax, dword [0x4703c4]
lea esi, [eax + eax]
and esi, 0xb5a885fe
neg esi
add eax, esi
add eax, 0x5ad442ff
mov dword [0x4707c4], eax
mov eax, 0x3883be8c
xor eax, dword [str._logb]
mov dword [0x4707c8], eax
mov eax, dword [0x4703cc]
lea esi, [eax + eax]
and esi, 0xf3fd57c6
neg esi
add eax, esi
add eax, 0x79feabe3
mov dword [0x4707cc], eax
mov esi, dword [str._nextafter]
lea eax, [esi + esi]
and eax, 0xb24eed88
mov edi, 0xa6d8893b
sub edi, esi
add esi, 0x592776c4
and edi, eax
not eax
and eax, esi
sub eax, edi
mov dword [0x4707d0], eax
mov eax, 0x2d07247b
xor eax, dword [0x4703d4]
mov dword [0x4707d4], eax
mov esi, dword [0x4703d8]
lea eax, [esi + esi]
and eax, 0x52b559f0
mov edi, 0x56a55307
sub edi, esi
add esi, 0xa95aacf8
and edi, eax
not eax
and eax, esi
sub eax, edi
mov dword [0x4707d8], eax
mov eax, 0xd23e275a
xor eax, dword [0x4703dc]
mov dword [0x4707dc], eax
mov eax, 0x37b1821c
xor eax, dword [0x4703e0]
mov dword [0x4707e0], eax
mov eax, 0x18a49ab0
xor eax, dword [0x4703e4]
mov dword [0x4707e4], eax
mov eax, dword [0x4703e8]
lea esi, [eax + eax]
and esi, 0xd7a05bea
neg esi
add eax, esi
add eax, 0x6bd02df5
mov dword [0x4707e8], eax
mov eax, dword [0x4703ec]
lea esi, [eax + eax]
not esi
add esi, eax
and esi, 0x555ee623
and eax, 0xaaa119dc
or eax, esi
xor eax, 0x99a6358c
mov dword [0x4707ec], eax
mov eax, dword [0x4703f0]
lea esi, [eax + eax]
and esi, 0xbc07d49a
neg esi
add eax, esi
add eax, 0xde03ea4d
mov dword [0x4707f0], eax
mov eax, 0x29dc3a92
xor eax, dword [0x4703f4]
mov dword [0x4707f4], eax
mov eax, dword [0x4703f8]
lea esi, [eax + eax]
and esi, 0x8a446cae
neg esi
add eax, esi
add eax, 0xc5223657
mov dword [0x4707f8], eax
mov eax, dword [0x4703fc]
lea esi, [eax + eax]
and esi, 0xd7b8d94c
neg esi
add eax, esi
add eax, 0x6bdc6ca6
mov dword [0x4707fc], eax
mov eax, 0xc3c31f
xor eax, dword [0x470400]
mov dword [0x470800], eax
mov eax, 0x6926fd5e
xor eax, dword [0x470404]
mov dword [0x470804], eax
mov eax, 0x99536cb
xor eax, dword [0x470408]
mov dword [0x470808], eax
mov eax, 0x11dfc94c
xor eax, dword [0x47040c]
mov dword [0x47080c], eax
mov eax, dword [0x470410]
not eax
mov esi, eax
or esi, 0xf62bf00f
lea edi, [esi + esi]
not edi
add edi, esi
and eax, 0xf62bf00f
or eax, edi
not eax
mov dword [0x470810], eax
mov eax, dword [0x470414]
lea esi, [eax + eax]
and esi, 0x463380b2
neg esi
add eax, esi
add eax, 0x2319c059
mov esi, 0xfe538d9e
xor esi, dword [0x470418]
mov dword [0x470814], eax
mov dword [0x470818], esi
mov eax, dword [0x47041c]
lea esi, [eax + eax]
and esi, 0xce2687a0
neg esi
add eax, esi
add eax, 0x671343d0
mov dword [0x47081c], eax
mov eax, dword [0x470420]
lea esi, [eax + eax]
not esi
add esi, eax
and esi, 0xfda85710
and eax, 0x257a8ef
or eax, esi
mov dword [0x470820], eax
mov eax, 0x44d96832
xor eax, dword [0x470424]
mov dword [0x470824], eax
mov eax, dword [0x470428]
lea esi, [eax + eax]
and esi, 0x15fdc836
neg esi
add eax, esi
add eax, 0x8afee41b
mov dword [0x470828], eax
mov eax, dword [0x47042c]
mov esi, eax
and esi, 0x32b4a84c
add esi, esi
sub esi, eax
add esi, esi
add esi, 0x1a96af66
and esi, 0xe5695098
neg esi
add eax, esi
add eax, 0x72b4a84c
mov dword [0x47082c], eax
mov eax, 0xbf8e2a7a
xor eax, dword [0x470430]
mov dword [0x470830], eax
mov eax, dword [0x470434]
lea esi, [eax + eax]
and esi, 0xdcacfe6c
neg esi
add eax, esi
add eax, 0x6e567f36
mov esi, 0xf19bdb90
xor esi, dword [0x470438]
mov dword [0x470834], eax
mov eax, 0x790ed80b
xor eax, dword [0x47043c]
mov dword [0x470838], esi
mov dword [0x47083c], eax
mov eax, dword [0x470440]
mov esi, eax
and esi, 0xead19a38
and eax, 0x152e65c7
xor esi, 0x97eff5df
xor eax, 0xeadbbfba
and eax, esi
mov esi, 0x47691cf1
xor esi, dword [0x470444]
mov dword [0x470840], eax
mov dword [0x470844], esi
mov eax, dword [0x470448]
mov esi, eax
and esi, 0x1f3f6570
mov edi, eax
and edi, 2
mov ebx, eax
or ebx, 0xfffffffd
inc ebx
imul ebx, esi
xor esi, 0xfffffffe
imul esi, edi
add esi, ebx
add eax, esi
add eax, 0x1f3f6572
mov dword [0x470848], eax
mov eax, 0x4cee33d1
xor eax, dword [0x47044c]
mov dword [0x47084c], eax
mov eax, dword [0x470450]
lea esi, [eax + eax]
and esi, 0x85f823ec
neg esi
add eax, esi
add eax, 0xc2fc11f6
mov esi, 0x6e4536fc
xor esi, dword [0x470454]
mov dword [0x470850], eax
mov eax, 0x162a5cf3
xor eax, dword [0x470458]
mov dword [0x470854], esi
mov dword [0x470858], eax
mov eax, dword [0x47045c]
lea esi, [eax + eax]
and esi, 0xf2b84f8
neg esi
add eax, esi
add eax, 0x795c27c
mov dword [0x47085c], eax
mov eax, 0x2f2725d9
xor eax, dword [0x470460]
mov dword [0x470860], eax
mov eax, dword [0x470464]
lea esi, [eax + eax]
and esi, 0xa4e7a83e
neg esi
add eax, esi
add eax, 0x5273d41f
mov esi, 0x7b0a3ae1
xor esi, dword [0x470468]
mov dword [0x470864], eax
mov dword [0x470868], esi
mov eax, dword [0x47046c]
lea esi, [eax + eax]
not esi
add esi, eax
lea edi, [esi + esi]
not edi
add edi, esi
and edi, 0x39ab89f2
or eax, 0x39ab89f2
xor eax, edi
mov dword [0x47086c], eax
mov eax, dword [0x470470]
lea esi, [eax + eax]
and esi, 0xd607ad6
neg esi
add eax, esi
add eax, 0x86b03d6b
mov dword [0x470870], eax
mov eax, dword [0x470474]
mov esi, eax
xor esi, 0x7eb6eab0
lea edi, [esi + esi]
not edi
add edi, esi
add edi, edi
and edi, 0xfd6dd560
neg edi
add eax, edi
add eax, 0x7eb6eab0
mov esi, 0x1b39fd0e
xor esi, dword [0x470478]
mov dword [0x470874], eax
mov dword [0x470878], esi
mov eax, dword [0x47047c]
not eax
mov esi, eax
and esi, 0x9aa451fd
lea edi, [esi + esi]
not edi
add edi, esi
or eax, 0x9aa451fd
and eax, edi
mov dword [0x47087c], eax
mov eax, dword [0x470480]
mov esi, eax
not esi
or esi, 0x52468039
xor eax, 0xadb97fc6
and eax, esi
mov dword [0x470880], eax
mov eax, dword [0x470484]
lea esi, [eax + eax]
not esi
add esi, eax
and esi, 0x5c4634c1
and eax, 0xa3b9cb3e
or eax, esi
xor eax, 0xf8156ded
mov dword [0x470884], eax
mov eax, 0xfd8428af
xor eax, dword [0x470488]
mov dword [0x470888], eax
mov eax, 0x506e3dd5
xor eax, dword [0x47048c]
mov dword [0x47088c], eax
mov eax, dword [0x470490]
lea esi, [eax + eax]
and esi, 0xe7e54834
neg esi
add eax, esi
add eax, 0xf3f2a41a
mov esi, 0x40a8bb9c
xor esi, dword [0x470494]
mov dword [0x470890], eax
mov eax, 0x99402303
xor eax, dword [0x470498]
mov dword [0x470894], esi
mov esi, 0xa31560de
xor esi, dword [0x47049c]
mov dword [0x470898], eax
mov eax, 0x922edd12
xor eax, dword [0x4704a0]
mov dword [0x47089c], esi
mov esi, 0xa8770cbd
xor esi, dword [0x4704a4]
mov dword [0x4708a0], eax
mov dword [0x4708a4], esi
mov esi, dword [0x4704a8]
mov edi, esi
and edi, 0x3e2d9c65
mov ebx, esi
and ebx, 2
mov ebp, esi
or ebp, 0xfffffffd
inc ebp
mov eax, 0xfffffffe
sub eax, edi
imul eax, ebx
imul ebp, edi
add ebp, eax
lea eax, [esi + ebp]
add eax, 0x3e2d9c67
mov esi, 0x5533f16e
xor esi, dword [0x4704ac]
mov dword [0x4708a8], eax
mov dword [0x4708ac], esi
mov esi, dword [0x4704b0]
mov edi, esi
and edi, 0xf510d378
mov eax, esi
and eax, 2
mov ebx, esi
or ebx, 0xfffffffd
inc ebx
imul ebx, edi
xor edi, 0xfffffffe
imul edi, eax
add edi, ebx
lea eax, [esi + edi]
add eax, 0xf510d37a
mov dword [0x4708b0], eax
mov eax, 0x13ca4e44
xor eax, dword [0x4704b4]
mov dword [0x4708b4], eax
mov esi, dword [0x4704b8]
mov eax, esi
not eax
and eax, 0xd1bb7db8
mov edi, esi
xor edi, 0xd1bb7db8
or esi, 0x2e448247
and esi, edi
add esi, eax
mov eax, 0xa217d7b1
xor eax, dword [0x4704bc]
mov dword [0x4708b8], esi
mov esi, 0x552bd9d2
xor esi, dword [0x4704c0]
mov dword [0x4708bc], eax
mov eax, 0x5c802975
xor eax, dword [0x4704c4]
mov dword [0x4708c0], esi
mov dword [0x4708c4], eax
mov eax, dword [0x4704c8]
lea esi, [eax + eax]
and esi, 0x3ff788f2
lea edi, [esi + 0x60043b87]
xor edi, eax
mov ebx, 0x1ffbc478
sub ebx, esi
and ebx, eax
add ebx, ebx
sub ebx, edi
mov dword [0x4708c8], ebx
mov eax, 0xe622aaaa
xor eax, dword [0x4704cc]
mov dword [0x4708cc], eax
mov eax, 0x5fd77298
xor eax, dword [0x4704d0]
mov dword [0x4708d0], eax
mov eax, 0xfda4a338
xor eax, dword [0x4704d4]
mov dword [0x4708d4], eax
mov eax, 0x807197bb
xor eax, dword [0x4704d8]
mov dword [0x4708d8], eax
mov eax, dword [0x4704dc]
mov esi, eax
not esi
or eax, 0xf2573956
or esi, 0xda8c6a9
and esi, eax
not esi
mov dword [0x4708dc], esi
mov eax, 0x6b98c44d
xor eax, dword [0x4704e0]
mov dword [0x4708e0], eax
mov eax, dword [0x4704e4]
lea esi, [eax + eax]
and esi, 0xe4b2a412
neg esi
add eax, esi
add eax, 0xf2595209
mov dword [0x4708e4], eax
mov eax, 0xdd2c2e95
xor eax, dword [0x4704e8]
mov dword [0x4708e8], eax
mov eax, dword [0x4704ec]
mov esi, eax
and esi, 0x7d157679
or esi, 0x82e88806
and eax, 0x82ea8986
xor eax, esi
xor eax, 0xfffdfe7f
mov dword [0x4708ec], eax
mov eax, dword [0x4704f0]
mov esi, eax
and esi, 0x6b9aa6d
add esi, esi
sub esi, eax
add esi, esi
add esi, 0x728cab24
and esi, 0x8d7354da
neg esi
add eax, esi
add eax, 0x46b9aa6d
mov dword [0x4708f0], eax
mov eax, dword [0x4704f4]
lea esi, [eax + eax]
and esi, 0x8230575a
neg esi
add eax, esi
add eax, 0x41182bad
mov dword [0x4708f4], eax
mov eax, 0x5c4aab2b
xor eax, dword [0x4704f8]
mov dword [0x4708f8], eax
mov eax, 0xd31dfb00
xor eax, dword [0x4704fc]
mov dword [0x4708fc], eax
mov eax, 0xc814fddb
xor eax, dword [0x470500]
mov dword [0x470900], eax
mov eax, dword [0x470504]
lea esi, [eax + eax]
and esi, 0x80554808
neg esi
add eax, esi
add eax, 0x402aa404
mov dword [0x470904], eax
mov eax, 0x750f3b35
xor eax, dword [0x470508]
mov dword [0x470908], eax
mov eax, 0x2bdc0780
xor eax, dword [0x47050c]
mov dword [0x47090c], eax
mov eax, 0xb9a77178
xor eax, dword [0x470510]
mov dword [0x470910], eax
mov eax, dword [0x470514]
mov esi, eax
not esi
or esi, 0x4ce67a3b
or eax, 0xb31985c4
and eax, esi
mov dword [0x470914], eax
mov esi, dword [0x470518]
mov edi, esi
and edi, 0x968c18
mov eax, esi
and eax, 2
mov ebx, esi
or ebx, 0xfffffffd
inc ebx
imul ebx, edi
xor edi, 0xfffffffe
imul edi, eax
add edi, ebx
lea eax, [esi + edi]
add eax, 0x968c1a
mov esi, 0xcbf584df
xor esi, dword [0x47051c]
mov dword [0x470918], eax
mov eax, 0xa385f724
xor eax, dword [0x470520]
mov dword [0x47091c], esi
mov dword [0x470920], eax
mov eax, dword [0x470524]
lea esi, [eax + eax]
and esi, 0x80669332
neg esi
add eax, esi
add eax, 0xc0334999
mov dword [0x470924], eax
mov eax, dword [0x470528]
lea esi, [eax + eax]
and esi, 0x1fd8d87c
neg esi
add eax, esi
add eax, 0xfec6c3e
mov esi, 0x62de1f29
xor esi, dword [0x47052c]
mov dword [0x470928], eax
mov dword [0x47092c], esi
mov eax, dword [0x470530]
lea esi, [eax + eax]
and esi, 0x9e6a973a
xor esi, 0x4f354b9d
lea edi, [eax*4]
and edi, 0x20952844
sub eax, edi
add eax, esi
mov dword [0x470930], eax
mov eax, 0x353eae34
xor eax, dword [0x470534]
mov dword [0x470934], eax
mov eax, 0x6a22f8fe
xor eax, dword [0x470538]
mov dword [0x470938], eax
mov eax, 0xd1d88f95
xor eax, dword [0x47053c]
mov dword [0x47093c], eax
mov eax, 0x27bf7828
xor eax, dword [0x470540]
mov dword [0x470940], eax
mov eax, 0xc0809a4f
xor eax, dword [0x470544]
mov dword [0x470944], eax
mov eax, 0xfa91ecb9
xor eax, dword [0x470548]
mov dword [0x470948], eax
mov eax, 0x69f32ce0
xor eax, dword [0x47054c]
mov dword [0x47094c], eax
mov eax, dword [0x470550]
lea esi, [eax + eax]
and esi, 0x83315e68
neg esi
add eax, esi
add eax, 0x4198af34
mov dword [0x470950], eax
mov eax, dword [0x470554]
mov esi, eax
and esi, 0xc2e7c36
mov edi, esi
sub edi, eax
add edi, 0xf3d183c9
or edi, esi
mov dword [0x470954], edi
mov esi, dword [0x470558]
mov eax, esi
and eax, 0x56fcae54
mov edi, esi
and edi, 2
mov ebx, edi
xor ebx, 2
imul ebx, eax
or eax, 2
imul eax, edi
lea edi, [eax + ebx]
add eax, ebx
add eax, 0xa90351aa
xor eax, esi
mov ebx, 0x56fcae55
sub ebx, edi
and ebx, esi
add ebx, ebx
sub ebx, eax
mov dword [0x470958], ebx
mov eax, dword [0x47055c]
lea esi, [eax + eax]
and esi, 0x616bc654
neg esi
add eax, esi
add eax, 0x30b5e32a
mov esi, 0x22845766
xor esi, dword [0x470560]
mov dword [0x47095c], eax
mov eax, 0xfb258a0
xor eax, dword [0x470564]
mov dword [0x470960], esi
mov dword [0x470964], eax
mov eax, dword [0x470568]
lea esi, [eax + eax]
and esi, 0xd3f765b8
neg esi
add eax, esi
add eax, 0xe9fbb2dc
mov dword [0x470968], eax
mov eax, 0x2a959698
xor eax, dword [0x47056c]
mov dword [0x47096c], eax
mov eax, 0x2a088fdf
xor eax, dword [0x470570]
mov dword [0x470970], eax
mov eax, dword [0x470574]
lea esi, [eax + eax]
and esi, 0xb5b86368
neg esi
add eax, esi
add eax, 0x5adc31b4
mov dword [0x470974], eax
mov eax, dword [0x470578]
lea esi, [eax + eax]
and esi, 0xb76dd476
neg esi
add eax, esi
add eax, 0x5bb6ea3b
mov dword [0x470978], eax
mov eax, 0x850a8619
xor eax, dword [0x47057c]
mov dword [0x47097c], eax
mov eax, 0xd6b85676
xor eax, dword [0x470580]
mov dword [0x470980], eax
mov eax, 0xab9f4fbd
xor eax, dword [0x470584]
mov dword [0x470984], eax
mov eax, 0x11976c0b
xor eax, dword [0x470588]
mov dword [0x470988], eax
mov eax, 0x480eac52
xor eax, dword [0x47058c]
mov dword [str.CompareStringW], eax
mov eax, 0xd104997d
xor eax, dword [0x470590]
mov dword [0x470990], eax
mov eax, 0x93b50d5d
xor eax, dword [0x470594]
mov dword [0x470994], eax
mov eax, dword [0x470598]
lea esi, [eax + eax]
and esi, 0x99b1fccc
neg esi
add eax, esi
add eax, 0x4cd8fe66
mov dword [0x470998], eax
mov eax, dword [0x47059c]
mov esi, eax
or esi, 0x5bf7ac7c
mov edi, esi
sub edi, eax
add edi, 0xa4085383
and edi, esi
not edi
mov dword [0x47099c], edi
mov eax, 0xd28f23ea
xor eax, dword [0x4705a0]
mov dword [0x4709a0], eax
mov eax, 0xeb2f0eb3
xor eax, dword [0x4705a4]
mov dword [0x4709a4], eax
mov eax, 0xe25abf89
xor eax, dword [0x4705a8]
mov dword [0x4709a8], eax
mov eax, 0xd54fb21
xor eax, dword [0x4705ac]
mov dword [str.CreateFileW], eax
mov eax, 0x7c235c6e
xor eax, dword [0x4705b0]
mov dword [0x4709b0], eax
mov eax, 0x6a452642
xor eax, dword [0x4705b4]
mov dword [0x4709b4], eax
mov eax, 0x6836f6dd
xor eax, dword [0x4705b8]
mov dword [0x4709b8], eax
mov esi, dword [0x4705bc]
mov edi, esi
and edi, 0x951a44b8
mov eax, esi
and eax, 2
mov ebx, esi
or ebx, 0xfffffffd
inc ebx
imul ebx, edi
xor edi, 0xfffffffe
imul edi, eax
add edi, ebx
lea eax, [esi + edi]
add eax, 0x951a44ba
mov dword [0x4709bc], eax
mov eax, 0x939ac6b7
xor eax, dword [0x4705c0]
mov dword [0x4709c0], eax
mov esi, dword [0x4705c4]
mov eax, esi
and eax, 0xd3c82291
mov edi, esi
and edi, 2
mov ebx, esi
or ebx, 0xfffffffd
inc ebx
mov ebp, 0xfffffffe
sub ebp, eax
imul ebp, edi
imul ebx, eax
add ebx, ebp
lea eax, [esi + ebx]
add eax, 0xd3c82293
mov dword [0x4709c4], eax
mov eax, 0xf6e9fc91
xor eax, dword [0x4705c8]
mov dword [0x4709c8], eax
mov eax, 0xa4b52752
xor eax, dword [0x4705cc]
mov dword [str.DecodePointer], eax
mov eax, dword [0x4705d0]
lea esi, [eax + eax]
and esi, 0x4594123a
neg esi
add eax, esi
add eax, 0x22ca091d
mov dword [0x4709d0], eax
mov eax, dword [0x4705d4]
lea esi, [eax + eax]
and esi, 0xb4b364e4
neg esi
add eax, esi
add eax, 0xda59b272
mov dword [0x4709d4], eax
mov eax, 0xcc2030a1
xor eax, dword [0x4705d8]
mov dword [0x4709d8], eax
mov eax, dword [0x4705dc]
lea esi, [eax + eax]
and esi, 0x2434cbf0
xor esi, 0x921a65f9
mov edi, eax
not edi
shl edi, 2
or edi, 0xb7b6ebff
add edi, eax
add edi, esi
mov dword [str.DeleteCriticalSection], edi
mov eax, 0xd5eea75e
xor eax, dword [0x4705e0]
mov dword [0x4709e0], eax
mov eax, dword [0x4705e4]
lea esi, [eax + eax]
and esi, 0xc1616888
add eax, 0x60b0b444
mov edi, esi
xor edi, eax
not esi
and esi, eax
add esi, esi
sub esi, edi
mov eax, 0xf9a23577
xor eax, dword [0x4705e8]
mov dword [0x4709e4], esi
mov esi, 0xb9451f64
xor esi, dword [0x4705ec]
mov dword [0x4709e8], eax
mov eax, 0x4058f1e5
xor eax, dword [0x4705f0]
mov dword [0x4709ec], esi
mov esi, 0x9d6012a2
xor esi, dword [0x4705f4]
mov dword [0x4709f0], eax
mov dword [str.EncodePointer], esi
mov eax, dword [0x4705f8]
mov esi, eax
not esi
or esi, 0x29509b32
or eax, 0xd6af64cd
and eax, esi
mov dword [0x4709f8], eax
mov eax, 0x3e340c3f
xor eax, dword [0x4705fc]
mov dword [0x4709fc], eax
mov eax, 0xff3f8d55
xor eax, dword [0x470600]
mov dword [0x470a00], eax
mov eax, 0x5cd3872b
xor eax, dword [0x470604]
mov dword [str.EnterCriticalSection], eax
mov eax, dword [0x470608]
lea esi, [eax + eax]
and esi, 0x77c9a1ce
neg esi
add eax, esi
add eax, 0x3be4d0e7
mov dword [0x470a08], eax
mov eax, 0xd72ecda6
xor eax, dword [0x47060c]
mov dword [0x470a0c], eax
mov esi, dword [0x470610]
lea eax, [esi + esi]
not eax
add eax, esi
and eax, 0x859340bf
mov edi, esi
xor edi, 0x859340bf
or esi, 0x7a6cbf40
and esi, edi
or esi, eax
xor esi, 0xd3951d10
mov dword [0x470a10], esi
mov esi, dword [0x470614]
mov eax, esi
not eax
lea edi, [esi + esi]
not edi
add edi, esi
and edi, eax
and edi, 0x2d09dca4
and esi, 0xd2f6235b
or esi, edi
mov eax, 0xe3364601
xor eax, dword [0x470618]
mov dword [0x470a14], esi
mov esi, 0x46349047
xor esi, dword [0x47061c]
mov dword [0x470a18], eax
mov eax, 0xaca6f42
xor eax, dword [0x470620]
mov dword [str.ExitProcess], esi
mov esi, 0x33a1b7bf
xor esi, dword [0x470624]
mov dword [0x470a20], eax
mov dword [0x470a24], esi
mov eax, dword [0x470628]
lea esi, [eax + eax]
and esi, 0x63929588
neg esi
add eax, esi
add eax, 0x31c94ac4
mov dword [0x470a28], eax
mov eax, 0xe3da2dba
xor eax, dword [0x47062c]
mov dword [0x470a2c], eax
mov eax, 0x22cedba6
xor eax, dword [0x470630]
mov dword [0x470a30], eax
mov eax, dword [0x470634]
lea esi, [eax + eax]
and esi, 0x5f31afe2
neg esi
add eax, esi
add eax, 0xaf98d7f1
mov esi, 0x6e40d467
xor esi, dword [0x470638]
mov dword [0x470a34], eax
mov dword [0x470a38], esi
mov eax, dword [0x47063c]
lea esi, [eax + eax]
and esi, 0x1b563514
neg esi
add eax, esi
add eax, 0x8dab1a8a
mov dword [0x470a3c], eax
mov eax, 0xa710978b
xor eax, dword [0x470640]
mov dword [0x470a40], eax
mov eax, 0x18c650e8
xor eax, dword [0x470644]
mov dword [0x470a44], eax
mov eax, 0x7af519d5
xor eax, dword [0x470648]
mov dword [0x470a48], eax
mov eax, 0x448872c9
xor eax, dword [0x47064c]
mov dword [0x470a4c], eax
mov eax, dword [0x470650]
lea esi, [eax + eax]
and esi, 0xdb94cd9a
neg esi
add eax, esi
add eax, 0x6dca66cd
mov esi, 0x55eecbdb
xor esi, dword [0x470654]
mov dword [0x470a50], eax
mov dword [0x470a54], esi
mov eax, dword [0x470658]
lea esi, [eax + eax]
and esi, 0xb3ef2762
neg esi
add eax, esi
add eax, 0xd9f793b1
mov dword [0x470a58], eax
mov eax, dword [0x47065c]
lea esi, [eax + eax]
and esi, 0xbee2d850
neg esi
add eax, esi
add eax, 0xdf716c28
mov esi, 0xd6115ad6
xor esi, dword [0x470660]
mov dword [0x470a5c], eax
mov dword [0x470a60], esi
mov eax, dword [0x470664]
lea esi, [eax + eax]
and esi, 0x55a6eac6
neg esi
add eax, esi
add eax, 0xaad37563
mov dword [0x470a64], eax
mov eax, dword [0x470668]
mov esi, eax
not esi
or esi, 0xafeb28c
or eax, 0xf5014d73
and eax, esi
mov dword [0x470a68], eax
mov eax, 0x2457fa28
xor eax, dword [0x47066c]
mov dword [0x470a6c], eax
mov eax, 0x14b95b91
xor eax, dword [0x470670]
mov dword [0x470a70], eax
mov eax, 0x25d30c6b
xor eax, dword [0x470674]
mov dword [0x470a74], eax
mov eax, dword [0x470678]
lea esi, [eax + eax]
and esi, 0xb6508fbc
neg esi
add eax, esi
add eax, 0x5b2847de
mov dword [0x470a78], eax
mov eax, 0xe2a00179
xor eax, dword [0x47067c]
mov dword [0x470a7c], eax
mov eax, 0xecf5456d
xor eax, dword [0x470680]
mov dword [0x470a80], eax
mov eax, 0xb5401b9c
xor eax, dword [0x470684]
mov dword [0x470a84], eax
mov eax, 0xd90f615b
xor eax, dword [0x470688]
mov dword [0x470a88], eax
mov eax, 0xd7a62636
xor eax, dword [0x47068c]
mov dword [0x470a8c], eax
mov eax, 0x2d811978
xor eax, dword [0x470690]
mov dword [0x470a90], eax
mov eax, 0x35f0bbe
xor eax, dword [0x470694]
mov dword [0x470a94], eax
mov eax, dword [0x470698]
mov esi, eax
and esi, 0x687dd229
or esi, 0x85800042
and eax, 0x97822dd6
xor eax, esi
xor eax, 0x42b1e2b7
mov dword [0x470a98], eax
mov esi, dword [0x47069c]
lea eax, [esi + esi]
and eax, 0x7ce152c0
xor eax, 0xc18f569f
mov edi, esi
and edi, 0xe040a940
lea eax, [eax + edi*4]
inc eax
mov edi, esi
not edi
and edi, eax
not eax
and eax, esi
sub eax, edi
mov dword [0x470a9c], eax
mov eax, 0x64681dd5
xor eax, dword [0x4706a0]
mov dword [0x470aa0], eax
mov eax, 0xfa7b5135
xor eax, dword [0x4706a4]
mov dword [str.FreeLibrary], eax
mov esi, dword [0x4706a8]
mov eax, esi
not eax
and eax, 0x2d1ce9d1
mov edi, esi
xor edi, 0x2d1ce9d1
or esi, 0xd2e3162e
and esi, edi
or esi, eax
xor esi, 0x76bb9c9a
mov dword [0x470aa8], esi
mov esi, dword [0x4706ac]
mov eax, esi
not eax
and eax, 0x6fd192b
lea edi, [eax + eax]
not edi
add edi, eax
and esi, 0xf902e6d4
lea eax, [esi + esi]
not eax
add eax, esi
and eax, edi
not eax
mov dword [0x470aac], eax
mov eax, dword [0x4706b0]
lea esi, [eax + eax]
and esi, 0xed912584
mov edi, 0x9376d3d
sub edi, eax
add eax, 0xf6c892c2
and edi, esi
not esi
and esi, eax
sub esi, edi
mov dword [0x470ab0], esi
mov edi, dword [0x4706b4]
lea esi, [edi + edi]
not esi
add esi, edi
mov ebx, esi
not ebx
not edi
or edi, esi
mov eax, edi
not eax
or eax, 0xa5f884f
add eax, edi
inc eax
not eax
or ebx, 0xf5a077b0
add esi, ebx
add esi, 0xa5f8850
and esi, eax
lea eax, [esi + esi]
not eax
add eax, esi
mov dword [0x470ab4], eax
mov eax, 0x3397754a
xor eax, dword [0x4706b8]
mov dword [0x470ab8], eax
mov eax, dword [0x4706bc]
lea esi, [eax + eax]
and esi, 0xfe2476c6
neg esi
add eax, esi
add eax, 0xff123b63
mov dword [str.GetCPInfo], eax
mov eax, 0x43b90095
xor eax, dword [0x4706c0]
mov dword [0x470ac0], eax
mov eax, dword [0x4706c4]
mov esi, eax
not esi
or esi, 0xa99cf2e9
or eax, 0x56630d16
and eax, esi
mov dword [0x470ac4], eax
mov eax, 0xb7ff99d6
xor eax, dword [0x4706c8]
mov dword [str.GetCommandLineA], eax
mov eax, 0x45f0e8d3
xor eax, dword [0x4706cc]
mov dword [0x470acc], eax
mov eax, 0x1558d2e4
xor eax, dword [0x4706d0]
mov dword [0x470ad0], eax
mov esi, dword [0x4706d4]
mov ebx, esi
and ebx, 0x3abb39d1
mov eax, esi
and eax, 2
mov edi, esi
or edi, 0xfffffffd
inc edi
mov ebp, 0xfffffffe
sub ebp, ebx
imul ebp, eax
mov eax, esi
and eax, 0x3abb39d3
xor esi, 0x3abb39d3
imul edi, ebx
add edi, ebp
lea eax, [esi + eax*2]
add eax, edi
mov dword [0x470ad4], eax
mov eax, dword [0x4706d8]
mov esi, eax
not esi
and esi, 0x8b3e7f14
mov edi, eax
xor edi, 0x8b3e7f14
or eax, 0x74c180eb
and eax, edi
or eax, esi
mov dword [0x470ad8], eax
mov eax, dword [0x4706dc]
lea esi, [eax + eax]
and esi, 0xf4005ea4
neg esi
add eax, esi
add eax, 0xfa002f52
mov esi, 0x4ed446cc
xor esi, dword [0x4706e0]
mov dword [0x470adc], eax
mov eax, 0xbd68b9fa
xor eax, dword [0x4706e4]
mov dword [0x470ae0], esi
mov esi, 0x8083c019
xor esi, dword [0x4706e8]
mov dword [0x470ae4], eax
mov eax, 0xabd6243e
xor eax, dword [0x4706ec]
mov dword [0x470ae8], esi
mov esi, 0x3451ff7c
xor esi, dword [0x4706f0]
mov dword [str.GetComputerNameExA], eax
mov eax, 0x3844abd1
xor eax, dword [0x4706f4]
mov dword [0x470af0], esi
mov esi, 0x7bc7e767
xor esi, dword [0x4706f8]
mov dword [0x470af4], eax
mov eax, 0xe8deda7a
xor eax, dword [0x4706fc]
mov dword [0x470af8], esi
mov dword [0x470afc], eax
mov eax, dword [0x470700]
lea esi, [eax + eax]
and esi, 0x60ed9b0e
neg esi
add eax, esi
add eax, 0xb076cd87
mov dword [0x470b00], eax
mov eax, 0x48dd1e6a
xor eax, dword [0x470704]
mov dword [0x470b04], eax
mov eax, dword [0x470708]
lea esi, [eax + eax]
and esi, 0xacdcba3a
neg esi
add eax, esi
add eax, 0x566e5d1d
mov dword [0x470b08], eax
mov eax, dword [0x47070c]
lea esi, [eax + eax]
and esi, 0xdd605a0c
neg esi
add eax, esi
add eax, 0x6eb02d06
mov dword [0x470b0c], eax
mov eax, dword [0x470710]
lea esi, [eax + eax]
and esi, 0x43d0fe0a
neg esi
add eax, esi
add eax, 0xa1e87f05
mov esi, 0x1b1c0cb9
xor esi, dword [0x470714]
mov dword [0x470b10], eax
mov eax, 0x2861ad72
xor eax, dword [0x470718]
mov dword [0x470b14], esi
mov dword [0x470b18], eax
mov eax, dword [0x47071c]
mov esi, eax
not esi
or eax, 0xa19ba694
or esi, 0x5e64596b
and esi, eax
not esi
mov eax, 0x24401f3c
xor eax, dword [0x470720]
mov dword [0x470b1c], esi
mov esi, 0x5401a06
xor esi, dword [0x470724]
mov dword [0x470b20], eax
mov eax, 0xae664bb2
xor eax, dword [0x470728]
mov dword [0x470b24], esi
mov esi, 0xe21fb646
xor esi, dword [0x47072c]
mov dword [str.GetConsoleOutputCP], eax
mov eax, 0xc3f4554
xor eax, dword [0x470730]
mov dword [0x470b2c], esi
mov esi, 0xc79185ca
xor esi, dword [0x470734]
mov dword [0x470b30], eax
mov eax, 0x75eeda28
xor eax, dword [0x470738]
mov dword [0x470b34], esi
mov esi, 0x461a5abb
xor esi, dword [0x47073c]
mov dword [0x470b38], eax
mov dword [0x470b3c], esi
mov eax, dword [0x470740]
lea esi, [eax + eax]
and esi, 0xffb96d28
neg esi
add eax, esi
add eax, 0x7fdcb694
mov dword [0x470b40], eax
mov esi, dword [0x470744]
mov eax, esi
and eax, 0xb385e6cc
mov edi, esi
and edi, 2
mov ebx, edi
xor ebx, 2
imul ebx, eax
or eax, 2
imul eax, edi
add eax, ebx
add esi, 0xb385e6ce
mov edi, eax
xor edi, esi
not eax
and eax, esi
add eax, eax
sub eax, edi
mov dword [0x470b44], eax
mov eax, 0x558d0d68
xor eax, dword [0x470748]
mov dword [0x470b48], eax
mov eax, 0x3f07adf1
xor eax, dword [0x47074c]
lea esi, [eax + eax]
not esi
add esi, eax
mov eax, 0x8752176c
xor eax, dword [0x470750]
mov dword [0x470b4c], esi
mov esi, 0x75f22338
xor esi, dword [0x470754]
mov dword [0x470b50], eax
mov dword [0x470b54], esi
mov eax, dword [0x470758]
lea esi, [eax + eax]
and esi, 0xa375a89a
neg esi
add eax, esi
add eax, 0xd1bad44d
mov dword [0x470b58], eax
mov eax, 0xd052c06a
xor eax, dword [0x47075c]
mov dword [0x470b5c], eax
mov eax, 0x7e28ee2e
xor eax, dword [0x470760]
mov dword [0x470b60], eax
mov eax, 0xe7e9a71
xor eax, dword [0x470764]
mov dword [0x470b64], eax
mov eax, 0x211b19dd
xor eax, dword [0x470768]
mov dword [str.GetCurrentThreadId], eax
mov eax, 0xc54f5cef
xor eax, dword [0x47076c]
mov dword [0x470b6c], eax
mov eax, dword [0x470770]
lea esi, [eax + eax]
and esi, 0x225248be
neg esi
add eax, esi
add eax, 0x9129245f
mov esi, 0xdb5f5867
xor esi, dword [0x470774]
mov dword [0x470b70], eax
mov eax, 0xab2f4f7c
xor eax, dword [0x470778]
mov dword [0x470b74], esi
mov esi, 0x403e0634
xor esi, dword [0x47077c]
mov dword [0x470b78], eax
mov eax, 0xe7e211d2
xor eax, dword [0x470780]
mov dword [0x470b7c], esi
mov esi, 0xfb92db05
xor esi, dword [0x470784]
mov dword [0x470b80], eax
mov dword [0x470b84], esi
mov eax, dword [0x470788]
mov esi, eax
not esi
mov edi, esi
and edi, 0xbbfb2029
lea ebx, [edi + edi]
not ebx
add ebx, edi
and ebx, 0xae65f4a0
and esi, 0x119a0009
or esi, ebx
and eax, 0x4404dfd6
xor eax, esi
xor eax, 0xae65f4a0
mov dword [0x470b88], eax
mov eax, 0xc7c92018
xor eax, dword [0x47078c]
mov dword [0x470b8c], eax
mov esi, dword [0x470790]
lea eax, [esi + esi]
and eax, 0xef11565c
add esi, 0xf788ab2e
mov edi, eax
xor edi, esi
not eax
and eax, esi
add eax, eax
sub eax, edi
mov dword [0x470b90], eax
mov eax, 0x2ce029a8
xor eax, dword [0x470794]
mov dword [0x470b94], eax
mov eax, 0x14fd581
xor eax, dword [0x470798]
mov dword [str.GetFileSizeEx], eax
mov eax, 0x7e81850a
xor eax, dword [0x47079c]
mov dword [0x470b9c], eax
mov eax, 0xcd126791
xor eax, dword [0x4707a0]
mov dword [0x470ba0], eax
mov eax, 0x7164efa5
xor eax, dword [0x4707a4]
mov dword [0x470ba4], eax
mov eax, 0xc952aeea
xor eax, dword [0x4707a8]
mov dword [str.GetFileType], eax
mov eax, 0xa3e8dc92
xor eax, dword [0x4707ac]
mov dword [0x470bac], eax
mov esi, dword [esp + 0x18]
mov dword [0x474608], 1
not edx
cmp ecx, 4
jb 0x40d9cf
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, edx
shr eax, 8
movzx edi, byte [esi]
xor edi, edx
not edx
or edx, 0xff
add edx, edi
xor eax, dword [edx*4 + 0x4707b4]
mov edx, eax
shr edx, 8
xor al, byte [esi + 1]
movzx eax, al
mov edi, dword [eax*4 + 0x4707b0]
mov ebx, edi
xor ebx, edx
lea eax, [ebx + ebx]
not eax
add eax, ebx
and eax, edi
mov ebx, eax
and ebx, 2
mov ebp, eax
or eax, 2
imul eax, ebx
xor ebx, 2
and ebp, 0xfffffffd
imul ebp, ebx
sub eax, edi
add eax, ebp
mov edi, edx
not edi
and edi, eax
not eax
and eax, edx
sub eax, edi
movzx edx, byte [esi + 2]
mov ebx, edx
not ebx
mov edi, eax
and edi, edx
and ebx, eax
xor edx, eax
add edx, eax
sub edx, ebx
xor edi, 0xff
and edi, edx
shr eax, 8
xor eax, dword [edi*4 + 0x4707b0]
mov edx, eax
shr edx, 8
xor al, byte [esi + 3]
movzx eax, al
xor edx, dword [eax*4 + 0x4707b0]
mov eax, ecx
or eax, 0xfffffffb
and ecx, 0xfffffffb
add ecx, eax
inc ecx
add esi, 4
cmp ecx, 3
ja 0x40d920
test ecx, ecx
je 0x40d9e1
test cl, 1
jne 0x40d9e5
mov edi, ecx
cmp ecx, 1
jne 0x40da05
jmp 0x40da3f
mov eax, edx
jmp 0x40da3f
mov eax, edx
shr eax, 8
xor dl, byte [esi]
movzx edx, dl
xor eax, dword [edx*4 + 0x4707b0]
inc esi
mov edx, ecx
not edx
lea edi, [edx + ecx*2]
mov edx, eax
cmp ecx, 1
je 0x40da3f
lea ecx, [edi + edi]
xor ebx, ebx
mov eax, edx
nop
nop
nop
nop
mov edx, eax
xor al, byte [esi + ebx]
shr edx, 8
movzx eax, al
xor edx, dword [eax*4 + 0x4707b0]
mov eax, edx
xor dl, byte [esi + ebx + 1]
shr eax, 8
movzx edx, dl
xor eax, dword [edx*4 + 0x4707b0]
add ebx, 2
add ecx, 0xfffffffc
cmp edi, ebx
jne 0x40da10
not eax
pop esi
pop edi
pop ebx
pop ebp
ret