Function at 0x432060
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 0xc]
sub esp, 0x28
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
mov edi, dword [ebp + 0x18]
push 0
push 0x63df30
push 0x63def8
push 0
push eax
mov byte [eax + 4], 1
call fcn.005b50f7
mov esi, eax
add esp, 0x14
test esi, esi
je 0x432df4
mov eax, dword [esi + 0x48]
test eax, eax
mov dword [ebp - 8], eax
jne 0x432752
mov eax, dword [esi]
mov edx, dword [eax + 0x7c]
mov ecx, esi
call edx
mov ecx, dword [edi + 4]
mov edx, dword [ebp + 0xc]
imul ecx, dword [edx + 0x24]
add ecx, dword [edi]
mov edx, dword [ebx]
lea eax, [eax + ecx*4]
mov dword [ebp - 4], eax
mov eax, dword [edx + 0x7c]
mov ecx, ebx
call eax
mov ecx, dword [ebx + 0x24]
imul ecx, dword [ebp + 0x14]
add ecx, dword [ebp + 0x10]
cmp byte [ebx + 0x52], 0
lea edx, [eax + ecx*4]
mov dword [ebp + 0x14], edx
jne 0x432306
cmp byte [ebx + 0x51], 0
jne 0x432306
mov ebx, dword [ebp + 0x1c]
mov eax, 0x6408f8
mov ecx, ebx
call fcn.00404a80
test al, al
jne 0x432309
mov eax, dword [esi]
mov edx, dword [eax + 0x48]
mov ecx, esi
call edx
mov ecx, dword [edi + 4]
mov edx, dword [ebp + 0xc]
imul ecx, dword [edx + 0x24]
add ecx, dword [edi]
mov dword [ebp - 0x14], 0
add ecx, eax
cmp dword [edi + 0xc], 0
mov dword [ebp - 0x10], ecx
jle 0x432dea
nop
mov eax, dword [ebp + 0x18]
mov edi, dword [eax + 8]
test edi, edi
mov esi, dword [ebp + 0x14]
mov edx, dword [ebp - 4]
mov dword [ebp + 0x10], ecx
mov dword [ebp - 8], edi
jle 0x4322bb
lea ebx, [ebx]
mov eax, dword [ebp + 0x10]
mov al, byte [eax]
mov ecx, dword [edx]
movzx ebx, al
cmp ebx, edi
mov byte [ebp + 0x1f], al
jle 0x432167
mov al, byte [ebp - 8]
mov byte [ebp + 0x1f], al
mov ebx, ecx
shr ebx, 0x18
mov edi, 0x100
sub edi, ebx
cmp edi, 1
mov dword [ebp - 0x20], edi
jne 0x43219c
movzx eax, al
test eax, eax
jle 0x4322a5
mov ecx, eax
mov edi, dword [edx]
mov dword [esi], edi
add esi, 4
add edx, 4
sub ecx, 1
jne 0x432188
jmp 0x4322a5
cmp edi, 0x100
jne 0x4321b7
movzx eax, al
lea ecx, [eax*4]
add esi, ecx
add edx, ecx
jmp 0x4322a5
mov eax, 0x100
sub eax, edi
mov dword [ebp - 0xc], eax
mov eax, dword [esi]
mov ebx, eax
and ebx, 0xff00ff
imul ebx, edi
mov edi, ecx
and eax, 0xff00
imul eax, dword [ebp - 0x20]
and edi, 0xff00ff
imul edi, dword [ebp - 0xc]
and ecx, 0xff00
imul ecx, dword [ebp - 0xc]
shr ebx, 8
shr eax, 8
shr edi, 8
add ebx, edi
shr ecx, 8
add eax, ecx
and ebx, 0xffff00ff
and eax, 0xff00
or ebx, eax
movzx eax, byte [ebp + 0x1f]
or ebx, 0xff000000
mov dword [esi], ebx
add edx, 4
add esi, 4
cmp eax, 1
mov dword [ebp - 0x1c], eax
jle 0x4322a5
add eax, 0xffffffff
mov dword [ebp + 0x1c], eax
mov edi, edi
mov ecx, dword [edx]
mov eax, dword [esi]
add edx, 4
mov dword [ebp - 0xc], edx
mov edx, ecx
mov ebx, eax
shr edx, 0x18
and ebx, 0xff00ff
mov edi, 0x100
sub edi, edx
imul ebx, edi
mov dword [ebp - 0x20], edi
mov edi, ecx
and eax, 0xff00
imul eax, dword [ebp - 0x20]
and edi, 0xff00ff
and ecx, 0xff00
imul edi, edx
imul ecx, edx
mov edx, dword [ebp - 0xc]
shr ebx, 8
shr eax, 8
shr edi, 8
add ebx, edi
shr ecx, 8
add eax, ecx
and ebx, 0xffff00ff
and eax, 0xff00
or ebx, eax
or ebx, 0xff000000
mov dword [esi], ebx
add esi, 4
sub dword [ebp + 0x1c], 1
jne 0x432230
mov eax, dword [ebp - 0x1c]
mov edi, dword [ebp - 8]
add dword [ebp + 0x10], eax
sub edi, eax
test edi, edi
mov dword [ebp - 8], edi
jg 0x432150
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x24]
mov edx, dword [ebp + 0x14]
lea eax, [edx + eax*4]
mov edx, dword [ebp + 0xc]
mov dword [ebp + 0x14], eax
mov eax, dword [edx + 0x24]
mov edx, dword [ebp - 4]
lea edx, [edx + eax*4]
add ecx, eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 4], edx
mov edx, dword [ebp + 0x18]
add eax, 1
cmp eax, dword [edx + 0xc]
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x14], eax
jl 0x432130
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
mov eax, dword [edx + 0x64]
call eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18
mov ebx, dword [ebp + 0x1c]
mov eax, ebx
call fcn.00404a40
test al, al
je 0x43245d
cmp dword [edi + 0xc], 0
mov dword [ebp - 0x10], 0
jle 0x432dea
lea esp, [esp]
cmp dword [edi + 8], 0
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp - 4]
mov dword [ebp + 0x10], eax
mov dword [ebp - 0x14], 0
jle 0x43241a
lea ebx, [ebx]
mov ebx, dword [edx]
mov ecx, dword [ebp + 0x10]
mov ecx, dword [ecx]
add edx, 4
mov eax, ebx
shr eax, 0x18
mov dword [ebp - 0x20], edx
mov dword [ebp + 0x1c], eax
je 0x432404
mov edi, ecx
shr edi, 0x18
mov esi, 0xff
sub esi, edi
imul esi, eax
mov eax, 0x80808081
imul esi
mov eax, dword [ebp + 0x1c]
add edx, esi
imul eax, eax, 0xff
sar edx, 7
mov esi, edx
shr esi, 0x1f
add esi, edx
add esi, edi
cdq
idiv esi
mov edi, ecx
and edi, 0xff00ff
mov edx, 0x100
and ecx, 0xff00
shl esi, 0x18
sub edx, eax
mov dword [ebp + 0x1c], eax
imul edi, edx
imul ecx, edx
mov edx, dword [ebp - 0x20]
mov eax, ebx
and eax, 0xff00ff
imul eax, dword [ebp + 0x1c]
and ebx, 0xff00
imul ebx, dword [ebp + 0x1c]
shr edi, 8
shr eax, 8
add edi, eax
mov eax, dword [ebp + 0x10]
shr ecx, 8
shr ebx, 8
and edi, 0xff00ff
add ecx, ebx
and ecx, 0xff00
or edi, ecx
or edi, esi
mov dword [eax], edi
mov edi, dword [ebp + 0x18]
add eax, 4
mov dword [ebp + 0x10], eax
jmp 0x432408
add dword [ebp + 0x10], 4
mov eax, dword [ebp - 0x14]
add eax, 1
cmp eax, dword [edi + 8]
mov dword [ebp - 0x14], eax
jl 0x432350
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x24]
mov eax, dword [ebp + 0x14]
lea ecx, [eax + edx*4]
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 0x24]
mov dword [ebp + 0x14], ecx
mov ecx, dword [ebp - 4]
lea edx, [ecx + eax*4]
mov eax, dword [ebp - 0x10]
add eax, 1
cmp eax, dword [edi + 0xc]
mov dword [ebp - 4], edx
mov dword [ebp - 0x10], eax
jl 0x432330
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
mov eax, dword [edx + 0x64]
call eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebx]
mov dword [ebp - 0x18], eax
mov eax, dword [ebx + 4]
cmp ecx, eax
mov ebx, dword [ebx + 8]
mov dword [ebp + 0x10], ecx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], ebx
jne 0x4325dd
cmp eax, ebx
jne 0x4325dd
cmp dword [edi + 0xc], 0
mov dword [ebp - 0xc], 0
jle 0x432dea
cmp dword [edi + 8], 0
mov ecx, dword [ebp + 0x14]
mov esi, dword [ebp - 4]
mov dword [ebp + 0x1c], ecx
mov dword [ebp - 0x10], 0
jle 0x43259a
nop
mov edx, dword [ebp + 0x1c]
mov ebx, dword [edx]
mov ecx, dword [esi]
mov edx, ecx
shr edx, 0x18
imul edx, dword [ebp - 0x18]
mov eax, 0x80808081
mul edx
add esi, 4
shr edx, 7
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x14], edx
je 0x432584
mov edi, ebx
shr edi, 0x18
mov esi, 0xff
sub esi, edi
imul esi, edx
mov eax, 0x80808081
imul esi
mov eax, dword [ebp - 0x14]
add edx, esi
imul eax, eax, 0xff
sar edx, 7
mov esi, edx
shr esi, 0x1f
add esi, edx
add esi, edi
cdq
idiv esi
mov edx, 0x100
mov edi, ebx
and edi, 0xff00ff
and ebx, 0xff00
shl esi, 0x18
sub edx, eax
mov dword [ebp - 0x14], edx
imul edi, dword [ebp - 0x14]
imul ebx, dword [ebp - 0x14]
mov edx, ecx
and edx, 0xff00ff
imul edx, dword [ebp + 0x10]
and ecx, 0xff00
imul ecx, eax
imul ecx, dword [ebp + 0x10]
shr edx, 8
and edx, 0xff00ff
imul edx, eax
mov eax, dword [ebp + 0x1c]
shr edx, 8
shr edi, 8
add edx, edi
mov edi, dword [ebp + 0x18]
shr ecx, 0x10
shr ebx, 8
add ecx, ebx
and edx, 0xff00ff
and ecx, 0xff00
or edx, ecx
or edx, esi
mov esi, dword [ebp - 0x20]
mov dword [eax], edx
add eax, 4
mov dword [ebp + 0x1c], eax
jmp 0x432588
add dword [ebp + 0x1c], 4
mov eax, dword [ebp - 0x10]
add eax, 1
cmp eax, dword [edi + 8]
mov dword [ebp - 0x10], eax
jl 0x4324b0
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x24]
mov edx, dword [ebp + 0x14]
lea eax, [edx + ecx*4]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 0x24]
mov dword [ebp + 0x14], eax
mov eax, dword [ebp - 4]
lea ecx, [eax + edx*4]
mov eax, dword [ebp - 0xc]
add eax, 1
cmp eax, dword [edi + 0xc]
mov dword [ebp - 4], ecx
mov dword [ebp - 0xc], eax
jl 0x432495
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
mov eax, dword [edx + 0x64]
call eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18
cmp dword [edi + 0xc], 0
mov dword [ebp - 0x1c], 0
jle 0x432dea
mov edi, edi
cmp dword [edi + 8], 0
mov esi, dword [ebp + 0x14]
mov edx, dword [ebp - 4]
mov dword [ebp - 8], esi
mov dword [ebp - 0x14], edx
mov dword [ebp - 0xc], 0
jle 0x43270f
lea ecx, [ecx]
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
mov ebx, dword [esi]
mov edx, ecx
shr edx, 0x18
imul edx, dword [ebp - 0x18]
add eax, 4
mov dword [ebp - 0x14], eax
mov eax, 0x80808081
mul edx
shr edx, 7
mov dword [ebp + 0x1c], edx
je 0x4326f7
mov edi, ebx
shr edi, 0x18
mov esi, 0xff
sub esi, edi
imul esi, edx
mov eax, 0x80808081
imul esi
mov eax, dword [ebp + 0x1c]
add edx, esi
imul eax, eax, 0xff
sar edx, 7
mov esi, edx
shr esi, 0x1f
add esi, edx
add esi, edi
cdq
idiv esi
mov edi, ecx
and edi, 0xff0000
mov edx, 0x100
shl esi, 0x18
imul edi, eax
sub edx, eax
mov dword [ebp + 0x1c], eax
shr edi, 8
imul edi, dword [ebp + 0x10]
mov eax, ebx
and eax, 0xff0000
imul eax, edx
mov dword [ebp - 0x10], edx
movzx edx, cl
imul edx, dword [ebp + 0x1c]
imul edx, dword [ebp - 0x20]
and ecx, 0xff00
imul ecx, dword [ebp + 0x1c]
imul ecx, dword [ebp - 0x24]
shr edi, 8
shr eax, 8
add edi, eax
movzx eax, bl
imul eax, dword [ebp - 0x10]
and ebx, 0xff00
imul ebx, dword [ebp - 0x10]
shr edx, 0x10
shr eax, 8
shr ecx, 0x10
and edi, 0xff0000
add edx, eax
shr ebx, 8
and edx, 0xff
add ecx, ebx
or edi, edx
and ecx, 0xff00
or edi, ecx
or edi, esi
mov esi, dword [ebp - 8]
mov dword [esi], edi
mov edi, dword [ebp + 0x18]
mov eax, dword [ebp - 0xc]
add eax, 1
add esi, 4
cmp eax, dword [edi + 8]
mov dword [ebp - 8], esi
mov dword [ebp - 0xc], eax
jl 0x432610
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x24]
mov eax, dword [ebp + 0x14]
lea ecx, [eax + edx*4]
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 0x24]
mov dword [ebp + 0x14], ecx
mov ecx, dword [ebp - 4]
lea edx, [ecx + eax*4]
mov eax, dword [ebp - 0x1c]
add eax, 1
cmp eax, dword [edi + 0xc]
mov dword [ebp - 4], edx
mov dword [ebp - 0x1c], eax
jl 0x4325f0
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
mov eax, dword [edx + 0x64]
call eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18
mov eax, dword [edi + 4]
mov ecx, dword [ebp + 0xc]
imul eax, dword [ecx + 0x24]
add eax, dword [esi + 0x4c]
mov edx, dword [ebx]
add eax, dword [edi]
mov ecx, ebx
mov dword [ebp - 4], eax
mov eax, dword [edx + 0x7c]
call eax
mov ecx, dword [ebx + 0x24]
imul ecx, dword [ebp + 0x14]
add ecx, dword [ebp + 0x10]
cmp byte [ebx + 0x52], 0
lea edx, [eax + ecx*4]
mov dword [ebp + 0x14], edx
jne 0x4329ad
cmp byte [ebx + 0x51], 0
jne 0x4329ad
mov ebx, dword [ebp + 0x1c]
mov eax, 0x6408f8
mov ecx, ebx
call fcn.00404a80
test al, al
jne 0x4329b0
mov eax, dword [esi]
mov edx, dword [eax + 0x48]
mov ecx, esi
call edx
mov ecx, dword [edi + 4]
mov edx, dword [ebp + 0xc]
imul ecx, dword [edx + 0x24]
add ecx, dword [edi]
mov dword [ebp - 0x14], 0
add ecx, eax
cmp dword [edi + 0xc], 0
mov dword [ebp - 0x18], ecx
jle 0x432dea
mov eax, dword [ebp + 0x18]
mov edi, dword [eax + 8]
test edi, edi
mov esi, dword [ebp + 0x14]
mov edx, dword [ebp - 4]
mov dword [ebp + 0x10], ecx
mov dword [ebp - 0xc], edi
jle 0x432968
lea ecx, [ecx]
movzx ecx, byte [edx]
mov eax, dword [ebp - 8]
mov ecx, dword [eax + ecx*4]
mov eax, dword [ebp + 0x10]
mov al, byte [eax]
movzx ebx, al
cmp ebx, edi
mov byte [ebp + 0x1f], al
jle 0x43280e
mov al, byte [ebp - 0xc]
mov byte [ebp + 0x1f], al
mov ebx, ecx
shr ebx, 0x18
mov edi, 0x100
sub edi, ebx
cmp edi, 1
mov dword [ebp - 0x24], edi
jne 0x43284a
movzx eax, al
test eax, eax
jle 0x432952
mov edi, dword [ebp - 8]
mov ecx, eax
movzx ebx, byte [edx]
mov ebx, dword [edi + ebx*4]
mov dword [esi], ebx
add esi, 4
add edx, 1
sub ecx, 1
jne 0x432832
jmp 0x432952
cmp edi, 0x100
jne 0x43285f
movzx eax, al
lea esi, [esi + eax*4]
add edx, eax
jmp 0x432952
mov eax, 0x100
sub eax, edi
mov dword [ebp - 0x1c], eax
mov eax, dword [esi]
mov ebx, eax
and ebx, 0xff00ff
imul ebx, edi
mov edi, ecx
and eax, 0xff00
imul eax, dword [ebp - 0x24]
and edi, 0xff00ff
imul edi, dword [ebp - 0x1c]
and ecx, 0xff00
imul ecx, dword [ebp - 0x1c]
shr ebx, 8
shr eax, 8
shr edi, 8
add ebx, edi
shr ecx, 8
add eax, ecx
and ebx, 0xffff00ff
and eax, 0xff00
or ebx, eax
movzx eax, byte [ebp + 0x1f]
or ebx, 0xff000000
mov dword [esi], ebx
add edx, 1
add esi, 4
cmp eax, 1
mov dword [ebp - 0x20], eax
jle 0x432952
add eax, 0xffffffff
mov dword [ebp + 0x1c], eax
movzx ecx, byte [edx]
mov eax, dword [ebp - 8]
mov ecx, dword [eax + ecx*4]
mov eax, dword [esi]
add edx, 1
mov dword [ebp - 0x1c], edx
mov edx, ecx
mov ebx, eax
shr edx, 0x18
and ebx, 0xff00ff
mov edi, 0x100
sub edi, edx
imul ebx, edi
mov dword [ebp - 0x24], edi
mov edi, ecx
and eax, 0xff00
imul eax, dword [ebp - 0x24]
and edi, 0xff00ff
and ecx, 0xff00
imul edi, edx
imul ecx, edx
mov edx, dword [ebp - 0x1c]
shr ebx, 8
shr eax, 8
shr edi, 8
add ebx, edi
shr ecx, 8
add eax, ecx
and ebx, 0xffff00ff
and eax, 0xff00
or ebx, eax
or ebx, 0xff000000
mov dword [esi], ebx
add esi, 4
sub dword [ebp + 0x1c], 1
jne 0x4328d6
mov eax, dword [ebp - 0x20]
mov edi, dword [ebp - 0xc]
add dword [ebp + 0x10], eax
sub edi, eax
test edi, edi
mov dword [ebp - 0xc], edi
jg 0x4327f0
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x24]
mov edx, dword [ebp + 0x14]
lea eax, [edx + eax*4]
mov edx, dword [ebp + 0xc]
mov dword [ebp + 0x14], eax
mov eax, dword [edx + 0x24]
add dword [ebp - 4], eax
mov edx, dword [ebp + 0x18]
add ecx, eax
mov eax, dword [ebp - 0x14]
add eax, 1
cmp eax, dword [edx + 0xc]
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], eax
jl 0x4327d3
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
mov eax, dword [edx + 0x64]
call eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18
mov ebx, dword [ebp + 0x1c]
mov eax, ebx
call fcn.00404a40
test al, al
je 0x432afe
cmp dword [edi + 0xc], 0
mov dword [ebp - 0x18], 0
jle 0x432dea
cmp dword [edi + 8], 0
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp - 4]
mov dword [ebp + 0x10], eax
mov dword [ebp - 0x1c], 0
jle 0x432ac1
lea ebx, [ebx]
movzx ecx, byte [edx]
mov eax, dword [ebp - 8]
mov ebx, dword [eax + ecx*4]
mov ecx, dword [ebp + 0x10]
mov ecx, dword [ecx]
add edx, 1
mov eax, ebx
shr eax, 0x18
mov dword [ebp - 0x24], edx
mov dword [ebp + 0x1c], eax
je 0x432aab
mov edi, ecx
shr edi, 0x18
mov esi, 0xff
sub esi, edi
imul esi, eax
mov eax, 0x80808081
imul esi
mov eax, dword [ebp + 0x1c]
add edx, esi
imul eax, eax, 0xff
sar edx, 7
mov esi, edx
shr esi, 0x1f
add esi, edx
add esi, edi
cdq
idiv esi
mov edi, ecx
and edi, 0xff00
mov edx, 0x100
and ecx, 0xff00ff
shl esi, 0x18
sub edx, eax
mov dword [ebp + 0x1c], eax
imul edi, edx
imul ecx, edx
mov edx, dword [ebp - 0x24]
mov eax, ebx
and eax, 0xff00
imul eax, dword [ebp + 0x1c]
and ebx, 0xff00ff
imul ebx, dword [ebp + 0x1c]
shr edi, 8
shr eax, 8
add edi, eax
mov eax, dword [ebp + 0x10]
shr ecx, 8
shr ebx, 8
and edi, 0xff00
add ecx, ebx
and ecx, 0xff00ff
or edi, ecx
or edi, esi
mov dword [eax], edi
mov edi, dword [ebp + 0x18]
add eax, 4
mov dword [ebp + 0x10], eax
jmp 0x432aaf
add dword [ebp + 0x10], 4
mov eax, dword [ebp - 0x1c]
add eax, 1
cmp eax, dword [edi + 8]
mov dword [ebp - 0x1c], eax
jl 0x4329f0
mov ecx, dword [ebp + 8]
mov eax, dword [ebp + 0x14]
mov edx, dword [ecx + 0x24]
lea ecx, [eax + edx*4]
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 0x24]
add dword [ebp - 4], eax
mov eax, dword [ebp - 0x18]
add eax, 1
cmp eax, dword [edi + 0xc]
mov dword [ebp + 0x14], ecx
mov dword [ebp - 0x18], eax
jl 0x4329d0
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
mov eax, dword [edx + 0x64]
call eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18
mov ecx, dword [ebx + 0xc]
mov eax, dword [ebx + 4]
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebx]
cmp ecx, eax
mov ebx, dword [ebx + 8]
mov dword [ebp + 0x10], ecx
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], ebx
jne 0x432c85
cmp eax, ebx
jne 0x432c85
cmp dword [edi + 0xc], 0
mov dword [ebp - 0x14], 0
jle 0x432dea
mov eax, dword [ebp + 0x14]
mov esi, dword [ebp - 4]
lea esp, [esp]
cmp dword [edi + 8], 0
mov dword [ebp + 0x1c], eax
mov dword [ebp - 0x18], 0
jle 0x432c4b
movzx edx, byte [esi]
mov eax, dword [ebp - 8]
mov ecx, dword [eax + edx*4]
mov edx, dword [ebp + 0x1c]
mov ebx, dword [edx]
mov edx, ecx
shr edx, 0x18
imul edx, dword [ebp - 0x10]
mov eax, 0x80808081
mul edx
add esi, 1
shr edx, 7
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x1c], edx
je 0x432c2f
mov edi, ebx
shr edi, 0x18
mov esi, 0xff
sub esi, edi
imul esi, edx
mov eax, 0x80808081
imul esi
mov eax, dword [ebp - 0x1c]
add edx, esi
imul eax, eax, 0xff
sar edx, 7
mov esi, edx
shr esi, 0x1f
add esi, edx
add esi, edi
cdq
idiv esi
mov edx, 0x100
mov edi, ebx
and edi, 0xff00ff
and ebx, 0xff00
shl esi, 0x18
sub edx, eax
mov dword [ebp - 0x1c], edx
imul edi, dword [ebp - 0x1c]
imul ebx, dword [ebp - 0x1c]
mov edx, ecx
and edx, 0xff00ff
imul edx, dword [ebp + 0x10]
and ecx, 0xff00
imul ecx, eax
imul ecx, dword [ebp + 0x10]
shr edx, 8
and edx, 0xff00ff
imul edx, eax
mov eax, dword [ebp + 0x1c]
shr edx, 8
shr edi, 8
add edx, edi
mov edi, dword [ebp + 0x18]
shr ecx, 0x10
shr ebx, 8
add ecx, ebx
and edx, 0xff00ff
and ecx, 0xff00
or edx, ecx
or edx, esi
mov esi, dword [ebp - 0x24]
mov dword [eax], edx
add eax, 4
mov dword [ebp + 0x1c], eax
jmp 0x432c33
add dword [ebp + 0x1c], 4
mov eax, dword [ebp - 0x18]
add eax, 1
cmp eax, dword [edi + 8]
mov dword [ebp - 0x18], eax
jl 0x432b54
mov esi, dword [ebp - 4]
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x24]
mov ecx, dword [ebp + 0xc]
add esi, dword [ecx + 0x24]
mov ecx, dword [ebp - 0x14]
add ecx, 1
cmp ecx, dword [edi + 0xc]
lea eax, [eax + edx*4]
mov dword [ebp + 0x14], eax
mov dword [ebp - 4], esi
mov dword [ebp - 0x14], ecx
jl 0x432b40
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
mov eax, dword [edx + 0x64]
call eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18
cmp dword [edi + 0xc], 0
mov dword [ebp - 0x20], 0
jle 0x432dea
mov eax, dword [ebp - 4]
mov esi, dword [ebp + 0x14]
lea esp, [esp]
cmp dword [edi + 8], 0
mov dword [ebp - 0xc], esi
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x14], 0
jle 0x432dc3
mov eax, dword [ebp - 0x1c]
movzx edx, byte [eax]
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx + edx*4]
mov ebx, dword [esi]
mov edx, ecx
shr edx, 0x18
imul edx, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x1c], eax
mov eax, 0x80808081
mul edx
shr edx, 7
mov dword [ebp + 0x1c], edx
je 0x432da5
mov edi, ebx
shr edi, 0x18
mov esi, 0xff
sub esi, edi
imul esi, edx
mov eax, 0x80808081
imul esi
mov eax, dword [ebp + 0x1c]
add edx, esi
imul eax, eax, 0xff
sar edx, 7
mov esi, edx
shr esi, 0x1f
add esi, edx
add esi, edi
cdq
idiv esi
mov edi, ecx
and edi, 0xff0000
mov edx, 0x100
shl esi, 0x18
imul edi, eax
sub edx, eax
mov dword [ebp + 0x1c], eax
shr edi, 8
imul edi, dword [ebp + 0x10]
mov eax, ebx
and eax, 0xff0000
imul eax, edx
mov dword [ebp - 0x18], edx
movzx edx, cl
imul edx, dword [ebp + 0x1c]
imul edx, dword [ebp - 0x24]
and ecx, 0xff00
imul ecx, dword [ebp + 0x1c]
imul ecx, dword [ebp - 0x28]
shr edi, 8
shr eax, 8
add edi, eax
movzx eax, bl
imul eax, dword [ebp - 0x18]
and ebx, 0xff00
imul ebx, dword [ebp - 0x18]
shr edx, 0x10
shr eax, 8
shr ecx, 0x10
and edi, 0xff0000
add edx, eax
shr ebx, 8
and edx, 0xff
add ecx, ebx
or edi, edx
and ecx, 0xff00
or edi, ecx
or edi, esi
mov esi, dword [ebp - 0xc]
mov dword [esi], edi
mov edi, dword [ebp + 0x18]
mov eax, dword [ebp - 0x14]
add eax, 1
add esi, 4
cmp eax, dword [edi + 8]
mov dword [ebp - 0xc], esi
mov dword [ebp - 0x14], eax
jl 0x432cb7
mov eax, dword [ebp - 4]
mov esi, dword [ebp + 0x14]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x24]
mov ecx, dword [ebp + 0xc]
add eax, dword [ecx + 0x24]
mov ecx, dword [ebp - 0x20]
add ecx, 1
cmp ecx, dword [edi + 0xc]
lea esi, [esi + edx*4]
mov dword [ebp + 0x14], esi
mov dword [ebp - 4], eax
mov dword [ebp - 0x20], ecx
jl 0x432ca0
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
mov eax, dword [edx + 0x64]
call eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18