Function at 0x439186
Capabilities:
Encode data using xor
Encrypt data using rc4 ksa

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2cc
push ebx
push esi
push edi
push 0x51
xor ebx, ebx
mov dword [ebp - 0xdc], ecx
mov dword [ebp - 0xd8], edx
mov eax, ebx
pop ecx
mov dword [ebp - 0x44], 0x15
mov dword [ebp - 0x40], 0xffffff9a
add ecx, dword [ebp + eax*4 - 0x44]
inc eax
cmp eax, 2
jl 0x4391b3
mov dword [ebp - 0xe0], ecx
mov eax, 0x403958
mov ecx, ebx
inc ecx
lea eax, [eax + 2]
cmp ecx, 0x40b
jl 0x4391e5
cmp word [eax], bx
jne 0x4391ca
mov eax, dword [0x44a7d0]
mov dword [ebp - 0x1c], eax
jmp 0x439204
push 0x403970
mov edx, 0x4039e0
call fcn.00438385
mov edx, dword [0x44a7d0]
and edx, 0x3d1f8430
pop ecx
mov dword [ebp - 0x1c], edx
mov eax, dword [0x44a794]
lea edi, [ebp - 0x208]
and eax, 0xfbefcfb6
mov byte [ebp - 0x18], 0x87
or eax, 0xabed8bb0
mov dword [ebp - 0x16], 0x74f713cb
push 0xc
mov dword [ebp - 0x24], eax
mov esi, 0x4038f4
pop eax
push 0x1c
mov byte [ebp - 0x17], al
pop eax
push 7
pop ecx
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 0xd4], eax
mov byte [ebp - 8], al
mov eax, ebx
mov dword [ebp - 0x12], 0x9c20f2ab
movsw word es:[edi], word [esi]
mov dword [ebp - 0xe], 0x2569a7b8
mov word [ebp - 0xa], 0x855c
mov dword [ebp - 7], 0xd5386e77
movsb byte es:[edi], byte [esi]
mov word [ebp - 3], 0x9250
mov edi, ebx
mov byte [ebp - 1], 0xd0
mov byte [ebp + eax - 0x1e8], al
inc eax
cmp eax, 0x100
jb 0x43926f
push 0x1e
mov esi, ebx
pop ecx
xor edx, edx
mov bl, byte [ebp + esi - 0x1e8]
mov eax, esi
div ecx
movzx ecx, bl
push 0x1e
movzx eax, byte [ebp + edx - 0x208]
add eax, edi
add ecx, eax
movzx edi, cl
pop ecx
mov al, byte [ebp + edi - 0x1e8]
mov byte [ebp + esi - 0x1e8], al
inc esi
mov byte [ebp + edi - 0x1e8], bl
cmp esi, 0x100
jb 0x439283
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
sub dword [ebp - 0x24], 0xdfcf028
movzx edi, al
mov cl, byte [ebp + edi - 0x1e8]
movzx edx, cl
lea eax, [ebx + edx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x1e8]
mov byte [ebp + edi - 0x1e8], al
mov byte [ebp + ebx - 0x1e8], cl
movzx eax, byte [ebp + edi - 0x1e8]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x1e8]
xor al, byte [ebp + esi - 0x18]
mov byte [ebp + esi - 0x224], al
inc esi
cmp esi, 0x18
jb 0x4392cb
push 0xc
pop eax
mov esi, 0x403914
mov byte [ebp - 0xbb], al
lea edi, [ebp - 0x44]
mov dword [ebp - 0xd0], 0x5675e61d
push 9
pop eax
movsd dword es:[edi], dword [esi]
xor ecx, ecx
and dword [ebp - 0x1c], 0x1c300625
mov ebx, ecx
mov byte [ebp - 0xb2], al
push 0x1c
movsd dword es:[edi], dword [esi]
pop eax
mov byte [ebp - 0xac], al
mov eax, ecx
mov byte [ebp - 0x20c], cl
mov dword [ebp - 0xcc], 0x4cdbd121
mov dword [ebp - 0xc8], 0xea25d984
mov dword [ebp - 0xc4], 0x4d93a7e9
mov dword [ebp - 0xc0], 0x1b26103a
mov byte [ebp - 0xbc], 0x99
mov dword [ebp - 0xba], 0x5abd3fb0
mov dword [ebp - 0xb6], 0x70376aae
mov dword [ebp - 0xb1], 0xc0af1ad6
mov byte [ebp - 0xad], 0xda
mov dword [ebp - 0xab], 0x2df1133e
mov dword [ebp - 0xa7], 0xfd7e1965
mov dword [ebp - 0xa3], 0x6d59f4c5
mov dword [ebp - 0x9f], 0xd09fe62b
mov dword [ebp - 0x9b], 0xa2011a29
mov dword [ebp - 0x97], 0xf82f4641
mov dword [ebp - 0x93], 0x26c7e9f9
mov dword [ebp - 0x8f], 0x942fbe4d
mov dword [ebp - 0x8b], 0x57a45dfc
mov dword [ebp - 0x87], 0xe3a63421
mov dword [ebp - 0x83], 0xa59f10bb
mov dword [ebp - 0x7f], 0x84cc9f93
mov dword [ebp - 0x7b], 0x9f2d9143
mov dword [ebp - 0x77], 0x614bfc15
mov dword [ebp - 0x73], 0xbde768b2
mov dword [ebp - 0x6f], 0xaae4867a
mov dword [ebp - 0x6b], 0xe589f8e
mov word [ebp - 0x67], 0x5c18
mov byte [ebp - 0x65], 0x54
movsb byte es:[edi], byte [esi]
mov byte [ebp + eax - 0x1e8], al
inc eax
cmp eax, 0x100
jb 0x43945b
mov esi, ecx
mov dl, byte [ebp + esi - 0x1e8]
mov eax, esi
and eax, 7
movzx ecx, dl
movzx eax, byte [ebp + eax - 0x44]
add eax, ebx
add ecx, eax
movzx ebx, cl
mov al, byte [ebp + ebx - 0x1e8]
mov byte [ebp + esi - 0x1e8], al
inc esi
mov byte [ebp + ebx - 0x1e8], dl
cmp esi, 0x100
jb 0x43946c
xor eax, eax
mov edi, eax
mov ebx, eax
mov esi, eax
lea eax, [ebx + 1]
movzx ebx, al
mov cl, byte [ebp + ebx - 0x1e8]
movzx edx, cl
lea eax, [edi + edx]
movzx edi, al
mov al, byte [ebp + edi - 0x1e8]
mov byte [ebp + ebx - 0x1e8], al
mov byte [ebp + edi - 0x1e8], cl
movzx eax, byte [ebp + ebx - 0x1e8]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x1e8]
xor al, byte [ebp + esi - 0xd0]
mov byte [ebp + esi - 0x2cc], al
inc esi
cmp esi, 0x6c
jb 0x4394ad
xor eax, eax
mov dword [ebp - 0x18], 0xe2a5d56e
mov byte [ebp - 0x260], al
mov ebx, 0x4039e0
push 5
pop eax
mov byte [ebp - 4], al
mov edx, 0x10d1
mov eax, dword [0x401c7c]
mov dword [ebp - 0x44], eax
mov ax, word [0x401c80]
push 0x6f
mov word [ebp - 0x40], ax
mov eax, ebx
mov dword [ebp - 0x14], 0xad73db9d
mov dword [ebp - 0x10], 0x3f3f13d4
mov dword [ebp - 0xc], 0x135a90da
mov dword [ebp - 8], 0x9e0f3750
mov word [ebp - 3], 0x3b8
mov byte [ebp - 1], 0xfc
pop ecx
add edx, ecx
inc eax
cmp edx, 0x1121
ja 0x439570
movsx ecx, byte [eax]
test ecx, ecx
jne 0x43955c
jmp 0x439587
push 0x403958
mov edx, ebx
call fcn.00438385
imul edi, dword [ebp - 0x24], 0x693a55fd
pop ecx
mov dword [ebp - 0x1c], edi
xor ecx, ecx
mov eax, ecx
mov byte [ebp + eax - 0x1e8], al
inc eax
cmp eax, 0x100
jb 0x43958b
mov esi, ecx
mov edi, ecx
xor edx, edx
mov bl, byte [ebp + esi - 0x1e8]
push 5
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x44]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x1e8]
mov byte [ebp + esi - 0x1e8], al
inc esi
mov byte [ebp + edi - 0x1e8], bl
cmp esi, 0x100
jb 0x43959e
mov edi, dword [ebp - 0x1c]
or edi, 0x6882362b
xor eax, eax
mov dword [ebp - 0x20], edi
mov ebx, eax
mov edi, eax
mov esi, eax
lea eax, [ebx + 1]
movzx ebx, al
mov cl, byte [ebp + ebx - 0x1e8]
movzx edx, cl
lea eax, [edi + edx]
movzx edi, al
mov al, byte [ebp + edi - 0x1e8]
mov byte [ebp + ebx - 0x1e8], al
mov byte [ebp + edi - 0x1e8], cl
movzx eax, byte [ebp + ebx - 0x1e8]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x1e8]
xor al, byte [ebp + esi - 0x18]
mov byte [ebp + esi - 0x240], al
inc esi
cmp esi, 0x18
jb 0x4395ef
mov edi, dword [ebp - 0x1c]
xor eax, eax
mov ebx, dword [ebp - 0x20]
mov edx, 0x758
mov byte [ebp - 0x228], al
mov eax, dword [0x4021ec]
mov dword [ebp - 0x44], eax
mov ax, word [0x4021f0]
push 0x6f
mov word [ebp - 0x40], ax
mov eax, 0x4039e0
mov dword [ebp - 0x18], 0x7a28c5c3
mov dword [ebp - 0x14], 0x8f2c94b2
mov dword [ebp - 0x10], 0xc8ceb6f5
mov dword [ebp - 0xc], 0x824c3d38
mov dword [ebp - 8], 0xac43a6e4
mov dword [ebp - 4], 0xcaaa62d6
pop ecx
add edx, ecx
inc eax
cmp edx, 0x182
ja 0x4396b5
movsx ecx, byte [eax]
test ecx, ecx
jne 0x439696
lea esi, [ebx + 0x3c4bd7a9]
mov ebx, 0x4039e0
jmp 0x4396cd
mov ebx, 0x4039e0
push 0x403970
mov edx, ebx
call fcn.00438385
pop ecx
imul esi, edi, 0x219042fa
push 0x403970
mov edx, ebx
call fcn.00438385
pop ecx
mov edi, 0x403958
mov edx, 0x24b7
push 0x73
mov eax, edi
pop ecx
add edx, ecx
lea eax, [eax + 2]
cmp edx, 0x157a
ja 0x4396ff
movzx ecx, word [eax]
test ecx, ecx
jne 0x4396e9
jmp 0x439705
add esi, 0x3e932aea
lea eax, [esi + 0x3c628241]
mov ecx, 0x403970
push 0x6e
mov dword [ebp - 0x1c], eax
pop edx
lea eax, [edx - 0x30]
push 9
pop edx
cmp ax, dx
ja 0x439730
add ecx, 2
movzx eax, word [ecx]
mov edx, eax
test ax, ax
jne 0x439716
jmp 0x43973a
mov eax, esi
xor eax, 0x37649c61
mov dword [ebp - 0x1c], eax
push edi
mov edx, ebx
call fcn.00438385
pop ecx
xor ecx, ecx
mov edi, ecx
mov eax, ecx
mov byte [ebp + eax - 0x1e8], al
inc eax
cmp eax, 0x100
jb 0x439749
mov esi, ecx
xor edx, edx
mov bl, byte [ebp + esi - 0x1e8]
push 5
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x44]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x1e8]
mov byte [ebp + esi - 0x1e8], al
inc esi
mov byte [ebp + edi - 0x1e8], bl
cmp esi, 0x100
jb 0x43975a
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x1e8]
movzx edx, cl
lea eax, [ebx + edx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x1e8]
mov byte [ebp + edi - 0x1e8], al
mov byte [ebp + ebx - 0x1e8], cl
movzx eax, byte [ebp + edi - 0x1e8]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x1e8]
xor al, byte [ebp + esi - 0x18]
mov byte [ebp + esi - 0x25c], al
inc esi
cmp esi, 0x18
jb 0x43979f
mov esi, 0x401d20
mov dword [ebp - 0x24], 0x18c84f32
lea edi, [ebp - 0x48]
xor ecx, ecx
mov byte [ebp - 0x244], cl
mov eax, ecx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov edi, dword [ebp - 0x1c]
xor edi, 0xa35241d
mov dword [ebp - 0x1c], edi
mov dword [0x44a794], edi
mov byte [ebp + eax - 0x1e8], al
inc eax
cmp eax, 0x100
jb 0x43981e
mov esi, ecx
mov edi, ecx
xor edx, edx
mov bl, byte [ebp + esi - 0x1e8]
push 0xc
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x48]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x1e8]
mov byte [ebp + esi - 0x1e8], al
inc esi
mov byte [ebp + edi - 0x1e8], bl
cmp esi, 0x100
jb 0x439831
mov edi, dword [ebp - 0x1c]
xor eax, eax
mov dword [ebp - 0x20], eax
mov ebx, eax
mov esi, eax
lea eax, [ebx + 1]
movzx ebx, al
mov eax, dword [ebp - 0x20]
push 0x6e
mov cl, byte [ebp + ebx - 0x1e8]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 0x20], eax
mov al, byte [ebp + eax - 0x1e8]
mov byte [ebp + ebx - 0x1e8], al
mov eax, dword [ebp - 0x20]
mov byte [ebp + eax - 0x1e8], cl
mov ecx, 0x403970
movzx eax, byte [ebp + ebx - 0x1e8]
add eax, edx
movzx eax, al
pop edx
mov al, byte [ebp + eax - 0x1e8]
mov byte [ebp - 0x25], al
lea eax, [edx - 0x30]
push 9
pop edx
cmp ax, dx
ja 0x4398e6
add ecx, 2
movzx eax, word [ecx]
mov edx, eax
test ax, ax
jne 0x4398cc
jmp 0x4398f2
sub edi, 0x2eb232c6
mov dword [0x44a794], edi
push edi
mov eax, edi
or eax, 0x93357ec3
push ecx
push ecx
mov dword [0x44a7d0], eax
call fcn.0043840e
mov al, byte [ebp + esi - 0x24]
add esp, 0xc
xor al, byte [ebp - 0x25]
mov byte [ebp + esi - 0x40], al
inc esi
cmp esi, 4
jb 0x43987a
xor edx, edx
mov dword [ebp - 0x34], 0x1d
mov byte [ebp - 0x3c], dl
mov ecx, edx
mov dword [ebp - 0x30], 0x2f
mov eax, edx
mov dword [ebp - 0x2c], 0xffffffb4
sub ecx, dword [ebp + eax*4 - 0x34]
inc eax
cmp eax, 3
jl 0x43993c
push 0x46
mov dword [ebp - 0x24], ecx
mov eax, edx
pop ecx
mov dword [ebp - 0x30], 0x1b
mov dword [ebp - 0x2c], 0xffffff9f
add ecx, dword [ebp + eax*4 - 0x30]
inc eax
cmp eax, 2
jl 0x43995c
mov dword [ebp - 0x1c], ecx
mov eax, edx
mov ecx, edx
mov dword [ebp - 0x34], 0x62
mov dword [ebp - 0x30], 0x12
mov dword [ebp - 0x2c], 0xffffff8c
sub ecx, dword [ebp + eax*4 - 0x34]
inc eax
cmp eax, 3
jl 0x439982
push 0x32
mov dword [ebp - 0xe4], ecx
mov eax, edx
mov dword [ebp - 0x30], 0x1e
mov dword [ebp - 0x2c], 0xffffffb0
pop ecx
add ecx, dword [ebp + eax*4 - 0x30]
inc eax
cmp eax, 2
jl 0x4399a5
push 0x3d
mov dword [ebp - 0xe8], ecx
mov eax, edx
pop ecx
mov dword [ebp - 0x34], 0x5b
mov dword [ebp - 0x30], 0x37
mov dword [ebp - 0x2c], 0xffffff59
add ecx, dword [ebp + eax*4 - 0x34]
inc eax
cmp eax, 3
jl 0x4399cf
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0x2c], ecx
lea ecx, [ebp - 0x224]
mov dword [ebp - 0x20], eax
call fcn.004342df
lea ecx, [ebp - 0x2cc]
mov ebx, eax
call fcn.004342df
lea ecx, [ebp - 0x240]
mov edi, eax
call fcn.004342df
or dword [0x44a7d0], 0xe2668414
lea ecx, [ebp - 0x40]
mov esi, eax
push esi
push edi
push ebx
push dword [ebp + 0x10]
call fcn.0041d4e5
mov edx, eax
lea ecx, [ebp - 0x25c]
call fcn.0041d4c4
call eax
mov ecx, ebx
call fcn.004348b9
push eax
push dword [ebp - 0x24]
push ebx
call fcn.0043423a
mov ecx, edi
call fcn.004348b9
push eax
push dword [ebp - 0x1c]
push edi
call fcn.0043423a
mov ecx, esi
call fcn.004348b9
push eax
push dword [ebp - 0xe4]
push esi
call fcn.0043423a
add esp, 0x34
mov ecx, ebx
call fcn.0041d467
mov ecx, edi
call fcn.0041d467
mov ecx, esi
call fcn.0041d467
mov edx, dword [ebp + 8]
mov ecx, dword [ebp + 0x10]
call fcn.00434d6a
cmp dword [ebp + 0x14], 0
je 0x439c46
push 7
pop ecx
mov esi, 0x4022ac
mov dword [ebp - 0x18], 0x2623a510
lea edi, [ebp - 0x208]
mov dword [ebp - 0x14], 0xbe0f9bbc
rep movsd dword es:[edi], dword [esi]
xor ecx, ecx
mov dword [ebp - 0x10], 0x42b87975
mov dword [ebp - 0xc], 0x46ae6c38
mov ebx, ecx
mov dword [ebp - 8], 0x58baf40f
mov eax, ecx
mov dword [ebp - 4], 0x589350b9
movsb byte es:[edi], byte [esi]
mov byte [ebp + eax - 0x1e8], al
inc eax
cmp eax, 0x100
jb 0x439ad7
mov esi, dword [0x44a7d0]
mov edi, ecx
xor edx, edx
mov cl, byte [ebp + edi - 0x1e8]
mov eax, edi
mov byte [ebp + 0x17], cl
div dword [ebp - 0xd4]
movzx ecx, cl
movzx eax, byte [ebp + edx - 0x208]
add eax, ebx
add ecx, eax
xor edx, edx
movzx ebx, cl
mov ecx, edx
mov al, byte [ebp + ebx - 0x1e8]
mov byte [ebp + edi - 0x1e8], al
mov eax, 0x403970
inc ecx
lea eax, [eax + 2]
cmp ecx, 0xeec
je 0x439b3e
cmp word [eax], dx
jne 0x439b2b
jmp 0x439b44
add esi, 0x1d90526f
or esi, 0xe955a11d
push esi
push ecx
push ecx
call fcn.0043840e
mov al, byte [ebp + 0x17]
add esp, 0xc
inc edi
mov byte [ebp + ebx - 0x1e8], al
cmp edi, 0x100
jb 0x439aee
xor eax, eax
mov ebx, eax
mov edi, eax
lea eax, [ebx + 1]
movzx ebx, al
mov cl, byte [ebp + ebx - 0x1e8]
movzx eax, cl
mov dword [ebp + 0x14], eax
add eax, edx
movzx edx, al
mov dword [ebp - 0xd4], edx
mov al, byte [ebp + edx - 0x1e8]
mov byte [ebp + ebx - 0x1e8], al
mov eax, 0x403958
mov byte [ebp + edx - 0x1e8], cl
xor edx, edx
mov ecx, edx
inc ecx
lea eax, [eax + 2]
cmp ecx, 0x14bb
jl 0x439bbd
cmp word [eax], dx
jne 0x439baa
jmp 0x439bc8
push esi
push ecx
push ecx
call fcn.0043840e
add esp, 0xc
xor esi, 0xf61de665
mov eax, esi
mov edx, 0x4039e0
xor eax, 0x30025e92
push 0x403958
mov dword [0x44a794], eax
call fcn.00438385
movzx eax, byte [ebp + ebx - 0x1e8]
add eax, dword [ebp + 0x14]
mov edx, dword [ebp - 0xd4]
movzx eax, al
pop ecx
mov al, byte [ebp + eax - 0x1e8]
xor al, byte [ebp + edi - 0x18]
mov byte [ebp + edi - 0x64], al
inc edi
cmp edi, 0x18
jb 0x439b6e
mov ecx, dword [ebp - 0xdc]
lea edx, [ebp - 0x64]
xor eax, eax
mov dword [0x44a7d0], esi
mov esi, dword [ebp + 0xc]
mov byte [ebp - 0x4c], al
lea eax, [ebp - 0x20]
push esi
push eax
push dword [ebp + 0x10]
push dword [ebp - 0xd8]
call fcn.004256a7
jmp 0x439db9
mov esi, 0x401fdc
mov dword [ebp - 0x64], 0x48d4d861
lea edi, [ebp - 0x14]
mov dword [ebp - 0x60], 0x469479b5
xor eax, eax
mov dword [ebp - 0x5c], 0x8b0e9b73
push 0x6f
movsd dword es:[edi], dword [esi]
mov edx, 0x4039e0
pop ebx
mov dword [ebp - 0x58], 0x27375386
mov ecx, edx
mov dword [ebp - 0x54], 0xb216d43d
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x50], 0xa37d1eab
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov edi, eax
mov al, bl
sub al, 0x30
cmp al, 9
ja 0x439ca2
inc ecx
mov al, byte [ecx]
test al, al
jne 0x439c8d
mov ecx, dword [0x44a7d0]
jmp 0x439cdf
sub bl, 0x30
cmp bl, 9
ja 0x439cbb
inc edx
mov al, byte [edx]
mov bl, al
test al, al
jne 0x439ca2
mov ecx, dword [0x44a7d0]
jmp 0x439ccd
mov ecx, dword [0x44a794]
add ecx, 0xa77ffe99
mov dword [0x44a7d0], ecx
mov eax, ecx
or eax, 0xc137f1e9
push eax
push ecx
push ecx
call fcn.0043840e
add esp, 0xc
and ecx, 0xe495bba5
mov ebx, 0x100
mov dword [0x44a794], ecx
xor ecx, ecx
mov eax, ecx
mov byte [ebp + eax - 0x1e8], al
inc eax
cmp eax, ebx
jb 0x439cf4
mov esi, ecx
mov dl, byte [ebp + esi - 0x1e8]
mov eax, esi
and eax, 0xf
movzx ecx, dl
movzx eax, byte [ebp + eax - 0x14]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x1e8]
mov byte [ebp + esi - 0x1e8], al
inc esi
mov byte [ebp + edi - 0x1e8], dl
cmp esi, ebx
jb 0x439d02
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x1e8]
movzx edx, cl
lea eax, [ebx + edx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x1e8]
mov byte [ebp + edi - 0x1e8], al
mov byte [ebp + ebx - 0x1e8], cl
movzx eax, byte [ebp + edi - 0x1e8]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x1e8]
xor al, byte [ebp + esi - 0x64]
mov byte [ebp + esi - 0x204], al
inc esi
cmp esi, 0x18
jb 0x439d3f
mov esi, dword [ebp + 0xc]
lea edx, [ebp - 0x204]
mov ecx, dword [ebp - 0xdc]
xor eax, eax
mov byte [ebp - 0x1ec], al
lea eax, [ebp - 0x20]
push esi
push eax
push dword [ebp + 0x10]
push dword [ebp - 0xd8]
call fcn.00420897
mov edi, eax
add esp, 0x10
cmp edi, dword [ebp - 0xe8]
jne 0x439e2b
mov edx, dword [ebp - 0x20]
cmp edx, dword [ebp - 0x2c]
jbe 0x439e2b
xor dword [0x44a7d0], 0xaf5a1dbd
xorps xmm1, xmm1
mov dword [ebp - 0x38], 0x24
mov dword [ebp - 0x34], 0x2e
mov dword [ebp - 0x30], 0x62
mov dword [ebp - 0x2c], 0xffffff4c
movups xmm0, xmmword [ebp - 0x38]
psubd xmm1, xmm0
movaps xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
cmp esi, eax
je 0x439e2b
mov ecx, esi
call fcn.0041c00b
mov ecx, dword [ebp + 0x18]
mov dword [ecx], eax
mov eax, edi
pop edi
pop esi
pop ebx
leave
ret