Function at 0x430800
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
movzx eax, word [0x44dd5a]
imul eax, eax, 0xd16395ab
mov word [0x44dd5a], ax
or dword [0x43c2e0], 0x9f7fbf7c
mov ecx, dword [0x4473c0]
push ebx
mov ebx, dword [ebp + 0x10]
sub ecx, 0x26f12be7
push esi
mov esi, dword [ebp + 8]
xor ecx, 0x4e161a55
mov word [0x44843e], cx
cmp esi, ebx
jne 0x4308d9
mov dx, word [0x448914]
movsx eax, dx
or eax, 0x577fe7fb
cmp eax, 0x11003123
je 0x430873
movzx ecx, word [0x44fc12]
xor ecx, 0x276dbaf1
mov word [0x44fc12], cx
mov edx, dword [0x4467ac]
mov ebx, dword [ebp + 0xc]
imul edx, edx, 0xe8db656c
mov dword [0x4467ac], edx
mov dword [0x43b0dc], 0x7a9152ac
mov ax, word [0x44e696]
mov edx, dword [0x441164]
inc dword [0x441164]
cwde
sub eax, edx
mov ecx, esi
cmp eax, 0xedd95f5a
je 0x4308dc
mov eax, dword [0x43cbc0]
not eax
sub eax, 0x778b2e39
cmp eax, 0x921f3111
je 0x4308dc
movzx edx, word [0x44cee8]
and edx, 0xd4cd0368
mov word [0x44cee8], dx
jmp 0x4308dc
mov ecx, dword [ebp + 0xc]
add dword [0x443d90], 0xbe7f1b7e
cmp esi, ecx
je 0x4308fc
push ecx
push esi
call fcn.0040bdf0
add esp, 8
test eax, eax
jne 0x430b41
mov eax, dword [0x44476c]
imul eax, eax, 0x88bdcbfc
push edi
mov dword [0x44476c], eax
mov edi, dword [ebx + 4]
sub edi, 1
js 0x43092d
mov ecx, dword [ebx + 8]
lea eax, [ecx + edi*4]
jmp 0x430920
cmp dword [eax], 0
jne 0x43092d
dec edi
sub eax, 4
test edi, edi
jge 0x430920
xor dword [0x438fe0], 0xc182e680
lea eax, [edi + 1]
push eax
push esi
mov dword [ebp + 0x10], eax
call fcn.00425a60
add esp, 8
mov dword [ebp + 0xc], eax
test eax, eax
jne 0x430b40
add dword [0x441d08], 0xc7873356
mov ecx, dword [0x4452f8]
mov ax, word [0x44e96c]
mov edx, dword [ebx + 8]
shl ecx, 6
cwde
add ecx, 0x963eca31
xor eax, ecx
and dword [0x440894], eax
mov ecx, dword [esi + 8]
add dword [0x4393b0], 0x79ec0bbc
inc dword [0x4409c4]
mov eax, dword [0x440e98]
mov ebx, dword [0x43d054]
and eax, ebx
mov ebx, dword [0x4409c4]
xor esi, esi
cmp eax, ebx
jge 0x4309c6
mov ax, word [0x45021a]
movzx ebx, word [0x449fb6]
cwde
imul eax, eax, 0x7be4cd09
sub ebx, eax
mov word [0x449fb6], bx
test edi, edi
jl 0x430b33
mov ebx, dword [ebp + 0x10]
mov dword [ebp + 0x10], ebx
xor dword [0x444464], 0x5f9289e3
add dword [ecx], esi
mov eax, dword [0x44156c]
imul eax, eax, 0x6edfed7f
mov dword [0x44156c], eax
cmp dword [ecx], esi
sbb esi, esi
add dword [0x4378e4], 0x87ea3c23
mov eax, dword [edx]
add dword [ecx], eax
movzx eax, word [0x44945c]
movsx edi, ax
sub dword [0x440668], edi
mov eax, dword [ecx]
neg esi
cmp eax, dword [edx]
sbb eax, eax
neg eax
add esi, eax
movzx eax, word [0x44dd24]
movsx edi, ax
movzx eax, word [0x44bf24]
and eax, edi
add edx, 4
add ecx, 4
sub dword [ebp + 0x10], 1
mov word [0x44dd24], ax
jne 0x4309d4
mov eax, dword [ebp + 0xc]
test esi, esi
je 0x430b36
mov edi, edi
mov edi, dword [ebp + 8]
and dword [0x444298], 0x17001801
cmp ebx, dword [edi + 4]
jl 0x430acc
or dword [0x43b640], 0xc666a175
lea ecx, [ebx + 1]
push ecx
push edi
call fcn.00425a60
add esp, 8
test eax, eax
jne 0x430b40
mov ecx, dword [0x445de0]
mov dx, word [0x4501aa]
movsx edx, dx
not ecx
xor edx, ecx
mov ecx, dword [0x443550]
imul ecx, edx
mov dword [0x443550], ecx
inc word [0x4501aa]
mov edx, dword [edi + 8]
lea ecx, [edx + ebx*4]
mov edx, dword [0x446b54]
mov edi, dword [0x443ebc]
or edx, 0x997c1ae6
imul edi, edx
mov dword [0x443ebc], edi
mov edx, dword [0x43e344]
imul edx, edx, 0x5b1a98ec
mov dword [0x43e344], edx
add dword [ecx], esi
inc dword [0x43a138]
mov edi, dword [0x43a138]
mov edx, 0x143880e3
sub edx, edi
xor dword [0x44291c], edx
cmp dword [ecx], esi
sbb esi, esi
add dword [0x446808], 0x3777abe1
mov edx, dword [0x43f390]
imul edx, edx, 0xfc9fa465
neg esi
inc ebx
mov dword [0x43f390], edx
test esi, esi
jne 0x430a50
and dword [0x43d178], 0x9596afa3
pop edi
pop esi
pop ebx
pop ebp
ret
mov eax, dword [ebp + 0xc]
and dword [0x43d178], 0x9596afa3
pop edi
pop esi
pop ebx
pop ebp
ret