Function at 0x43a650
Capabilities:
Encode data using xor

Disassembly:
push ebx
push edi
push esi
sub esp, 0x48
mov esi, ecx
mov eax, dword [0x48c298]
shr eax, 1
imul eax, eax, 0x93ebef46
and eax, 0x1495b0f2
mov cx, word [0x497f14]
movsx ecx, cx
imul ecx, ecx, 0x833547d
cmp eax, ecx
je 0x43a697
mov ax, word [0x49781a]
dec eax
mov word [0x49781a], ax
cwde
add eax, 0xcfec9767
or dword [0x485230], eax
or dword [0x489de4], 0xc2983ccd
mov eax, dword [0x481b8c]
add dword [0x48913c], eax
mov ax, word [0x48d584]
xor eax, 0x190e
mov word [0x48d584], ax
mov ax, word [0x49211a]
cwde
mov ecx, dword [0x47fcd8]
not ecx
cmp eax, ecx
jge 0x43a708
mov eax, dword [0x47fa84]
shl eax, 0xa
mov cx, word [0x491586]
lea edx, [ecx - 1]
mov word [0x491586], dx
movsx ecx, cx
add ecx, 0x8192651
and ecx, eax
cmp ecx, 0x973dbd1d
jg 0x43a72a
mov dword [0x47cb88], 0x2a2d41ab
jmp 0x43a72a
mov eax, dword [0x4866d8]
cmp eax, 0x373264fb
jl 0x43a720
mov dword [0x479b7c], 0xbfe7f6c7
jmp 0x43a72a
add dword [0x484074], 0x81d8502c
mov eax, dword [esi]
mov dword [esp + 0x40], eax
add dword [0x48b4d4], 0xfdfb8000
mov eax, dword [esi + 4]
mov dword [esp + 0x44], eax
mov eax, dword [0x486a88]
dec eax
mov dword [0x486a88], eax
cmp eax, 0x541312d7
jne 0x43a75f
mov dword [0x484018], 0xe48b8175
jmp 0x43a77f
mov ax, word [0x495652]
cwde
sar eax, 5
add eax, 0x19cf1512
cmp eax, 0x7faebc59
jg 0x43a77f
add dword [0x486350], 0xe03f7a1
mov eax, dword [esi]
mov ecx, dword [0x4880d4]
or ecx, 0x7873021
and dword [0x4853d4], ecx
shr eax, 3
mov ecx, dword [0x4850a8]
inc ecx
mov dword [0x4850a8], ecx
or ecx, 0x5289
mov word [0x48e446], cx
and eax, 0x3f
mov cx, word [0x49559c]
add ecx, 0x2952
mov word [0x49559c], cx
mov cx, word [0x491940]
cmp eax, 0x37
ja 0x43a7ee
add dword [0x47bbac], 0x4c823902
xor dword [0x47c460], 0x2ddba792
mov ecx, 0x38
jmp 0x43a80a
mov ecx, dword [0x4848a0]
mov word [0x493082], cx
and dword [0x4793e8], 0x7bf24b0d
mov ecx, 0x78
sub ecx, eax
add dword [0x48acb0], 0x72b0672b
lea eax, [esi + 0x68]
mov dword [esp + 4], ecx
mov dword [esp], eax
mov ecx, esi
call fcn.004237d0
sub esp, 8
mov eax, dword [0x47b85c]
lea ecx, [eax - 1]
mov dword [0x47b85c], ecx
xor dword [0x48b3dc], eax
xor dword [0x4843f8], 0x9fb939b8
mov ax, word [0x496f28]
or eax, 0x576f
mov word [0x496f28], ax
mov eax, 0x1b
nop
nop
mov cx, word [0x48d3a6]
movsx ecx, cx
and ecx, 0xc4db331c
mov edx, dword [0x477f70]
sub edx, ecx
mov dword [0x477f70], edx
movzx ecx, byte [esi + eax]
mov dx, word [0x491896]
add edx, 0xfffffee1
mov word [0x491896], dx
shl ecx, 0x18
xor dword [0x4831a0], 0x8511ca2
mov dword [esp + eax - 0x13], ecx
mov dword [0x48b9dc], 0x200150
movzx ecx, byte [esi + eax - 1]
mov dx, word [0x497a04]
and edx, 0xcc1d
mov word [0x497a04], dx
shl ecx, 0x10
mov dx, word [0x496c42]
add edx, 0xfffffe00
mov word [0x496c42], dx
or dword [esp + eax - 0x13], ecx
mov ecx, dword [0x47f074]
lea edx, [ecx - 1]
mov dword [0x47f074], edx
mov edx, dword [0x48b08c]
mov edi, dword [0x47f714]
imul edi, edx
imul edi, ecx
imul ecx, edi, 0x4641f460
mov dword [0x47f714], ecx
movzx ecx, byte [esi + eax - 2]
mov edx, dword [0x485ec0]
mov edx, dword [0x483e28]
lea edx, [edx*4 + 0x48d4]
xor edx, 0x8dfe
mov di, word [0x48ed02]
add edi, edx
mov word [0x48ed02], di
shl ecx, 8
or dword [0x489710], 0xba3c536a
or dword [esp + eax - 0x13], ecx
mov ecx, dword [0x47e8c4]
sar ecx, 5
mov edx, dword [0x476b44]
sub edx, ecx
mov dword [0x476b44], edx
movzx ecx, byte [esi + eax - 3]
or dword [esp + eax - 0x13], ecx
mov ecx, dword [0x48bd44]
mov ecx, dword [0x478da0]
and ecx, 0xed7cf7ec
cmp ecx, 0x3035f9b7
jl 0x43a9b8
mov cx, word [0x493fc6]
dec ecx
mov word [0x493fc6], cx
movsx ecx, cx
imul ecx, ecx, 0xc9c2960b
add ecx, 0x9a152a0
mov edx, dword [0x483698]
imul edx, ecx
mov dword [0x483698], edx
or dword [0x47c270], 0x2b3e4b6e
add eax, 4
cmp eax, 0x53
jne 0x43a860
mov ax, word [0x48f838]
cwde
imul eax, eax, 0x34f005ca
mov ecx, dword [0x488f88]
sar ecx, 7
and ecx, eax
mov eax, dword [0x47a88c]
imul eax, ecx
mov dword [0x47a88c], eax
lea eax, [esp + 8]
mov dword [esp], eax
mov ecx, esi
call fcn.00432dd0
sub esp, 4
mov eax, dword [0x48ae34]
lea ecx, [eax + 1]
mov dword [0x48ae34], ecx
mov ecx, dword [0x483d3c]
lea edx, [ecx - 1]
mov dword [0x483d3c], edx
add ecx, eax
add dword [0x485d60], ecx
mov ax, word [0x494b6a]
add eax, 0x3f5f
mov word [0x494b6a], ax
mov eax, dword [0x478194]
mov ecx, dword [0x47e768]
xor ecx, eax
not ecx
mov dword [0x47e768], ecx
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
add dword [0x47c738], 0x902eff91
mov ecx, dword [esi + eax*4 + 8]
mov edx, dword [0x484660]
or edx, 0x35b93fc7
and dword [0x481ce4], edx
mov byte [esi + eax*4 + 0x58], cl
mov edx, dword [0x4808d0]
shr edx, 3
imul edx, edx, 0x9142d752
add edx, 0xdf17
mov di, word [0x490d1c]
xor edi, edx
mov word [0x490d1c], di
dec dword [0x477dd4]
add dword [0x483a20], 0xa35be36e
mov edx, dword [0x486b6c]
imul edx, edx, 0xb5157a30
mov dword [0x486b6c], edx
mov byte [esi + eax*4 + 0x59], ch
mov edx, dword [0x47a95c]
or edx, 0x3171
mov di, word [0x495820]
and edi, edx
mov word [0x495820], di
mov edx, dword [0x47fd30]
lea edi, [edx + 1]
mov dword [0x47fd30], edi
and edx, 0x55fa
mov di, word [0x496d00]
sub edi, edx
mov word [0x496d00], di
mov edx, ecx
shr edx, 0x10
mov edi, dword [0x480b8c]
mov ebx, dword [0x478654]
imul ebx, edi
imul edi, ebx, 0x9848a8cc
add dword [0x4792d8], edi
mov byte [esi + eax*4 + 0x5a], dl
mov edx, dword [0x4863b4]
lea edi, [edx - 1]
mov dword [0x4863b4], edi
and edx, 0xa36f1cc0
mov edi, dword [0x4822b8]
sub edi, edx
mov dword [0x4822b8], edi
and dword [0x48a498], 0xc0100840
shr ecx, 0x18
add dword [0x48c2dc], 0xad70ad29
mov byte [esi + eax*4 + 0x5b], cl
mov ecx, dword [0x4809f0]
dec ecx
mov dword [0x4809f0], ecx
xor ecx, 0x7c8460b1
mov edx, dword [0x488e7c]
imul edx, ecx
mov dword [0x488e7c], edx
mov ecx, dword [0x486abc]
mov edx, dword [0x477744]
and edx, ecx
and edx, 0x73770bf8
mov dword [0x477744], edx
inc eax
mov dword [0x47bfa8], 0x908b4c2b
mov word [0x490ec8], 0xf6f2
cmp eax, 4
jne 0x43aa60
mov ax, word [0x4970d6]
cwde
mov ecx, dword [0x47a010]
and ecx, eax
and ecx, 0x19b6ef8b
mov dword [0x47a010], ecx
add esp, 0x48
pop esi
pop edi
pop ebx
ret